FEtch 系统的关键变量
为了尽量和 FEPG 系统兼容,FEtch 系统定义和使用了以下的全局变量和局部变量。用户需要注意自己定义的变量不要与这些系统变量产生命名冲突,以避免产生莫名其妙的计算错误。
全局变量
全局变量与 GCN、NFE、PDE 和 FBC 文件密切相关。在这些文件的可以插入 Fortran 语句的任意位置,都可以对这些全局变量进行访问和修改。
时间循环相关
关键字 | 类型 | 说明 |
---|---|---|
time dt tmax it |
实数 实数 实数 整数 |
当前时间 时间步长 时间上限 当前时间步数 |
非线性迭代相关
关键字 | 类型 | 说明 |
---|---|---|
err errb cc itn itnmax iend |
实数 实数 实数 整数 整数 整数 |
误差 误差阈值 松弛因子 迭代步数 迭代步数上限 迭代结束标记 |
局部变量
对于某些特定问题,如轴对称和弹塑性力学问题,用户在 PDE 和 FBC 文件中插入的 Fortran 代码可能要用到一些与单元子程序相关的特定变量和数组。因此,为了方便调用和避免命名冲突,在这里总结一下 FEtch 系统定义和使用的关键的局部变量。这些局部变量仅对 PDE 和 FBC 文件有效,通常仅用作访问而不鼓励修改。
单元子程序相关
关键字 | 类型 | 说明 |
---|---|---|
ityp nelem num nnode ncoor coorr(ncoor, nnode) ngaus igaus gaus(ngaus) nmate imate det |
整数 整数 整数 整数 整数 实数数组 整数 整数 实数数组 整数 整数 实数 |
本单元类型的编号 本单元类型的总单元数 当前单元编号 单元节点数 维数 节点坐标 单元高斯点总数 当前高斯点编号 高斯积分权重 本单元类型的总材料数 当前材料编号 雅可比矩阵的行列式 |
自定义变量名的建议
为了彻底杜绝命名冲突,鼓励用户在定义变量名时包含数字和下划线。此外,变量名尽量长一点也是有利的。