24小时热门版块排行榜    

查看: 1646  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

markwu4

铜虫 (著名写手)

[求助] 请有comsol license的人提供我Knowledgebase 103/952 已有2人参与

有license的人请提供我Knowledgebase 103, 952内容 http://www.comsol.com/support/knowledgebase/103/
http://www.comsol.com/support/knowledgebase/952/
我算出负的浓度
听说里面有一些技巧可以解决这类问题
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tang6920

铜虫 (正式写手)

送红花一朵
请问楼主问题解决了吗?
6楼2015-03-20 22:06:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

gzq198765

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
markwu4: 金币+10, ★★★很有帮助 2014-10-15 18:51:46
可以使用max(k,eps)来表示,k是浓度,eps是默认极小值,这个函数的意思是取其中的大者,就可以避免出现浓度负值了。
2楼2014-10-14 09:48:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

markwu4

铜虫 (著名写手)

引用回帖:
2楼: Originally posted by gzq198765 at 2014-10-14 09:48:38
可以使用max(k,eps)来表示,k是浓度,eps是默认极小值,这个函数的意思是取其中的大者,就可以避免出现浓度负值了。

请问我要加在哪里? 我希望在计算过程中随时保持浓度为正值。谢谢。
3楼2014-10-14 16:05:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

albertwowwow

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
markwu4: 金币+10, ★★★★★最佳答案, 谢谢 因为一半已经分给第一个应助者 2014-10-16 06:48:48
Description

Stationary models with high reaction rates, Ri, or more generally, large source terms, may result in convergence problems. You can for instance get error messages such as "No convergence, even when using the minimum damping factor", "NaN repeatedly found in solution", or "Error: Failed to find a solution". Now what could you do to get around this problem?

Try to solve the problem using reduced source terms, and then gradually increase them, using the previous solution when solving, until you reach the solution to your original problem. The following approach uses the parametric solver to gradually increase the source term.
COMSOL Multiphysics 4 and later

    Multiply the reaction (source) term (Ri) by a multiplication factor variable, for example "k".
    Click the Stationary node and select the Auxiliary sweep (in version 4.4) or Continuation (in earlier versions) check box. Enter k as the Sweep parameter
    In Parameter values, enter a range of increasing values, starting at a low value and increasing to unity, for example "1e-3 1e-2 1e-1 1".
    Click Compute.

COMSOL Multiphysics 3.5a and earlier

    Multiply the reaction (source) term (Ri) by a multiplication factor variable, for example "k".
    In the *'Solver Parameters** dialog box, select the Parametric Solver and specify Name of Parameter to that of the multiplication factor, k.
    Enter the List of Parameter Values as a range of increasing values, starting at a low value and increasing to unity, for example "1e-3 1e-2 1e-1 1". Click OK.
    Click Solve.

COMSOL Multiphysics will now start to solve the problem using the first multiplication factor. Then, if that works, the solution will be used as the initial guess for the next parameter value. This process will continue until the last parameter value is reached. Because you specified the last parameter value to be unity, the last solution will correspond to your original problem formulation.

Use the time dependent solver. By making the problem time dependent, you usually get a smoother convergence.
COMSOL Multiphysics 4 and later

    Right-click the Model node and select Add Study. Select Time Dependent and click Finish.
    In the Times edit field, enter a range of times to solve for, for example "0 1e3".
    Click Compute.

COMSOL Multiphysics 3.5a and earlier

    Open Solver Parameters.
    Select the Time dependent solver and specify a range of Times to solve for, for example 0 1e3".
    Click OK, then Solve.

Make sure to solve the problem for large enough times, such that the solution does not vary any longer. This implies that the solution has reached steady-state. Thus, COMSOL Multiphysics has calculated the stationary solution! If the solution process never gets past t = 0, see Solution 964 for more information.

If none of the previous methods would help, try using them in combination with refining the mesh in regions where the source term is large.
这个是103的
4楼2014-10-16 06:14:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见