您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 常用的COMSOL操作符和数学函数
常用的COMSOL操作符和数学函数(2012-06-2115:30:08)转载▼标签:comsolit分类:Comsol算符d(f,x)f对x方向的微分1.使用d算符来计算一个变量对另一个变量的导数,如:d(T,x)指变量T对x求导,而d(u^2,u)=2*u等;2.如果模型中含有任何独立变量,建模中使用d算符会使模型变为非线性;3.在解的后处理上使用d算符,可以使用一些预置的变量,如:uxx,d(ux,x),d(d(u,x),x)都是等效的;4.pd算符与d算符类似,但对独立变量不使用链式法则;5.d(E,TIME)求解表达式E的时间导数;6.dtang算符可以计算表达式在边界上的切向微分(d算符无法计算),在求解域上使用dtang等价于d,dtang只求解对坐标变量的微分,但需要注意的是并不是所有的量都有切向微分。pd(f,x)f对x方向的微分pd和d的区别:d(u+x,x)=ux+1,d(u,t)=ut,u和x,t等有关pd(u+x,x)=1,pd(u,t)=0,u是独立的和x,t无关dtang(f,x)边界上f对x的切向微分在边界上d(u,x)不能定义,但是可以使用dtang(u,x),dtang付出基本的微分法则,如乘积法则和链式法则,但是需要指出的是,dtang(x,x)不一定等于1。test(expr)试函数用于方程弱形式的算符,test(F(u,∇u))等价于:var(expr,fieldname1,fieldname2,...)变异算子用于弱形式,它和test算符功能相同,但是仅用于某些特定的场中;如var(F(u,∇u,v,∇v),a),变量u是a场的变量,而v不是。试函数之只作用于变量u。nojac(expr)对Jacobian矩阵没有贡献将表达式排除在Jacobian计算外,这对那些对Jacobian贡献不大,但是计算消耗很大的变量是否有效;k-e湍流模型就是利用nojac算符来提高计算性能的例子。up(expr)上邻近估算表达式up,down,mean算符只能用在边界上,对于一个表达式或变量在边界处两边不连续,COMSOL通常显示边界的平均值,使用up,down可计算某个方向上的值。down(expr)下邻近估算表达式mean(expr)邻近边界上的平均值depends(expr)查看某个表达式是否依赖于求解结果isdefined(variable)变量是否定义dest(expr)在目标端计算积分耦合表达式dest算符强制将sourcepoints上的表达式用在destinationpoints上。例如:u/((dest(x)-x)^2+(dest(y)-y)^2)if(cond,expr1,expr2)条件表达式例如:if(x==0,1,sin(x)/x)isinf(expr)表达式的值是否是无穷大islinear(expr)解是否是线性函数isnan(expr)表达式是否是非数with调用某个解例如with(3,u^2)指调用解3的u^2用于本次求解;with只能用于解的后处理,不能用于建模;at调用解的某个时间例如:at(12.5,u)timeint表达式的时间积分timeint(t1,t2,expr,tol,minlen),t1,t2需要是实数,expr是表达式,tol是容差,默认大小为1e-8,minlen设置积分的最短路径,它需要是正数,默认长度为1e-6。timeint只能用于解的后处理,不能用于建模;timeavg表达式的时间积分平均值timeavg(t1,t2,expr,tol,minlen)linpoint调用线性化点lindev计算在线性化点的表达式当解存储了一个线性化点,那么表达式在线性化点上先线性化,然后用当前的解来计算;特别的:当f线性依赖于解,那么lindev(f)=f,如果不依赖则lindev(f)=0;如果解没有线性化点,那么会报错;lintotal调用线性化点的和和线性扰动lintotalavg在各相中计算平均lintotallintotalrms在各相中计算lintotal的RMSlintotalrms(f)=sqrt(lintotalavg(abs(f)^2))lintotalpeak在各相中计算lintotal的最大值linsol调用标准解,如linpoint或lintotallinzero计算表达式的根linper标记一个荷载项用于线性扰动求解器ppr精确的派生修复用polynomial-preservingrecovery计算表达式中所有用lagrange形函数差分的变量,如e=ux+vyppr(e^2)=(ppr(ux)+ppr(vy))^2pprint在各求解域群中精确派生修复用这些操作符来计算梯度计算中的离散误差ux-pprint(ux)reacf反应力和反应流的精确积分用于表面积分,如在结构力学中,u,v与x,y位移有关,用reacf(u),reaf(v)计算x,y方向上的反应力;reacf在弱贡献中无效;adj(expr)用伴随灵敏度计算表达式fsens(expr)用函数灵敏度计算表达式sens(expr,i)用第二个参数向前灵敏度计算表达式∂u/∂q=sens(u,q)realdot(a,b)两个复数的点积realdot(a,b),real(a*conj(b))shapeorder(variable)差分一个变量使用的单元级数prev(expr,i)在i步前计算表达式向后Euler法:(u-prev(u,1))/timestepbdf(expr,i)应用级数为i的向后差分公式bdf(u,1)=(u-prev(u,1))/timestepsubst(expr,expr1_orig,,expr1_subst,...)用其他变量或表达式替换一个表达式subst(hmnf.nutildeinit,p,pin_stat)circint(r,expr),circavg(r,expr),diskint(r,expr),diskavg(r,expr),sphint(r,expr),sphavg(r,expr),ballint(r,expr),ballavg(r,expr)计算在一个特殊的形状,曲率为r时的表达式积分或平均值scope.ati(coordinate计算表达式在i维下的表达式coordinateexprs值root.mod1.at1(0,y,dom)在2D的一条边的点(0,y)上计算domexprs,expr)数学函数abs绝对值abs(x)acos反余弦acos(x)acosh反双曲余弦(inradians)acosh(x)acot反余切(inradians)acot(x)acoth反双曲余切(inradians)acoth(x)acsc反余割(inradians)acsc(x)acsch反双曲余割(inradians)acsch(x)arg相位角(inradians)arg(x)asec反正割(inradians)asec(x)asech反双曲正割(inradians)asech(x)asin反正弦(inradians)asin(x)asinh反双曲正弦(inradians)asinh(x)atan反正切(inradians)atan(x)atan2四象限反正切(inradians)atan2(y,x)atanh反双曲正切(inradians)atanh(x)besselj一类Bessel函数besselj(a,x)bessely二类Bessel函数bessely(a,x)besseli一类改性Bessel函数besseli(a,x)besselk二类改性Bessel函数besselk(a,x)ceil上约数ceil(x)conj复共轭conj(x)cot余切cot(x)coth双曲余切coth(x)csc余割csc(x)csch双曲余割csch(x)eps相对精度epserf误差函数erf(x)exp指数函数exp(x)floor下约数floor(x)gammaGamma函数gamma(x)i,j虚数单位iimag虚部imag(u)inf无穷inflog自然对数lnlog(x)log10对数,底数为10log10(x)log2对数,底数为2log2(x)max最大值max(a,b)min最小值min(a,b)mod取模mod(a,b)NaN,非数nanpiPipipsiPsi函数和它的衍生物psi(x,k)range建立一个数列range(a,step,b)real实部real(u)round四舍五入round(x)sec正割sec(x)sech双曲正割sech(x)sign符号函数sign(u)sin正弦sin(x)sinh双曲正弦sinh(x)sqrt根号sqrt(x)tan正切tan(x)tanh双曲正切tanh(x)预置的变量TimetFrequencyfreqEigenvalueslambdaPositionx,y,z,r,X,Y,Z,REdge/surfaceparameterss,s1,s2Edge/surfacenormalsn,nx,ny,nz,nrEdgetangentstx,ty,tz,trSurfacetangentst1x,t1y,t1z,t2x,t2y,t2zEdge/surfaceupwardnormalsun,unx,uny,unz,参考方向的左边Edge/surfacedownwardnormalsdn,dnx,dny,dnz,参考方向的右边Numericalconstantseps,i,j,piMeshinformationh,dom,meshtype,meshelement,dvol,qual,reldetjac,reldetjacminrange函数的用法range(a,(b-a)/(n-1),b)10^range(-3,3)产生:10-3,10-2,…,1031^range(1,10)产生10个1其他的平滑函数flsmhsy=flsmhs(x,scale)在阶跃的两端都存在连续过冲的平滑Heaviside函数。在-scalexscale处,flsmhs和flsmsign为7阶多项式,因此它的2阶导数仍然连续;它满足理想Heaviside函数,因此存在一定量的过冲。flsmsigny=flsmsign(x,scale)近似于符号函数y=sign(x)在-scalexscale处平滑过渡flc1hs不含过冲的一阶连续导数的平滑Heaviside函数,导数fldc1hsflc2hs不含过冲的二阶连续导数的平滑Heaviside函数,导数fldc2hs
本文标题:常用的COMSOL操作符和数学函数
链接地址:https://www.777doc.com/doc-2452104 .html