c o m s o l操作技巧-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANcomsol操作技巧下面是本人在利用comsol解决实际问题时碰到的一些问题,通过上网查询,以及自己想出的方法进行解决,很多是网络是无法直接查询到,希望和大家一起分享,也许其中的某条正是你下载冥思苦想要解决的问题,希望能够帮到你。
上网查找的部分如有侵权,请告之删除,谢谢!(一)利用comsol的计算源程序,来建立新的循环计算如果需要利用其它计算后的数值代入到comsol进行后计算,这就不可避免的要利用comsol的源程序进行后学的连续计算,这里主要需解决在次计算利用上次计算初始值的问题,下面两段就是有无利用上次计算结果作为初始值的程序:%正常的求解% Solve problem=femtime(fem, ...'solcomp',{'T'}, ...'outcomp',{'T'}, ...'blocksize','auto', ...'tlist',[colon(0,,1)], ...'estrat',1, ...'tout','tlist', ...'linsolver','gmres', ...'itrestart',100, ...'prefuntype','right', ...'prefun','gmg', ...'prepar',{'presmooth','ssor','presmoothpar',{'iter',3,'relax',},'postsmooth' ,'ssor','postsmoothpar',{'iter',3,'relax',},'csolver','pardiso'}, ...'mcase',[0 1]);%将上次求解结果作为下次计算的初始值的求解% Mapping current solution to extended meshinit = asseminit(fem,'init',,'xmesh',,'blocksize','auto');%(此处是关键)% Solve problem=femtime(fem, ...'init',init, ... %(此处是关键)'solcomp',{'T'}, ...'outcomp',{'T'}, ...'blocksize','auto', ...'tlist',[colon(0,,1)], ...'estrat',1, ...'tout','tlist', ...'linsolver','gmres', ...'itrestart',100, ...'prefuntype','right', ...'prefun','gmg', ...'prepar',{'presmooth','ssor','presmoothpar',{'iter',3,'relax',},'postsmooth' ,'ssor','postsmoothpar',{'iter',3,'relax',},'csolver','pardiso'}, ...'mcase',[0 1]);(二)对常数进行赋值下面一段程序是comsol中常数的赋值语句:% Constants= {'U0','', ...'I0','35', ...'It1','35', ...'It2','35', ...'It3','35', ...'It4','35', ...'Vt1','4', ...'Vt2','4', ...'Vt3','4', ...'Vt4','4', ...'OpenVt1','', ...'OpenVt2','', ...'OpenVt3','', ...'OpenVt4',''};我们可以通过以下语句对其中的35,4,进行修改It1=700;It2=700;It3=700;It4=700;(1,6)={It1};(1,8)={It2};(1,10)={It3};(1,12)={It4};这样就可以实现常量变成变量,进行计算了(三)启动COMSOL with MATLAB 2007b时,MATLAB和COMSOL Multiphysics用户界面都没有出现该问题多出现在Windows上使用COMSOL with MATLAB 2007b,MATLAB 2007a及更早的版本没有这种问题。