代码拉取完成,页面将自动刷新
Mulphys的基本定位是多物理场技术的工程软件。
多物理场有如下典型的使用场景:
共识变量的生成计划有多种途径,但在最初mulphys版本中最开始的共识变量是手动生成的。新增一个processor的时候,就需要在consensus.json文件中增加一个共识变量。共识变量表示意如下:
{
"geometry-consensuses" : [
{
"name" : "vertices",
"type" : "mat",
"location" : "vertex-mapped",
"description" : "几何坐标点坐标矩阵"
},
{
"name" : "faces",
"type" : "imat",
"location" : "face-mapped",
"description" : "几何坐标点坐标矩阵"
},
{
"name" : "vocc",
"type" : "uvec",
"location" : "vertex-mapped",
"description" : "几何坐标点出现过在哪些单元中"
},
{
"name" : "neighbors",
"type" : "ivec",
"location" : "face-mapped",
"description" : "周边邻接单元索引"
},
],
"processor-consensuses" : [
{
"name" : "var0",
"type" : "vec",
"location" : "vertex-mapped",
"description" : "var0 dummy description",
"producers" : ["foo1", "foo2"] // 这里表示processor foo1 foo2 生成了var0这个共识变量
},
{
"name": "X",
"children": [
"vmag",
"alpha",
"beta",
"p",
"q",
"r",
"phi",
"theta",
"psi",
"xg",
"yg",
"H"
],
"type": "vec",
"location": "reduced",
"description": "飞行器状态向量",
"producers": [] // 留空表示没有其他场处理器生成此变量
},
{
"name" : "alpha",
"type" : "reduced",
"description" : "飞行器攻角(rad)",
"producers" : []
},
...
]
}
上述列表是在场处理器运行时生成的,场处理器配置文件举例如下:
{
"configurations" : {
"config" : {},
"config_schema" : {}
},
"dependents" : [
"proc1", "proc2", ...
],
"states" : ["X"],
"inputs" : ["gamma1", "gamma2"]
}
注意outputs在场处理器的配置文件中不用配置。如果需要则配置states和inputs。
先从单流水线举例说明生成步骤如下:
多流水线举例说明生成步骤如下:
主体 | 输入1 | 输入2 | 输出 | 动作 |
---|---|---|---|---|
reader | reader名称字符串 | 各种类型几何文件所在路径 | mulphys的Json格式几何文件 | read |
cgns | /path/to/xxxx.cgns | xxx.geom.mphs |
实例:
reader r = new reader("cgns")
geometry g = r.read("/path/to/xxxx.cgns")
processes
runner
simulation
!!!!!!!!
场的处理直接使用armadillo实现,所有元素直接作为mat出现,mat可以转换为scalar和vector
!!!!!!!!
!!!!!!!!
务必注意分区求解物理场,solver需要接受物理场进行进一步处理
!!!!!!!!
路线图和基本需求
命令行
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型