COMSOL中内置数学函数及内置运算符

前言

          最近想通过COMSOL实现一些比较高级的操作,就对内置数学函数和内置运算符相关章节的帮助文档进行了阅读。在COMSOL中使用各类算子及运算符能够在建模时起到很大的帮助,本文将对帮助文档中的相应章节进行翻译(粗略介绍),对于具体的用法,还需自行查阅相关的章节,特别是各类内置运算符,可以将本文收藏需要的时候再看。

一、内置数学函数

名称 描述 语法
abs 绝对值 abs(x)
acos 反余弦(弧度单位) acos(x)
acosh 反双曲余弦 acosh(x)
acot 反余切(弧度单位) acot(x)
acoth 反双曲余切 acoth(x)
acsc 反余割(弧度单位) acsc(x)
acsch 反双曲余割 acsch(x)
arg 相位角(弧度单位) arg(z)
asec 反正切(弧度单位) asec(x)
asech 反双曲正切 asech(x)
asin 反正弦(弧度单位) asin(x)
asinh 反双曲正弦 asinh(x)
atan 反正切(弧度单位) atan(x)
atan2 四象限反正切(弧度单位) atan2(y,x)
atanh 反双曲正切 atanh(x)
besselj 第一类贝塞尔函数 besselj (n,z)
bessely 第二类贝塞尔函数 bessely (n,z)
bessei 第一类修正贝塞尔函数 bessei(n,z)
besselk 第二类修正贝塞尔函数 besselk(n,z)
binomial 二项式系数 binomial(n,k)
ceil 最接近的整数 ceil (x)
conj 共轭复数 conj (x)
cos 余弦 cos(z)
cosh 双曲余弦 cosh(x)
cot 余切 cot(x)
coth 双曲余切 coth(x)
csc 余割 csc(z)
csch 双曲余割 csch(x)
erf 错误函数 erf (x)
erfinv 逆错误函数 erfinv(x)
exp 指数函数 exp(x)
factorial 非负整数的阶乘 factorial(n)
floor 最近前整数 floor (x)
gamma 伽马函数 gamma(x)
gcd 最大公约数 gcd(a,b)
imag 虚部 imag(x)
lcm 最小公倍数 lcm(a,b)
legendre Legendre多项式 legendre(l,x)
legendre(l,m,x)
log 自然对数 log(x)
log10 以10为底的对数 log10(x)
log2 以2为底的对数 log2(x)
max 两个参数的最大值 max(x,y)
min 两个参数的最小值 min(x,y)
mod 取模运算符 min(x,y)
poweps 幂函数 poweps(x,n)
psi 函数和它的导数 psi(k,x)
random 随机函数,均匀分布 random(x,y,…)
randomnormal 随机函数,高斯分布 randomnormal(x,y,…)
range 创建一个数字范围 range(start,step,end)
real 实部 real(x)
round 舍入到最接近的整数或指定精度p(十进制位数)的最接近的数字 round(x)
round(x,p)
sec 正割 sec(z)
sech 双曲正割 sech(x)
sign 符号函数 sign(x)
sin 正弦 sin(z)
sinh 双曲正弦 sinh(x)
sphericaly 球谐函数 sphericaly(l,m,theta,phi)
sphericalyr 实球谐函数 sphericalyr(l,m,theta,phi)
sqrt 平方根 sqrt(x)
sqrteps 对于需要在零附近求值的表达式的导数使用平方根 sqrteps(x)
tan 正切 tan(z)
tanh 双曲正切 tanh(x)
zernike Zernike多项式函数 zernike(n,m,r,phi)

二、内置运算符

         有特殊的内置运算符可用于建模和评估结果;这些操作符类似于函数,但行为不同。许多物理接口使用这些运算符来实现方程和特殊功能。

名称 描述
adj(expr) 使用伴随灵敏度评估表达式
at 随时访问解决方案
atlocal 计算表达式在给定的局部坐标在每个网格元素
attimemax
attimemin
在另一个表达式达到最大值或最小值时计算一个表达式
atxd
atonly
noxd
在额外维度中求值表达式
ballint(r,expr)
ballavg(r,expr)
circint(r,expr)
circavg(r,expr)
diskin(r,expr)
diskavg(r,expr)
sphint(r,expr)
sphavg(r,expr)
以半径r计算表达式在指定形状上的积分或平均值
bdf(expr,i) 对表达式应用i阶后向微分公式
bndenv(expr) 求表达式expr在粒子或射线在边界处的坐标。
centroid(expr) 在点所属的网格单元的质心中计算表达式expr
circumcenter(expr) 求表达式expr在该点所属的网格单元的圆周上的值
d(f,x) 微分算子,f关于x的微分
depends(expr)
depends(expr,var)
如果表达式expr分别依赖于解或var,则为True
dest(expr) 在目标端计算集成耦合表达式的部分
down(expr) 对表达式求值,定义在相邻的下端
dtang(f,x) 在边界上定义的表达式f对空间维度x的切向微分
elemint(gporder,expr) 使用指定的高斯点模式在每个网格元素上积分表达式
elemavg(gporder,expr) 使用指定的高斯点模式计算表达式的元素平均值
elemgpmin(gporder,expr) 求表达式的元素最小值高斯点与指定的模式
elemgpmax(gporder,expr) 求表达式的元素最大值高斯点与指定的模式
emetric(exprx,expry)
emetric(exprx,expry,exprz)
全局向量长度的平方(exprx, expry, exprz)在网格元素自己的度量中计算
env(expr) 求表达式expr在一个域内粒子或射线的坐标处的值
error(‘string’) 生成带有错误消息字符串的错误
frame.dt(expr) 计算对指定坐标系的时间导数
fsens§,fsensimag§ 相对于控制变量p的功能灵敏度。对控制变量p虚部的函数灵敏度
gpeval(gporder,expr)
gpeval(gporder,expr,exorder)
以指定的高斯点模式评估表达式,并将结果外推到输入评估点
if(cond,expr1,expr2) 根据条件的值计算第二个或第三个参数的条件表达式
integrate(expr,var,lower,upper) 求一般表达式对一个积分变量在实数区间内的上下限的积分
isdefined(variable) 在定义变量时返回1,在未定义变量时返回0
isinf(expr) 如果表达式的值为无穷大,则为True
islinear(expr) 如果表达式是解的线性函数,则为真
isnan(expr) 如果表达式的计算结果为NaN (not- number),则为True
jacdepends(expr)
jacdepends(expr,var)
如果表达式expr对解的导数分别依赖于解或var,则为真
laginterp(order,expr) 将表达式映射到指定顺序的拉格朗日字段,然后在每个网格元素中对该字段求值
lindev 计算在线性化点处线性化的表达式(当线性化点存储在解中时)
linper 标记要在线性摄动解算器中使用的负荷项
linpoint 访问线性化点(当线性化点存储在溶液中时)
linsol 访问标准解决方案(例如在linpoint或lintotal内部)
lintotal 获取线性化点和线性摄动的和
lintotalavg 评估所有阶段的总碱(expr)平均值
lintotalpeak 评估所有阶段的最大lintotal(expr)
lintotalrms 评估所有阶段的均方根值(expr)
linzero 用零解计算表达式
mean(expr) 在相邻边界上计算的表达式的平均值
nif(cond1,expr1,…,condn,exprn,exprn+1) 嵌套if操作符。在第一个cond之后对expr求值以返回true
noenv(expr) 求值表达式expr,该表达式仅定义在粒子或射线上,而不是粒子或射线所在的域或边界上nojac(expr)
pd(f,x) 微分算子,f关于x的微分,因变量不用链式法则
ppr 保持多项式的导数恢复
pprint 各域群内保持多项式的导数恢复
prev(expr,i) 在前第i个时间步对表达式求值
reacf(u)
reacf(u,dim)
准确评估反作用力和通量
realdot(a,b) 把复数a和b当作实数2向量并返回它们的点积
residual(expr) 求上次计算的残差
scope.atenti(ent,expr) 在编号为ent的i维实体上计算网格无关表达式expr
scope.ati(coordinateexprs,expr)
scope.ati(coordinateexprs,expr,‘evaltype’)
用坐标表达式坐标表达式给出的坐标在点上的i维实体上求值表达式expr。例如,comp1。用于组件中名为comp1的3D实体
sens(expr,i) 使用第二个参数给出的形参的前向灵敏度计算表达式
setconst(const,value) 在withsol和withparam中定义临时常量
setind(par,index)
setval(par,value)
在withsol和withparam中指定参数索引或参数值
shapeorder(variable) 用于离散变量的元素顺序
side(entity,expr) 计算相邻实体中定义的表达式
stddev(operator,arg1,arg2,…) 计算积分、投影或求和运算符的标准偏差
subst(expr,expr1_orig,expr1_subst,…) 用其他变量或表达式替换表达式中的变量
substval(expr,val1_orig,val1_subst,…) 用变量的当前值计算表达式
sum(expr,index,lower,upper) 从下到上计算所有指标的和
test(expr) 测试函数运算符
timeint
timeavg
积分或计算时间相关表达式在一个时间间隔内的平均值
timemax
timemin
随时间计算表达式的最大值或最小值
treatasconst(expr) 将expr视为独立于解
try_catch(tryExpr,catchExpr) 尝试计算tryExpr;但如果这在任何一点上失败,则计算catchExpr
uflux(u)
dflux(u)
分别在边界的上下两侧的域中计算与因变量u相关的通量
up(expr) 计算表达式在相邻上行中定义的表达式
var(expr,fieldname1,fieldname2, …) 变异算子
with 在结果评估期间访问特定的解决方案
withparam(tag,expr) 访问由solver标记定义的解决方案的解决方案参数
withsol(tag,expr) 访问由求解器标签定义的解决方案

总结

          对于比较简单的各种运算符及物理常数上面没有介绍,感兴趣可以自行查阅帮助文档,同时翻译和排版存在一定的问题,欢迎留言讨论。

猜你喜欢

转载自blog.csdn.net/qq_38348202/article/details/131018471
今日推荐