• 回答数

    0

  • 浏览数

    1460

  • 收藏数

    0

作者:六月的雨 发表于 2022-1-17 16:05:27
跳转到指定楼层
COMSOL Multiphysics 使用过程中经常会需要使用一些软件内置的函数、变量、常数等,我们在此对常用的做出整理,方便朋友们使用。

内置函数算符
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算符强制将source points上的表达式用在destination points上。
例如: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
在各相中计算平均lintotal
lintotalrms
在各相中计算lintotal的RMS
lintotalrms(f)=sqrt(lintotalavg(abs(f)^2))
lintotalpeak
在各相中计算lintotal的最大值
linsol
调用标准解,如linpoint或lintotal
linzero
计算表达式的根
linper
标记一个荷载项用于线性扰动求解器
ppr
精确的派生修复
用polynomial-preserving recovery计算表达式中所有用lagrange形函数差分的变量,如 e=ux+vy
ppr(e^2)=(ppr(ux)+ppr(vy))^2
pprint
在各求解域群中精确派生修复
用这些操作符来计算梯度计算中的离散误差
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))/timestep
bdf(expr,i)
应用级数为i的向后差分公式
bdf(u,1) = (u-prev(u,1))/timestep
subst(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
exprs,expr)
计算表达式在i维下的表达式coordinate exprs值
root.mod1.at1(0,y,dom)在2D的一条边的点(0,y)上计算dom


range函数的用法
range(a,(b-a)/(n-1),b) 从a到b均匀生成n个数
10^range(-3,3) 产生:10-3,10-2, …, 103
1^range(1,10) 产生 10个1


数学函数
函数名
描述
引用方法
abs
绝对值
abs(x)
acos
反余弦
acos(x)
acosh
反双曲余弦 (in radians)
acosh(x)
acot
反余切 (in radians)
acot(x)
acoth
反双曲余切 (in radians)
acoth(x)
acsc
反余割 (in radians)
acsc(x)
acsch
反双曲余割 (in radians)
acsch(x)
arg
相位角(in radians)
arg(x)
asec
反正割 (in radians)
asec(x)
asech
反双曲正割 (in radians)
asech(x)
asin
反正弦 (in radians)
asin(x)
asinh
反双曲正弦(in radians)
asinh(x)
atan
反正切 (in radians)
atan(x)
atan2
四象限反正切 (in radians)
atan2(y,x)
atanh
反双曲正切 (in radians)
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
相对精度
eps
erf
误差函数
erf(x)
exp
指数函数
exp(x)
floor
下约数
floor(x)
gamma
Gamma函数
gamma(x)
i,j
虚数单位
i
imag
虚部
imag(u)
inf
无穷
inf
log
自然对数 ln
log(x)
log10
对数,底数为10
log10(x)
log2
对数,底数为2
log2(x)
max
最大值
max(a,b)
min
最小值
min(a,b)
mod
取模
mod(a,b)
NaN,
非数
nan
pi
Pi
pi
psi
Psi函数和它的衍生物
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)


预置的变量
时间
t
频率
freq
特征值
lambda
相位角
phase
笛卡尔坐标系空间坐标
x, y, z
柱坐标空间坐标
r, phi, z
边/面法向
n, nx, ny, nz, nr,nphi
边切向
tx, ty, tz, tr,tphi
面切向
t1x, t1y, t1z, t2x, t2y, t2z
机器精度
eps
虚数单位
i, j
圆周率
pi
网格信息相关变量
h, dom, meshtype, meshelement, dvol, qual, reldetjac, reldetjacmin


预置的常数
描述
名称
重力加速度
g_const
9.80665[m/s^2]
阿伏伽德罗常数
N_A_const
6.02214129e23[1/mol]
玻尔兹曼常数
k_B_const
1.3806488e-23[J/K]
真空特征阻抗
Z0_const
376.73031346177066[ohm]
电子质量
me_comst
9.10938291e-31[kg]
元电荷
e_const
1.602176565e-19[C]
法拉第常数
F_const
96485.3365[C/mol]
精细结构常数
alpha_const
7.2973525698e-3
万有引力常数
G_const
6.67384e-11[m^3/(kg*s^2)]
标准状态下理想气体体积
V_m_const
2.2413968e-2[m^3/mol]
中子质量
mn_const
1.674927351e-27[kg]
真空磁导率
mu0_const
4*pi*1e-7[H/m]
真空介电常数
epsilon0_const
8.854187817000001e-12[F/m]
普朗克常数
h_const
6.62606957e-34[J*s]
普朗克常数/2π
hbar_const
1.05457172533629e-34[J*s]
质子质量
mp_const
1.672621777e-27[kg]
真空中的光速
c_const
299792458[m/s]
.斯忒番—玻尔兹曼常数
sigma_const
5.670373e-8[W/(m^2*K^4)]
通用气体常数
R_const
8.3144621(J/(mol*K))
维恩位移定律常数
b_const
2.8977721e-3[m*K]


其他的平滑函数
flsmhs
y=flsmhs(x,scale)
在阶跃的两端都存在连续过冲的平滑Heaviside函数。
在-scale < x < scale处,flsmhs和flsmsign为7阶多项式,因此它的2阶导数仍然连续;它满足理想Heaviside函数,因此存在一定量的过冲。
flsmsign
y = flsmsign(x,scale)
近似于符号函数y=sign(x)在-scale < x < scale处平滑过渡
flc1hs
不含过冲的一阶连续导数的平滑Heaviside函数,导数fldc1hs
flc2hs
不含过冲的二阶连续导数的平滑Heaviside函数,导数fldc2hs

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 微信登录

x
分享:
回复

使用道具

成为第一个回答人

高级模式 评论
您需要登录后才可以回帖 登录 | 立即注册 微信登录