Comsol 内置表达式:参数、变量、函数
表达式:
参数
一个参数表达式可以包含:数字、参数、常量、函数,一元、二元操作符。参数可以有单位。
变量
个变量表达式可以包含:数字、参数、常量、变量、函数的变量表达式,一元、二元操作符。变量可以有单位。
函数
一个函数定义可以包含:输入参数、数字参数,=常数、函数的参数表达式包括输入参数,一元和二元操作符。
注:保留函数的名称可以被用于变量和参数名,反之同样。
内置的数学常数
描述 | 名称 | 值 |
双精度浮点数、机器精度 | eps | 2-52(~2.2204*10-16) |
虚数单位 | i,j | i,sqrt(-1) |
无穷大,∞ | inf,inf | 一个大于能被计算机处理的值 |
非数字值 | NaN,nan | 未定义或不能表示出来的值例:0/0;inf/inf |
π | pi | |
内置的物理常数
描述 | 名称 | 值 |
重力加速度 | g_const | 9.80665[m/s^-2] |
阿伏伽德罗常数 | N_A_const | 6.02214129[1/mol] |
波耳兹曼常数 | k_B_const | 1.3806488e-23[j/k] |
真空特性阻抗 | Z0_const | 376.73031346177066[ohm] |
电子质量 | me_const | 9.10938291e-31[kg] |
元电荷 | e_const | 1.602176565e-19 |
法拉第常数 | F_const | 96458.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] |
参数有以下用途: 参数化几何尺寸、参数化网格元素大小、参数扫描。
变量:主要有两种类型变量:内部保留变量和用户自定义变量,变量可以是标量也可以是字段,可以有单位。有一组有趣的变量,即空间坐标变量和因变量,这些基于空间维度和所选物理场的变量有默认的名称,comsol会创建一张变量表来表示这些变量。
内置变量
名称 | 描述 | 类型 |
t | 时间 | 标量 |
freq | 频率 | 标量 |
lanbda | 特征值 | 标量 |
phase | 相位角 | 标量 |
h | 网格元素大小 | 字段 |
meshtype | 网格数指数 | 字段 |
meshelement | 网格元素数量 | 字段 |
dvol | 体积比例因子变量 | 字段 |
qual | 一个网格质量介于0(质量差)和1(完美质量) | 字段 |
用户定义和自动产生的变量
默认名称 | 描述 | 类别 |
X ,y ,z | 笛卡尔空间坐标 | 字段 |
r, phi ,z | 柱状空间坐标 | 字段 |
U ,T ,etc | 因变量 | 字段 |
T表示2D空间维度时的温度,按时间传热的模型。X、Y是空间坐标的名称。所以可以生产下列变量:Tx、Ty、Txx、Txy
Tyx、Tyy、Tt、Txt、Tyt、Txxt、Txyt、Tyxt、Tyyt、Ttt、Txtt、Tytt、Txxtt、Txytt、Tyxtt、Tyytt.其中Tx是T对x的导数,Ttt是T对t的二阶导数,如果空间坐标系有其他的名字,同理置换相应变量。
内置数字函数
名称 | 描述 | 使用表达式 |
abs | 绝对值 | abs(x) |
acos | 反余弦(弧度) | acos(x) |
acosh | 反双曲余弦 | acosh(x) |
acot | 反余切(弧度) | acot(x) |
acoth | 反双曲余切 | acoth(x) |
acsc | 反余割(弧度) | acsc(x) |
acsch | 反双曲余割 | acsch(x) |
arg | 相位角(弧度) | arg(x) |
asec | 反正割(弧度) | asec(x) |
asech | 反双曲正割 | asech(x) |
asin | 反正弦(弧度) | asin(x) |
asinh | 反双曲正弦 | asinh(x) |
atan | 反正切(弧度) | atan(x) |
atan2 | 四象限反正切(弧度) | atan2(y,x) |
atanh | 反双曲正切 | atanh(x) |
besselj | 第一类贝塞尔函数 | besselj(a,x) |
bessely | 第二类贝塞尔函数 | bessely(a,x) |
besseli | 修正第一类贝塞尔函数 | besseli(a,x) |
besselk | 修正第二类贝塞尔函数 | besselk(a,x) |
ceil | 返回大于或等于指定表达式的最小整数 | ceil(x) |
conj | 共轭复数 | conj(x) |
cos | 余弦 | cos |
cosh | 双曲余弦 | cosh(x) |
cot | 余切 | cot(x) |
coth | 双曲余切 | coth(x) |
csc | 余割 | csc(x) |
csch | 双曲余割 | csch(x) |
erf | 误差函数 | erf(x) |
exp | 指数 | exp(x) |
floor | 整数函数 | floor(x) |
gamma | 伽马函数 | gamma(x) |
imag | 虚部 | imag(u) |
log | 自然对数 | log(x) |
log10 | 以10为底对数 | int函数与round函数 log10(x) |
log2 | 以2为底对数 | log2(x) |
max | 两个参数中的最大值 | max(a,b) |
min | 两个参数中的最小值 | min(a,b) |
mod | 模数运算子 | mod(a,b) |
psi | Psi函数及其衍生品 | psi(x,k) |
range | 创建等差数列 | range(a,step,b) |
real | 实数部分 | real(x) |
round | 其最接近的整数 | round(x) |
sec | 正割 | sec(x) |
sech | 双曲正割 | sech(x) |
sign | 正负号函数 | sign(x) |
sin | 正弦 | sin(x) |
sinh | 双曲(线)正弦 | sinh(x) |
sqrt | 平方根 | sqrt(x) |
tan | 正切 | tan(x) |
tanh | 双曲正切 | tanh(x) |
下面的函数不能用于表达式定义参数:
acosh,acoth,acsch,asech,asinh,atanh,besselj,bessely,besseli,besselk,
erf,gamma,和psi。
内置操作函数:
这些内置的函数不同于内置的数学函数,详细见用户指南。
NAME | NAME | NAME | NAME |
adj | down | linsol | acope.ati |
at | dtang | lintotal | sens |
ballavg | error | lintotalavg | shapeorder |
ballint | fsens | lintotalpeak | side |
bdf | if | lintotalrms | sphavg |
centroid | integrate | linzero | sphint |
circavg | isdefined | mean | subst |
circint | isinf | nojac | test |
circumcenter | islinear | pd | timeavg |
d | isnan | ppr | timeint |
depends | jacdepends | pprint | try_catch |
dest | lindev | prev | up |
diskavg | linper | reacf | war |
diskint | linpoint | realdot | with |
用户定义生成的函数:
模板名称 | 参数和定义 | 使用表达式 |
Anslytic | sin(x)*cos(y),可以有任意个参数 | an1(x,y) |
Elevation | 用来输入地理点的高程 | elev1(x,y) |
Gaussin Pulse | 高斯脉冲函数 | gp1(x) |
Image | 用于导入图片上某点的RGB值,默认情况下函数的输出使用映射(R+G+B)/3 | im1(x,y) |
Interpolation | 插值函数,电子表格、网格或函数,函数有一到三个参数 | int1(x,y,z) |
Piecewise | 分段函数 | pw1(x) |
Ramp | 斜坡函数 | rm1(x) |
Random | 随机函数生产器,可以用来模拟白噪声 | rn1(x,y) |
Rectangle | 矩形函数,生成0和1之间的数 | rect1(x) |
Step | 阶跃函数是一个锋利的过渡,函数有一个参数 | step1(x) |
Triangle | 三角函数 | tri1(x) |
Waveform | 波形函数 | wv1(x) |
External(Global Definitions only) | 外部函数接口,可以使用外部函数 | myextfunc(a,b) |
MATLAB(Global Definitions only) | MATLAB函数接口 | mymatlabfunc(a,b) |
操作符表格
优先级 | 符号 | 描述 |
1 | () {} . | 分组、列表、范围 |
2 | ^ | 次方 |
3 | ! - + | 一元逻辑:不是,减去,加上 |
4 | [] | 中括号 |
5 | */ | 乘除 |
6 | + - | 加减 |
7 | <<= >>= | 小于,小于等于,大于,大于等于 |
8 | == != | 比较;等于,不等于 |
9 | && | 逻辑与 |
10 | ‖ | 逻辑或 |
11 | , | 元素分离器在列表 |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论