Add finite-PFP sources and interacting 3D populations
添加有限 PFP 源与三维相互作用泡群
COMSOL 6.4 desktop instructions. Each numbered card tells you where to click, what to enter, and how to check it. Complete one card before moving down. English menu labels are retained beside the Chinese explanation.
本教程使用 COMSOL 6.4 桌面界面。每张编号卡明确点击位置、输入内容和核对办法;做完一张再向下。英文菜单名称与中文解释并列保留。
A · Reopen Model A and add the EOS
A · 重开模型 A 并添加 EOS
01 Continue in your own Model A file
继续使用自己的模型 A 文件
Open your solved Model_A_cG practice file from M1 with File → Open. Use File → Save As to create Model_A_populations_my_rebuild.mph. Confirm component cG and its gas/wave solution are present.
用 File → Open 打开 M1 自己完成的 Model_A_cG 文件;另存为 Model_A_populations_my_rebuild.mph。确认已有 cG 组件及气体/波解。
You should see: The gas component is present before adding the PFP components.
应当看到:添加 PFP 组件前已有气体组件。
All PFP scenarios keep total retained source energy 55 nJ. They use finite liquid/vapor mass and entropy closure, rather than copying the polytropic gas law. cP, c3 and c5 solve each separated source state independently through the shared wave field. cU has a single common source state and is retained only as a rejected physical-closure diagnostic.
所有 PFP 情形总保留源能量均为 55 nJ,使用有限液/汽质量与熵闭合,而不复制多方气体定律。cP、c3、c5 各自求解分离源状态,通过共同波场相互作用;cU 只有一个共同源状态,仅保留为物理闭合被否决的诊断。
02 Add the PFP pressure function: pfpp
添加 PFP 压力函数:pfpp
Right-click Global Definitions → Functions → Analytic. Open pfpp_expression.txt in a text editor, select all its expression text, copy, and paste into Expression. Enter the fields below. Repeat as a new Analytic node for each function.
右击 Global Definitions → Functions → Analytic(解析)。在文本编辑器打开 pfpp_expression.txt,全选表达式、复制、粘贴到 Expression。按下面填写字段;三个函数各自新建一个解析节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Function name | pfpp |
| Arguments | TK,rr |
| Expression | Entire text of pfpp_expression.txt |
| Derivatives | Automatic |
| Argument units: TK; rr | 1; 1 |
| Function unit | 1 |
You should see: The Function name is pfpp, not the default an1. Arguments contain a comma and preserve uppercase TK.
应当看到:Function name 是 pfpp,不是默认 an1;Arguments 用逗号分隔,并保留大写 TK。
Why this choice: These are numeric-SI EOS functions. The calling variables divide by input units and multiply by output units explicitly. Only PFP functions are needed; PFH is not the material in these models.
为何这样设置:这些 EOS 函数采用 SI 数值输入输出;调用变量会显式除去输入单位、乘回输出单位。本模型只需 PFP 函数,不使用 PFH。
If this does not work / 如果这一步不成功
Do not paste the filename, Java quotation marks, or an extra “expr=”. The entire one-line expression must be in the field.
不要粘贴文件名、Java 引号或额外的“expr=”;字段中应为完整单行表达式。
03 Add the PFP specific internal energy function: pfpu
添加 PFP 比内能函数:pfpu
Right-click Global Definitions → Functions → Analytic. Open pfpu_expression.txt in a text editor, select all its expression text, copy, and paste into Expression. Enter the fields below. Repeat as a new Analytic node for each function.
右击 Global Definitions → Functions → Analytic(解析)。在文本编辑器打开 pfpu_expression.txt,全选表达式、复制、粘贴到 Expression。按下面填写字段;三个函数各自新建一个解析节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Function name | pfpu |
| Arguments | TK,rr |
| Expression | Entire text of pfpu_expression.txt |
| Derivatives | Automatic |
| Argument units: TK; rr | 1; 1 |
| Function unit | 1 |
You should see: The Function name is pfpu, not the default an1. Arguments contain a comma and preserve uppercase TK.
应当看到:Function name 是 pfpu,不是默认 an1;Arguments 用逗号分隔,并保留大写 TK。
Why this choice: These are numeric-SI EOS functions. The calling variables divide by input units and multiply by output units explicitly. Only PFP functions are needed; PFH is not the material in these models.
为何这样设置:这些 EOS 函数采用 SI 数值输入输出;调用变量会显式除去输入单位、乘回输出单位。本模型只需 PFP 函数,不使用 PFH。
If this does not work / 如果这一步不成功
Do not paste the filename, Java quotation marks, or an extra “expr=”. The entire one-line expression must be in the field.
不要粘贴文件名、Java 引号或额外的“expr=”;字段中应为完整单行表达式。
04 Add the PFP specific Gibbs energy function: pfpg
添加 PFP 比吉布斯能函数:pfpg
Right-click Global Definitions → Functions → Analytic. Open pfpg_expression.txt in a text editor, select all its expression text, copy, and paste into Expression. Enter the fields below. Repeat as a new Analytic node for each function.
右击 Global Definitions → Functions → Analytic(解析)。在文本编辑器打开 pfpg_expression.txt,全选表达式、复制、粘贴到 Expression。按下面填写字段;三个函数各自新建一个解析节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Function name | pfpg |
| Arguments | TK,rr |
| Expression | Entire text of pfpg_expression.txt |
| Derivatives | Automatic |
| Argument units: TK; rr | 1; 1 |
| Function unit | 1 |
You should see: The Function name is pfpg, not the default an1. Arguments contain a comma and preserve uppercase TK.
应当看到:Function name 是 pfpg,不是默认 an1;Arguments 用逗号分隔,并保留大写 TK。
Why this choice: These are numeric-SI EOS functions. The calling variables divide by input units and multiply by output units explicitly. Only PFP functions are needed; PFH is not the material in these models.
为何这样设置:这些 EOS 函数采用 SI 数值输入输出;调用变量会显式除去输入单位、乘回输出单位。本模型只需 PFP 函数,不使用 PFH。
If this does not work / 如果这一步不成功
Do not paste the filename, Java quotation marks, or an extra “expr=”. The entire one-line expression must be in the field.
不要粘贴文件名、Java 引号或额外的“expr=”;字段中应为完整单行表达式。
B · One PFP source
B · 单个 PFP 源
The repeated cards below give every setting for this component. Do not use blind component duplication: source counts, centres, parameter suffixes, integration operators, phase unknowns and fluxes change.
下面重复列出此组件全部设置。不要盲目复制组件:源数目、位置、参数后缀、积分算子、相态未知量与通量都有变化。
05 Add the independent 3D component cP
添加独立三维组件 cP
Right-click the model root → Add Component → 3D. Click the new Component and set its Name and Label below. Right-click this Component → Add Physics, search for Coefficient Form PDE, click Add to Component; repeat for Global ODEs and DAEs. Close Add Physics. Each scenario has its own wave and source states.
右击模型根节点 → Add Component → 3D,点击新组件并设置下列 Name 与 Label。右击此组件 → Add Physics,搜索 Coefficient Form PDE,点击 Add to Component;再添加 Global ODEs and DAEs,关闭添加窗口。每种情形拥有各自的波场与源状态。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Component Name | cP |
| Label | cP: 1 sources |
You should see: Both mathematical interfaces belong to the new component, not the earlier gas component.
应当看到:两个数学接口属于新组件,不是之前的气体组件。
06 Enter the parameters
输入参数
In the left Model Builder, expand Global Definitions, then click Parameters 1. In Settings, type each Name and Expression into a row. Press Tab to move to the next cell. For the long table, click Load from File below the table, choose GUI_cP_parameters_import.txt after saving it locally, and click Open. Use this headerless file rather than a TSV with column headings. Import once; when adding a component, append only the new names and keep earlier parameters.
在左侧模型开发器展开 Global Definitions(全局定义),点击 Parameters 1(参数 1)。在设置表中逐行输入 Name 与 Expression,按 Tab 切换单元格。长表可先将链接文件保存到本机,点击表格下方 Load from File(从文件加载),选择 GUI_cP_parameters_import.txt,然后 Open。使用无表头文件,只导入一次;添加组件时只追加新名称,保留此前参数。
You should see: All 14 entries listed here are present. The Value column evaluates expressions in SI units when their dependencies have been created.
应当看到:此处列出的 14 项均在表中。依赖项建立后,Value 列会显示 SI 制计算值。
Why this choice: Parameters are prescribed inputs. The solver will calculate dependent variables separately.
为何这样设置:参数是指定输入;待求的未知变量由求解器另行计算。
If this does not work / 如果这一步不成功
A red Name often means a duplicate. Remove the duplicate row rather than changing the expression name. A temporarily unresolved function call becomes valid after its function is added in the next cards.
Name 变红通常表示重名,应删除重复行,保留本教程的名称。尚未创建的函数会暂时无法求值,后续创建后即可恢复。
| Name / 名称 | Expression / 表达式 | Meaning / 含义 |
|---|---|---|
| acP | 2.4889372178167041e-05[m] | |
| mpcP | 1.1281810887041304e-12[kg] | |
| S0cP | 126.55541943158264[J/(kg*K)] | |
| uDcP | -9810.2016267042909[J/kg] | |
| rhoDcP | 1621.4903685295262[kg/m^3] | |
| rDcP | 5.4969941859583877e-06[m] | |
| bcP | 4.9778744356334081e-05[m] | Matching radius; continuum case uses the infinite-near-field dilute limit |
| bscP | bcP/acP | |
| taucP | acP*sqrt(rhoL/DP) | |
| E0cP | 5.5000000000000003e-08[J] | Fixed total retained source energy, including finite PFP internal and interface energy |
| sigcP | 0.054[N/m] | |
| sigIcP | 0.00941[N/m] | |
| rhoLcP | 1621.2302097446284[kg/m^3] | |
| rhoVcP | 8.7819467089401986[kg/m^3] |
For this added component, append only these new parameter names to the existing Parameters table. Do not clear earlier component parameters; the import file contains no duplicates with them.
添加此组件时,只把这些新参数追加到原参数表,不要清空其他组件参数;本导入文件与此前参数不重名。
07 Set the geometry units and curvature order
设置几何单位与曲率阶次
Click this component’s Geometry 1, set Length unit = m. Click the Component itself, expand Curved Mesh Elements and set Geometry shape function = Quadratic Lagrange. The Geometry dimension remains 3D.
点击当前组件的 Geometry 1(几何 1),Length unit = m。再点击 Component,展开 Curved Mesh Elements,设 Geometry shape function = Quadratic Lagrange;几何维度保持 3D。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Length unit | m |
| Geometry shape function | Quadratic Lagrange |
You should see: Length unit is m. All lengths entered below contain explicit units or parameter expressions.
应当看到:长度单位为 m;下面所有长度都使用显式单位或参数表达式。
08 Create the outer water sphere
创建外部水域球体
Right-click Geometry 1 → Sphere. Set Label = Outer water. Set Radius and position below, then click Build Selected.
右击 Geometry 1 → Sphere(球),Label = Outer water,按下值填半径与位置,再点击 Build Selected(构建选定)。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | Lout |
| Position x, y, z | 0; 0; 0 |
You should see: A solid sphere of radius 0.9 mm.
应当看到:出现半径 0.9 mm 的实心球。
09 Create matching hole sphere 1
创建第 1 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 1, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 1,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bcP |
| x | 0[m] |
| y | 0[m] |
| z | 0[m] |
You should see: Hole 1 is fully inside the outer sphere and separated from the other holes.
应当看到:第 1 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
10 Subtract the holes from the water sphere
从水球中减去匹配孔
Right-click Geometry 1 → Booleans and Partitions → Difference. Click the Objects to add selection field, select only Outer water. Click Objects to subtract, then select all Hole objects (use Ctrl-click or the object list). Clear Keep input objects if selected; click Build Selected.
右击 Geometry 1 → Booleans and Partitions(布尔与分割)→ Difference(差集)。先激活 Objects to add,只选 Outer water;再激活 Objects to subtract,选全部 Hole 对象,可 Ctrl 多选或用对象列表。若 Keep input objects 已勾选,取消它,然后 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Objects to add | Outer water |
| Objects to subtract | All 1 Hole objects |
| Keep input objects | Off |
You should see: A water domain with matching holes. The solid hole interiors are absent.
应当看到:保留带匹配孔的水域,孔内部实体已经消失。
11 Create the finite receiver cylinder
创建有限接收器圆柱
Right-click Geometry 1 → Cylinder. Set Label = Receiver. Enter the dimensions and base position below, leave the axis pointing along z, then click Build Selected.
右击 Geometry 1 → Cylinder(圆柱),Label = Receiver,输入下面尺寸与底面位置,轴向保持 z,点击 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | adet |
| Height | hdet |
| x | 0 |
| y | 0 |
| z | robs-hdet/2 |
| Axis type / direction | z-axis |
You should see: A 50 μm radius, 5 μm thick cylinder centred at z=0.5 mm, inside the water.
应当看到:水中出现半径 50 μm、厚 5 μm、中心位于 z=0.5 mm 的圆柱。
Why this choice: The receiver is a marked part of the same water, not a solid sensor or a no-flow obstruction.
为何这样设置:接收器只是同一水域中标记的区域,不是实体传感器或阻流障碍。
12 Finalize as a union with interior boundaries
形成保留内部边界的联合体
Click the final Form Union geometry node. Choose Action = Form a union and select Keep interior boundaries. Click Build All. The receiver and, when present, population region must remain separate selectable domains.
点击末尾 Form Union(形成联合体) 节点,Action = Form a union,勾选 Keep interior boundaries(保留内部边界),点击 Build All。接收器及泡群区域必须保留为可分别选择的域。
You should see: The receiver is a distinct domain. Ordinary hole cases have two water domains; the population diagnostic has three.
应当看到:接收器为独立域。普通带孔情形有两个水域;泡群诊断有三个。
If this does not work / 如果这一步不成功
If only one domain remains, restore Keep interior boundaries and Build All before creating selections.
若只剩一个域,重新勾选 Keep interior boundaries 并 Build All,再建立选择。
13 Create named selection source1cP
创建命名选择 source1cP
Right-click Component → Definitions → Selections → Box. Set the Label to source1cP. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source1cP,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | 0[m]-1.001*bcP |
| y minimum | 0[m]-1.001*bcP |
| z minimum | 0[m]-1.001*bcP |
| x maximum | 0[m]+1.001*bcP |
| y maximum | 0[m]+1.001*bcP |
| z maximum | 0[m]+1.001*bcP |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
14 Create named selection detectorcP
创建命名选择 detectorcP
Right-click Component → Definitions → Selections → Box. Set the Label to detectorcP. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 detectorcP,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Domain |
| Include entity if | Entity inside box |
| x minimum | -1.001*adet |
| x maximum | 1.001*adet |
| y minimum | -1.001*adet |
| y maximum | 1.001*adet |
| z minimum | robs-0.501*hdet |
| z maximum | robs+0.501*hdet |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
15 Create named selection notfarcP
创建命名选择 notfarcP
Right-click Component → Definitions → Selections → Box. Set the Label to notfarcP. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 notfarcP,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | -0.8*Lout |
| y minimum | -0.8*Lout |
| z minimum | -0.8*Lout |
| x maximum | 0.8*Lout |
| y maximum | 0.8*Lout |
| z maximum | 0.8*Lout |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
16 Select only the outer radiation surface
只选择外部辐射面
Right-click Definitions → Selections → Complement. Set Label below, Geometric entity level = Boundary. In Input selections add the notfar selection created above.
右击 Definitions → Selections → Complement(补集),按下值设置 Label,几何层级选 Boundary;Input selections 中添加上面创建的 notfar 选择。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Label | farcP |
| Geometric entity level | Boundary |
| Input selections | notfarcP |
You should see: Only the large outer sphere is highlighted. Hole/receiver/population interior surfaces are excluded.
应当看到:只有大外球面高亮;孔面、接收器面及泡群内部面不在其中。
17 Group all source boundaries
合并所有源边界选择
Right-click Definitions → Selections → Union. Set Label = allSourcescP, Geometric entity level = Boundary. Add every source selection below to Input selections.
右击 Definitions → Selections → Union(并集),Label = allSourcescP,层级为 Boundary,将所有源选择添加到 Input selections。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Input selections | source1cP |
You should see: Only matching-hole surfaces are in this combined selection.
应当看到:此联合选择仅包含匹配孔面。
18 Add integration operator idcP
添加Integration算子 idcP
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | idcP |
| Geometric entity level | Domain |
| Selection | detectorcP |
You should see: idcP appears as the operator name. The highlighted entities match detectorcP.
应当看到:算子名称为 idcP;高亮实体与 detectorcP 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
19 Add integration operator iocP
添加Integration算子 iocP
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | iocP |
| Geometric entity level | Boundary |
| Selection | farcP |
You should see: iocP appears as the operator name. The highlighted entities match farcP.
应当看到:算子名称为 iocP;高亮实体与 farcP 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
20 Add integration operator is1cP
添加Integration算子 is1cP
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is1cP |
| Geometric entity level | Boundary |
| Selection | source1cP |
You should see: is1cP appears as the operator name. The highlighted entities match source1cP.
应当看到:算子名称为 is1cP;高亮实体与 source1cP 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
21 Add integration operator ivcP
添加Integration算子 ivcP
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | ivcP |
| Geometric entity level | Domain |
| Selection | All domains |
You should see: ivcP appears as the operator name. The highlighted entities match All domains.
应当看到:算子名称为 ivcP;高亮实体与 All domains 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
22 Create the source and wave expression node
创建源与波表达式节点
Right-click this Component → Definitions → Variables. Set Label = Source and wave expressions, Geometric entity level = Entire model. Enter every expression in the table below. These expressions depend on unknowns that will be added next; do not try to Compute yet.
右击当前 Component → Definitions → Variables,Label = Source and wave expressions,Geometric entity level = Entire model。输入下面全部表达式;它们依赖下一步添加的未知量,此时先不要 Compute。
You should see: The variable table is populated and Entire model is selected.
应当看到:变量表已填写,层级为 Entire model。
Enter all 28 rows below, or load GUI_cP_variables_import.txt using the exact import procedure in GUI basics. The file has no heading row.
逐行输入下面全部 28 行,或按界面基础的导入步骤加载 GUI_cP_variables_import.txt。文件没有表头。
| Name / 名称 | Expression / 表达式 |
|---|---|
| R1 | acP*r1 |
| U1 | acP*r1t |
| Temp1 | Tref*theta1 |
| rhoLP1 | rhoLcP*exp(qL1) |
| rhoVP1 | rhoVcP*exp(qV1) |
| Vb1 | 4*pi*R1^3/3 |
| pLP1 | pfpp(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[Pa] |
| pVP1 | pfpp(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[Pa] |
| uLP1 | pfpu(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[J/kg] |
| uVP1 | pfpu(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[J/kg] |
| gLP1 | pfpg(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[J/kg] |
| gVP1 | pfpg(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[J/kg] |
| fv1 | (Vb1-mpcP/rhoLP1)/(mpcP*(1/rhoVP1-1/rhoLP1)) |
| Rg1 | (max(fv1*mpcP/rhoVP1,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec1 | ((1-fv1)*(uLP1+pLP1/rhoLP1-gLP1)+fv1*(uVP1+pVP1/rhoVP1-gVP1))/Temp1 |
| qvol1 | 4*pi*R1^2*U1 |
| pB1 | pLP1-2*sigcP/R1-4*muL*U1/R1 |
| En1 | 2*pi*rhoL*R1^3*U1^2*(1-R1/bcP) |
| Ei1 | mpcP*((1-fv1)*uLP1+fv1*uVP1)+4*pi*sigIcP*Rg1^2-mpcP*uDcP-DP*mpcP/rhoDcP-4*pi*sigcP*rDcP^2 |
| Ep1 | DP*Vb1+4*pi*sigcP*R1^2 |
| En | 1*(En1) |
| Ei | 1*(Ei1) |
| Ep | 1*(Ep1) |
| Ein | E0cP |
| phiDt | acP^2/taucP*chit |
| pAc | -rhoL*phiDt |
| u2ac | (acP^2/taucP)^2*(chix^2+chiy^2+chiz^2) |
| Ea | ivcP(rhoL/2*(u2ac+phiDt^2/cL^2)) |
23 Name and discretize the potential field
命名并离散波势场
Click the main Coefficient Form PDE interface node. Set Name below. Expand Dependent Variables, set Number of dependent variables = 1, Field name = chi and Dependent variables = chi. In Units use Dimensionless dependent variable and source unit m^-2. In Discretization choose Quadratic Lagrange. If hidden, enable Advanced Physics Options in Show More Options.
点击顶层 Coefficient Form PDE 接口节点,设置下列 Name。展开 Dependent Variables,未知量数目 = 1,Field name = chi,Dependent variables = chi。Units 中未知量为无量纲、源单位 m^-2;Discretization 中选 Quadratic Lagrange。若栏目隐藏,在 Show More Options 启用 Advanced Physics Options。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Interface Name | potcP |
| Field name; Dependent variables | chi; chi |
| Dependent variable unit | 1 |
| Source term unit | m^-2 |
| Shape function | Lagrange |
| Element order | Quadratic |
You should see: Initial Values and coefficient settings now show chi, not the default u.
应当看到:初值与系数设置中显示 chi,不再是默认 u。
24 Enter the wave PDE coefficients
输入波 PDE 系数
Click Coefficient Form PDE → Coefficient Form PDE 1. Choose All domains. Enter the following scalar/vector coefficients. Expand the coefficient sections if collapsed. This interface implements ea*chi_tt − ∇·(c∇chi) = f for these settings.
点击 Coefficient Form PDE → Coefficient Form PDE 1,选 All domains,输入以下标量/向量系数,折叠栏目需展开。此设置表示 ea*chi_tt − ∇·(c∇chi) = f。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Diffusion coefficient c | 1 |
| Mass coefficient ea | 1/cL^2 |
| Damping coefficient da | 0 |
| Source term f | 0 |
| Absorption coefficient a | 0 |
| Conservative flux convection α | 0; 0; 0 |
| Convection coefficient β | 0; 0; 0 |
| Conservative flux source γ | 0; 0; 0 |
You should see: ea is nonzero and da=0. The PDE covers the receiver domain as well as surrounding water.
应当看到:ea 非零、da=0;PDE 同时覆盖接收器域与周围水域。
25 Set the zero wave initial conditions
设置零波场初值
Click Coefficient Form PDE → Initial Values 1. Set chi = 0 and its initial time derivative = 0 on all domains.
点击 Coefficient Form PDE → Initial Values 1,在所有域设置 chi=0、初始时间导数=0。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| chi | 0 |
| Initial time derivative of chi | 0 |
You should see: The initial wave field and velocity are zero.
应当看到:初始波场及其速度均为零。
26 Apply the source flux at hole 1
在第 1 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source1cP |
| Boundary source g | -taucP/acP^2*qvol1/is1cP(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source1cP.
应当看到:此通量节点只高亮 source1cP。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
27 Apply the radiation condition
施加辐射条件
Right-click Coefficient Form PDE → Flux/Source again. Set Label = Outer radiation; choose the far selection and enter g and q below.
再次 右击 Coefficient Form PDE → Flux/Source,Label = Outer radiation,选择 far 选择,输入下列 g 与 q。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | farcP |
| g | -chit/cL |
| q | 1/Lout |
You should see: Only the outer sphere is selected. q is positive 1/Lout.
应当看到:只选外球面,q 是正的 1/Lout。
Why this choice: This outgoing-wave condition lets wave energy leave rather than reflecting from a rigid wall.
为何这样设置:此出射波条件允许波能量离开,避免刚壁反射。
28 Name the global-equation interface
命名全局方程接口
Click the main Global ODEs and DAEs node in this component. Change its Name to the value below. Then expand it and click its existing Global Equations 1 child.
点击此组件的顶层 Global ODEs and DAEs,将 Name 改为下值;再展开并点击已有 Global Equations 1 子节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Interface Name | gecP |
You should see: The interface belongs to cP.
应当看到:该接口属于 cP。
29 Create the global unknowns and their equations
创建全局未知量与方程
Click Global ODEs and DAEs → Global Equations 1. Delete its placeholder row if present. Fill the four columns shown below. The f column is a residual set equal to zero: do not append “=0”. Use the full field under the table for long expressions. Each Name defines a new unknown; its first/second derivatives add t/tt. The complete four-column, headerless file is GUI_cP_global_equations.txt; you can enter the rows manually or use Load from File.
点击 Global ODEs and DAEs → Global Equations 1(全局方程 1),删除占位行,填写下面四列。f 列是等于零的残差,不要再输入“=0”。长表达式可用表格下方完整编辑框。Name 定义未知量;一阶、二阶导数在名称后加 t、tt。完整无表头四列表为 GUI_cP_global_equations.txt;可手动输入,也可从文件加载。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Dependent variable quantity / 未知量单位 | Dimensionless (1) |
| Source term quantity / 方程单位 | Dimensionless (1) |
You should see: Exactly 7 equation rows, with the initial values and initial derivatives shown below.
应当看到:恰有 7 行方程,初值与初始导数和下面一致。
Why this choice: A global unknown has one value per component/time, rather than one value at every mesh node.
为何这样设置:全局未知量在每个组件/时刻有一个值,而不是每个网格节点各有一个值。
If this does not work / 如果这一步不成功
Unknown variable is an error. Check spelling and component scope. The native A ledger equations retain inverse-time residuals in some rows; a dimensional-consistency warning is different from an undefined name. Keep the native expressions and units as supplied.
Unknown variable 是错误,应检查拼写和组件作用域。原生 A 的部分能量账方程保留时间倒数残差;量纲一致性警告与未定义名称错误不同,应保留所给原生表达式和单位。
| Name / 未知量 | f(u,ut,utt,t) / 残差 | Initial value (u_0) / 初值 | Initial value (ut_0) / 初始导数 |
|---|---|---|---|
| r1 | taucP^2*((r1-r1^2/bscP)*r1tt+(1.5-2*r1/bscP)*r1t^2)-(pB1-DP)/DP-taucP*is1cP(chit)/is1cP(1) | 1 | 0 |
| theta1 | (pVP1-pLP1-2*sigIcP/Rg1)/DP | 1 | 0 |
| qL1 | (gLP1-gVP1)/(100[kJ/kg]) | -2.5199096293844559e-06 | 0 |
| qV1 | (Sspec1-S0cP)/(100[J/(kg*K)]) | -6.0772474348736627e-05 | 0 |
| ediss | edisst-1*(16*pi*muL*R1*U1^2)/E0cP | 0 | 0 |
| erout | eroutt-rhoL*(acP^2/taucP)^2*iocP(chit*(chit/cL+chi/Lout))/E0cP | 0 | 0 |
| pdet | tf*pdett+pdet-idcP(pAc)/(idcP(1)*DP) | 0 | 0 |
30 Switch to a user-controlled mesh
切换为用户控制网格
Click Mesh 1. In Settings choose Sequence type → User-controlled mesh. If converting a physics-controlled sequence, keep its Size node, remove other generated operations if needed, and create the operations below.
点击 Mesh 1(网格 1),在设置中选择 Sequence type → User-controlled mesh(用户控制网格)。若从物理控制序列转换,保留 Size 节点,必要时删除其他自动操作,再按下面创建。
You should see: Mesh 1 contains an editable Size node.
应当看到:Mesh 1 下有可编辑 Size(尺寸)节点。
31 Set the whole-geometry mesh size
设置整个几何的网格尺寸
Click Mesh 1 → Size. Choose Custom. In Element Size Parameters, enter all four values below.
点击 Mesh 1 → Size,选择 Custom(自定义),在 Element Size Parameters(单元大小参数) 输入下面四个值。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Maximum element size | 150[um] |
| Minimum element size | 5[um] |
| Maximum element growth rate | 1.5 |
| Curvature factor | 0.3 |
You should see: Custom is selected and values carry the correct length units.
应当看到:已选择 Custom,长度数值带正确单位。
32 Refine the cavity or source surfaces
细化空腔或源表面
Right-click Mesh 1 → Size to add a second Size node. Place it before the tetrahedral operation. Select Boundary and the named selection, choose Custom, activate Maximum element size, and enter the value below. Leave the other local size overrides unchecked.
右击 Mesh 1 → Size 添加第二个尺寸节点,放在四面体操作之前。选择 Boundary 与命名选择,选择 Custom,勾选 Maximum element size 并输入下值;其他局部覆盖项不勾选。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Selection | allSourcescP |
| Maximum element size | acP/2 |
You should see: Only the inner surfaces are highlighted.
应当看到:只有内表面高亮。
Why this choice: Large gradients occur close to the cavity/source. A uniformly tiny mesh would waste memory far away.
为何这样设置:空腔/源附近梯度最大;远处采用同样极细网格会浪费内存。
33 Build the tetrahedral mesh
构建四面体网格
Right-click Mesh 1 → Free Tetrahedral, choose All domains, then click Build All at the top of Mesh Settings.
右击 Mesh 1 → Free Tetrahedral(自由四面体),选择 All domains,然后点击网格设置上方 Build All(全部构建)。
You should see: A 3D tetrahedral mesh appears, with finer elements near the inner boundary. Mesh statistics show a nonzero tetrahedron count.
应当看到:出现三维四面体网格,内边界附近更细;网格统计中四面体数量非零。
If this does not work / 如果这一步不成功
If no volume elements are created, check that Difference retained a solid shell, not only surfaces, and Free Tetrahedral selects all domains.
如果没有体单元,检查 Difference 是否保留实体壳层而不只是曲面,以及 Free Tetrahedral 是否选择全部域。
34 Create a separate transient study
创建独立瞬态研究
Right-click the model root → Add Study. Select General Studies → Time Dependent and click Add Study. Rename its Label to Study cP. Do not add this time step to another component’s study.
右击模型根节点 → Add Study(添加研究),选 General Studies → Time Dependent,点击 Add Study。Label 改为 Study cP;不要把此时间步骤加到其他组件的研究中。
You should see: A distinct Study cP appears.
应当看到:出现单独的 Study cP。
35 Select which physics this study solves
选择本研究求解哪些物理场
Click this study’s Time Dependent step. Set Output times below. Expand Physics and Variables Selection. Enable Solve for only the Coefficient Form PDE and Global ODEs and DAEs in cP. Clear Solve for in all other components.
点击当前研究的 Time Dependent 步骤,设置下列 Output times。展开 Physics and Variables Selection(物理场与变量选择),只勾选 cP 中的 PDE 与全局 ODE,取消其他组件的 Solve for。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Output times | range(0,25[ns],8[us]) |
You should see: Exactly two interfaces are solved in this study.
应当看到:本研究只求解两个接口。
If this does not work / 如果这一步不成功
Adding a new component can enable its physics in earlier studies. Recheck every earlier study and disable the new component there too.
新增组件可能使之前研究也启用其物理场;须回查每个旧研究,将新组件在其中禁用。
36 Show the generated solver
显示自动生成的求解器
Right-click this Study → Show Default Solver. Expand Solver Configurations → Solution → Dependent Variables. If advanced sections are hidden, use Show More Options and enable Advanced Study Options and Advanced Physics Options. Do this after every equation/physics node is entered, so all fields appear.
右击当前 Study → Show Default Solver(显示默认求解器)。展开 Solver Configurations → Solution → Dependent Variables(因变量)。若高级栏目隐藏,在 Show More Options 中启用 Advanced Study Options 与 Advanced Physics Options。全部物理和方程节点输入后再生成,才能看到所有变量。
You should see: The chi field and the global ODE1 field are listed.
应当看到:列表中有 chi 场与全局 ODE1 场。
37 Set the variable scales
设置变量缩放
Click Dependent Variables. Set Defined by study step → User defined and Initial Values of Variables Solved For → Method → Initial expression. Click each Field child, expand Scaling, choose Method = Manual and enter the scale below. Match the field by its dependent variables; numeric node tags can differ.
点击 Dependent Variables,设 Defined by study step → User defined,Initial Values of Variables Solved For → Method → Initial expression。依次点击各 Field 子节点,在 Scaling 中选 Manual,填下列 Scale。按变量识别节点;编号标签可能不同。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Every field under Dependent Variables | 1 |
You should see: Each field shows Manual scaling, and initialization uses the physics initial expressions.
应当看到:每个场显示 Manual 缩放,初始化使用物理场的初始表达式。
Why this choice: The wave potential and radius/phase/ledger unknowns were already normalized in the accepted native model.
为何这样设置:原生模型已经对波势、半径/相态/能量账未知量做了归一化。
38 Use a direct linear solver
使用直接线性求解器
Right-click Time-Dependent Solver → Direct. Set Solver → PARDISO. A new Direct node becomes available to the nonlinear solver. Keep the other default Direct node disabled if one exists.
右击 Time-Dependent Solver → Direct(直接),设 Solver → PARDISO。新 Direct 节点供非线性求解器使用;若原来已有其他直接节点,保持其禁用。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Solver | PARDISO |
You should see: A Direct node using PARDISO is present.
应当看到:出现使用 PARDISO 的 Direct 节点。
39 Couple all unknowns in one nonlinear solve
将全部未知量放在一次耦合非线性求解中
Right-click Time-Dependent Solver → Fully Coupled. Under General choose the Direct/PARDISO node just created. Under Method and Termination enter Maximum number of iterations. Disable the Segregated node and any old Fully Coupled node. Only the new Fully Coupled node should be active.
右击 Time-Dependent Solver → Fully Coupled(全耦合)。General 中选择刚建的 Direct/PARDISO 节点;Method and Termination 中输入最大迭代次数。禁用 Segregated(分离)及旧 Fully Coupled,只启用新的全耦合节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Maximum number of iterations | 20 |
You should see: The active Fully Coupled node points to the active PARDISO solver.
应当看到:启用的全耦合节点指向启用的 PARDISO 求解器。
40 Set the actual internal time step
设置真正的内部时间步
Click Time-Dependent Solver. In General choose Defined by study step = User defined and enter Output times and Relative tolerance. Expand Time Stepping, choose Generalized alpha, then Steps taken by solver = Manual. Enter Time step and Amplification for high frequency. Keep Times to store = Output times by interpolation.
点击 Time-Dependent Solver(瞬态求解器)。General 中选 User defined,填 Output times 与 Relative tolerance。展开 Time Stepping(时间步进),选 Generalized alpha,Steps taken by solver = Manual;填写 Time step 与 Amplification for high frequency。Times to store 保持 Output times by interpolation。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Output times | range(0,25[ns],8[us]) |
| Relative tolerance | 2e-5 |
| Method | Generalized alpha |
| Steps taken by solver | Manual |
| Time step | 25[ns] |
| Amplification for high frequency | 0.75 |
You should see: The internal Time step reads 25[ns]. Output times alone do not enforce this step.
应当看到:内部 Time step 显示 25[ns];只填写 Output times 并不能强制内部时间步。
Why this choice: The output grid stores results; the internal step advances the PDE. Refinement must change the latter.
为何这样设置:输出网格负责保存结果;内部时间步负责推进 PDE。细化检验必须修改后者。
41 Save a checkpoint
保存检查点
Choose File → Save As. Save as Model_A_cP_configured.mph in your own practice folder. For subsequent cards use Ctrl+S. Keep the accepted delivered models as reference files.
选择 File → Save As(另存为),在自己的练习文件夹保存为 Model_A_cP_configured.mph。后续操作用 Ctrl+S 保存。保留已经交付的模型作为参考。
You should see: All geometry, selections, equations, mesh and solver are saved before solving.
应当看到:求解前已保存完整几何、选择、方程、网格、求解器。
42 Solve only this component
只求解当前组件
Right-click this Study → Compute. Wait for Progress to finish; inspect Messages/Log for errors. When complete, save with Ctrl+S. The 3D wave runs can take substantially longer than P0.
右击当前 Study → Compute,等待 Progress 完成,查看 Messages/Log 中是否有错误。完成后 Ctrl+S 保存;三维波计算可能明显长于 P0。
You should see: A solution dataset exists for this component and study.
应当看到:有对应此组件/研究的解数据集。
If this does not work / 如果这一步不成功
A phase-model failure at t=0 often means an incorrect phase initial guess or missing EOS function. A later failure can indicate an unresolved time step; use the accepted refined step from M4, not an arbitrary loose tolerance.
相态模型在 t=0 失败通常源于相态初猜或 EOS 函数缺失;之后失败可能是时间步无法解析运动,应使用 M4 给出的已验收细化时间步,不要随意放宽容差。
43 Evaluate the numerical checks
计算数值核对项
Right-click Results → Derived Values → Global Evaluation. In Data select the Solution dataset for this study and choose all relevant times/parameter values. Add each expression below to its own row. Click Evaluate at the top of Settings. A result table opens below the Graphics window.
右击 Results(结果)→ Derived Values(派生值)→ Global Evaluation(全局计算)。Data 中选择当前研究的 Solution 数据集,选择全部相关时刻/参数值。下面每个表达式独占一行,再点击设置顶部 Evaluate(计算)。结果表会在图形窗口下方打开。
You should see: Single-PFP receiver peak≈1.87014 kPa.
应当看到:单 PFP 接收峰值约 1.87014 kPa。
If this does not work / 如果这一步不成功
An Undefined variable result often means the wrong dataset/component. Use the full component prefix in this table. The solved data must belong to the study you just computed.
Undefined variable 常见原因是数据集/组件选错。表中使用完整组件前缀,求解数据必须属于刚完成的研究。
| Expression / 表达式 | Display unit / 显示单位 | What it checks / 核对目的 |
|---|---|---|
cP.pdet*DP | kPa | Filtered receiver gauge pressure / 滤波接收表压 |
cP.r1 | 1 | Source radius / 源半径 |
cP.U1 | m/s | Radial velocity / 径向速度 |
(cP.En+cP.Ei+cP.Ep+cP.Ea+E0cP*(cP.ediss+cP.erout)-E0cP)/E0cP | 1 | Energy ledger residual / 能量账残差 |
44 Plot the scalar result against time
绘制标量随时间变化的曲线
Right-click Results → 1D Plot Group. Choose this study’s dataset. Right-click that 1D Plot Group → Global. Replace the default expression with the one below, set its Unit, keep x-Axis Data = Time, and click Plot.
右击 Results → 1D Plot Group(一维绘图组),选择当前研究数据集。右击该绘图组 → Global(全局),将默认表达式替换为下值,设置 Unit,x-Axis Data 保持 Time,然后点击 Plot(绘制)。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Expression | cP.pdet*DP |
| Unit | kPa |
You should see: A curve appears with a labelled time axis and the requested units.
应当看到:出现带时间横轴及所选单位的曲线。
45 Save a checkpoint
保存检查点
Choose File → Save As. Save as Model_A_cP_solved_my_rebuild.mph in your own practice folder. For subsequent cards use Ctrl+S. Keep the accepted delivered models as reference files.
选择 File → Save As(另存为),在自己的练习文件夹保存为 Model_A_cP_solved_my_rebuild.mph。后续操作用 Ctrl+S 保存。保留已经交付的模型作为参考。
You should see: This component and earlier solved components are saved.
应当看到:保存当前组件及此前已解组件。
C · Three resolved sources
C · 三个分辨源
The repeated cards below give every setting for this component. Do not use blind component duplication: source counts, centres, parameter suffixes, integration operators, phase unknowns and fluxes change.
下面重复列出此组件全部设置。不要盲目复制组件:源数目、位置、参数后缀、积分算子、相态未知量与通量都有变化。
46 Add the independent 3D component c3
添加独立三维组件 c3
Right-click the model root → Add Component → 3D. Click the new Component and set its Name and Label below. Right-click this Component → Add Physics, search for Coefficient Form PDE, click Add to Component; repeat for Global ODEs and DAEs. Close Add Physics. Each scenario has its own wave and source states.
右击模型根节点 → Add Component → 3D,点击新组件并设置下列 Name 与 Label。右击此组件 → Add Physics,搜索 Coefficient Form PDE,点击 Add to Component;再添加 Global ODEs and DAEs,关闭添加窗口。每种情形拥有各自的波场与源状态。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Component Name | c3 |
| Label | c3: 3 sources |
You should see: Both mathematical interfaces belong to the new component, not the earlier gas component.
应当看到:两个数学接口属于新组件,不是之前的气体组件。
47 Enter the parameters
输入参数
In the left Model Builder, expand Global Definitions, then click Parameters 1. In Settings, type each Name and Expression into a row. Press Tab to move to the next cell. For the long table, click Load from File below the table, choose GUI_c3_parameters_import.txt after saving it locally, and click Open. Use this headerless file rather than a TSV with column headings. Import once; when adding a component, append only the new names and keep earlier parameters.
在左侧模型开发器展开 Global Definitions(全局定义),点击 Parameters 1(参数 1)。在设置表中逐行输入 Name 与 Expression,按 Tab 切换单元格。长表可先将链接文件保存到本机,点击表格下方 Load from File(从文件加载),选择 GUI_c3_parameters_import.txt,然后 Open。使用无表头文件,只导入一次;添加组件时只追加新名称,保留此前参数。
You should see: All 14 entries listed here are present. The Value column evaluates expressions in SI units when their dependencies have been created.
应当看到:此处列出的 14 项均在表中。依赖项建立后,Value 列会显示 SI 制计算值。
Why this choice: Parameters are prescribed inputs. The solver will calculate dependent variables separately.
为何这样设置:参数是指定输入;待求的未知变量由求解器另行计算。
If this does not work / 如果这一步不成功
A red Name often means a duplicate. Remove the duplicate row rather than changing the expression name. A temporarily unresolved function call becomes valid after its function is added in the next cards.
Name 变红通常表示重名,应删除重复行,保留本教程的名称。尚未创建的函数会暂时无法求值,后续创建后即可恢复。
| Name / 名称 | Expression / 表达式 | Meaning / 含义 |
|---|---|---|
| ac3 | 1.7235173594713674e-05[m] | |
| mpc3 | 3.746039178803531e-13[kg] | |
| S0c3 | 126.55604211988535[J/(kg*K)] | |
| uDc3 | -9813.3604892542153[J/kg] | |
| rhoDc3 | 1621.5370905160592[kg/m^3] | |
| rDc3 | 3.8064395716509721e-06[m] | |
| bc3 | 3.4470347189427348e-05[m] | Matching radius; continuum case uses the infinite-near-field dilute limit |
| bsc3 | bc3/ac3 | |
| tauc3 | ac3*sqrt(rhoL/DP) | |
| E0c3 | 5.5000000000000003e-08[J] | Fixed total retained source energy, including finite PFP internal and interface energy |
| sigc3 | 0.054[N/m] | |
| sigIc3 | 0.00941[N/m] | |
| rhoLc3 | 1621.2302097446284[kg/m^3] | |
| rhoVc3 | 8.7819467089401986[kg/m^3] |
For this added component, append only these new parameter names to the existing Parameters table. Do not clear earlier component parameters; the import file contains no duplicates with them.
添加此组件时,只把这些新参数追加到原参数表,不要清空其他组件参数;本导入文件与此前参数不重名。
48 Set the geometry units and curvature order
设置几何单位与曲率阶次
Click this component’s Geometry 1, set Length unit = m. Click the Component itself, expand Curved Mesh Elements and set Geometry shape function = Quadratic Lagrange. The Geometry dimension remains 3D.
点击当前组件的 Geometry 1(几何 1),Length unit = m。再点击 Component,展开 Curved Mesh Elements,设 Geometry shape function = Quadratic Lagrange;几何维度保持 3D。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Length unit | m |
| Geometry shape function | Quadratic Lagrange |
You should see: Length unit is m. All lengths entered below contain explicit units or parameter expressions.
应当看到:长度单位为 m;下面所有长度都使用显式单位或参数表达式。
49 Create the outer water sphere
创建外部水域球体
Right-click Geometry 1 → Sphere. Set Label = Outer water. Set Radius and position below, then click Build Selected.
右击 Geometry 1 → Sphere(球),Label = Outer water,按下值填半径与位置,再点击 Build Selected(构建选定)。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | Lout |
| Position x, y, z | 0; 0; 0 |
You should see: A solid sphere of radius 0.9 mm.
应当看到:出现半径 0.9 mm 的实心球。
50 Create matching hole sphere 1
创建第 1 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 1, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 1,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bc3 |
| x | 0.00020000000000000001[m] |
| y | 0[m] |
| z | 0[m] |
You should see: Hole 1 is fully inside the outer sphere and separated from the other holes.
应当看到:第 1 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
51 Create matching hole sphere 2
创建第 2 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 2, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 2,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bc3 |
| x | -9.9999999999999964e-05[m] |
| y | 0.00017320508075688776[m] |
| z | 0[m] |
You should see: Hole 2 is fully inside the outer sphere and separated from the other holes.
应当看到:第 2 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
52 Create matching hole sphere 3
创建第 3 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 3, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 3,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bc3 |
| x | -0.0001000000000000001[m] |
| y | -0.0001732050807568877[m] |
| z | 0[m] |
You should see: Hole 3 is fully inside the outer sphere and separated from the other holes.
应当看到:第 3 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
53 Subtract the holes from the water sphere
从水球中减去匹配孔
Right-click Geometry 1 → Booleans and Partitions → Difference. Click the Objects to add selection field, select only Outer water. Click Objects to subtract, then select all Hole objects (use Ctrl-click or the object list). Clear Keep input objects if selected; click Build Selected.
右击 Geometry 1 → Booleans and Partitions(布尔与分割)→ Difference(差集)。先激活 Objects to add,只选 Outer water;再激活 Objects to subtract,选全部 Hole 对象,可 Ctrl 多选或用对象列表。若 Keep input objects 已勾选,取消它,然后 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Objects to add | Outer water |
| Objects to subtract | All 3 Hole objects |
| Keep input objects | Off |
You should see: A water domain with matching holes. The solid hole interiors are absent.
应当看到:保留带匹配孔的水域,孔内部实体已经消失。
54 Create the finite receiver cylinder
创建有限接收器圆柱
Right-click Geometry 1 → Cylinder. Set Label = Receiver. Enter the dimensions and base position below, leave the axis pointing along z, then click Build Selected.
右击 Geometry 1 → Cylinder(圆柱),Label = Receiver,输入下面尺寸与底面位置,轴向保持 z,点击 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | adet |
| Height | hdet |
| x | 0 |
| y | 0 |
| z | robs-hdet/2 |
| Axis type / direction | z-axis |
You should see: A 50 μm radius, 5 μm thick cylinder centred at z=0.5 mm, inside the water.
应当看到:水中出现半径 50 μm、厚 5 μm、中心位于 z=0.5 mm 的圆柱。
Why this choice: The receiver is a marked part of the same water, not a solid sensor or a no-flow obstruction.
为何这样设置:接收器只是同一水域中标记的区域,不是实体传感器或阻流障碍。
55 Finalize as a union with interior boundaries
形成保留内部边界的联合体
Click the final Form Union geometry node. Choose Action = Form a union and select Keep interior boundaries. Click Build All. The receiver and, when present, population region must remain separate selectable domains.
点击末尾 Form Union(形成联合体) 节点,Action = Form a union,勾选 Keep interior boundaries(保留内部边界),点击 Build All。接收器及泡群区域必须保留为可分别选择的域。
You should see: The receiver is a distinct domain. Ordinary hole cases have two water domains; the population diagnostic has three.
应当看到:接收器为独立域。普通带孔情形有两个水域;泡群诊断有三个。
If this does not work / 如果这一步不成功
If only one domain remains, restore Keep interior boundaries and Build All before creating selections.
若只剩一个域,重新勾选 Keep interior boundaries 并 Build All,再建立选择。
56 Create named selection source1c3
创建命名选择 source1c3
Right-click Component → Definitions → Selections → Box. Set the Label to source1c3. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source1c3,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | 0.00020000000000000001[m]-1.001*bc3 |
| y minimum | 0[m]-1.001*bc3 |
| z minimum | 0[m]-1.001*bc3 |
| x maximum | 0.00020000000000000001[m]+1.001*bc3 |
| y maximum | 0[m]+1.001*bc3 |
| z maximum | 0[m]+1.001*bc3 |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
57 Create named selection source2c3
创建命名选择 source2c3
Right-click Component → Definitions → Selections → Box. Set the Label to source2c3. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source2c3,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | -9.9999999999999964e-05[m]-1.001*bc3 |
| y minimum | 0.00017320508075688776[m]-1.001*bc3 |
| z minimum | 0[m]-1.001*bc3 |
| x maximum | -9.9999999999999964e-05[m]+1.001*bc3 |
| y maximum | 0.00017320508075688776[m]+1.001*bc3 |
| z maximum | 0[m]+1.001*bc3 |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
58 Create named selection source3c3
创建命名选择 source3c3
Right-click Component → Definitions → Selections → Box. Set the Label to source3c3. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source3c3,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | -0.0001000000000000001[m]-1.001*bc3 |
| y minimum | -0.0001732050807568877[m]-1.001*bc3 |
| z minimum | 0[m]-1.001*bc3 |
| x maximum | -0.0001000000000000001[m]+1.001*bc3 |
| y maximum | -0.0001732050807568877[m]+1.001*bc3 |
| z maximum | 0[m]+1.001*bc3 |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
59 Create named selection detectorc3
创建命名选择 detectorc3
Right-click Component → Definitions → Selections → Box. Set the Label to detectorc3. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 detectorc3,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Domain |
| Include entity if | Entity inside box |
| x minimum | -1.001*adet |
| x maximum | 1.001*adet |
| y minimum | -1.001*adet |
| y maximum | 1.001*adet |
| z minimum | robs-0.501*hdet |
| z maximum | robs+0.501*hdet |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
60 Create named selection notfarc3
创建命名选择 notfarc3
Right-click Component → Definitions → Selections → Box. Set the Label to notfarc3. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 notfarc3,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | -0.8*Lout |
| y minimum | -0.8*Lout |
| z minimum | -0.8*Lout |
| x maximum | 0.8*Lout |
| y maximum | 0.8*Lout |
| z maximum | 0.8*Lout |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
61 Select only the outer radiation surface
只选择外部辐射面
Right-click Definitions → Selections → Complement. Set Label below, Geometric entity level = Boundary. In Input selections add the notfar selection created above.
右击 Definitions → Selections → Complement(补集),按下值设置 Label,几何层级选 Boundary;Input selections 中添加上面创建的 notfar 选择。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Label | farc3 |
| Geometric entity level | Boundary |
| Input selections | notfarc3 |
You should see: Only the large outer sphere is highlighted. Hole/receiver/population interior surfaces are excluded.
应当看到:只有大外球面高亮;孔面、接收器面及泡群内部面不在其中。
62 Group all source boundaries
合并所有源边界选择
Right-click Definitions → Selections → Union. Set Label = allSourcesc3, Geometric entity level = Boundary. Add every source selection below to Input selections.
右击 Definitions → Selections → Union(并集),Label = allSourcesc3,层级为 Boundary,将所有源选择添加到 Input selections。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Input selections | source1c3; source2c3; source3c3 |
You should see: Only matching-hole surfaces are in this combined selection.
应当看到:此联合选择仅包含匹配孔面。
63 Add integration operator idc3
添加Integration算子 idc3
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | idc3 |
| Geometric entity level | Domain |
| Selection | detectorc3 |
You should see: idc3 appears as the operator name. The highlighted entities match detectorc3.
应当看到:算子名称为 idc3;高亮实体与 detectorc3 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
64 Add integration operator ioc3
添加Integration算子 ioc3
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | ioc3 |
| Geometric entity level | Boundary |
| Selection | farc3 |
You should see: ioc3 appears as the operator name. The highlighted entities match farc3.
应当看到:算子名称为 ioc3;高亮实体与 farc3 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
65 Add integration operator is1c3
添加Integration算子 is1c3
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is1c3 |
| Geometric entity level | Boundary |
| Selection | source1c3 |
You should see: is1c3 appears as the operator name. The highlighted entities match source1c3.
应当看到:算子名称为 is1c3;高亮实体与 source1c3 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
66 Add integration operator is2c3
添加Integration算子 is2c3
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is2c3 |
| Geometric entity level | Boundary |
| Selection | source2c3 |
You should see: is2c3 appears as the operator name. The highlighted entities match source2c3.
应当看到:算子名称为 is2c3;高亮实体与 source2c3 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
67 Add integration operator is3c3
添加Integration算子 is3c3
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is3c3 |
| Geometric entity level | Boundary |
| Selection | source3c3 |
You should see: is3c3 appears as the operator name. The highlighted entities match source3c3.
应当看到:算子名称为 is3c3;高亮实体与 source3c3 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
68 Add integration operator ivc3
添加Integration算子 ivc3
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | ivc3 |
| Geometric entity level | Domain |
| Selection | All domains |
You should see: ivc3 appears as the operator name. The highlighted entities match All domains.
应当看到:算子名称为 ivc3;高亮实体与 All domains 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
69 Create the source and wave expression node
创建源与波表达式节点
Right-click this Component → Definitions → Variables. Set Label = Source and wave expressions, Geometric entity level = Entire model. Enter every expression in the table below. These expressions depend on unknowns that will be added next; do not try to Compute yet.
右击当前 Component → Definitions → Variables,Label = Source and wave expressions,Geometric entity level = Entire model。输入下面全部表达式;它们依赖下一步添加的未知量,此时先不要 Compute。
You should see: The variable table is populated and Entire model is selected.
应当看到:变量表已填写,层级为 Entire model。
Enter all 68 rows below, or load GUI_c3_variables_import.txt using the exact import procedure in GUI basics. The file has no heading row.
逐行输入下面全部 68 行,或按界面基础的导入步骤加载 GUI_c3_variables_import.txt。文件没有表头。
| Name / 名称 | Expression / 表达式 |
|---|---|
| R1 | ac3*r1 |
| U1 | ac3*r1t |
| Temp1 | Tref*theta1 |
| rhoLP1 | rhoLc3*exp(qL1) |
| rhoVP1 | rhoVc3*exp(qV1) |
| Vb1 | 4*pi*R1^3/3 |
| pLP1 | pfpp(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[Pa] |
| pVP1 | pfpp(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[Pa] |
| uLP1 | pfpu(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[J/kg] |
| uVP1 | pfpu(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[J/kg] |
| gLP1 | pfpg(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[J/kg] |
| gVP1 | pfpg(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[J/kg] |
| fv1 | (Vb1-mpc3/rhoLP1)/(mpc3*(1/rhoVP1-1/rhoLP1)) |
| Rg1 | (max(fv1*mpc3/rhoVP1,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec1 | ((1-fv1)*(uLP1+pLP1/rhoLP1-gLP1)+fv1*(uVP1+pVP1/rhoVP1-gVP1))/Temp1 |
| qvol1 | 4*pi*R1^2*U1 |
| pB1 | pLP1-2*sigc3/R1-4*muL*U1/R1 |
| En1 | 2*pi*rhoL*R1^3*U1^2*(1-R1/bc3) |
| Ei1 | mpc3*((1-fv1)*uLP1+fv1*uVP1)+4*pi*sigIc3*Rg1^2-mpc3*uDc3-DP*mpc3/rhoDc3-4*pi*sigc3*rDc3^2 |
| Ep1 | DP*Vb1+4*pi*sigc3*R1^2 |
| R2 | ac3*r2 |
| U2 | ac3*r2t |
| Temp2 | Tref*theta2 |
| rhoLP2 | rhoLc3*exp(qL2) |
| rhoVP2 | rhoVc3*exp(qV2) |
| Vb2 | 4*pi*R2^3/3 |
| pLP2 | pfpp(Temp2/1[K],rhoLP2/(1[kg/m^3]))*1[Pa] |
| pVP2 | pfpp(Temp2/1[K],rhoVP2/(1[kg/m^3]))*1[Pa] |
| uLP2 | pfpu(Temp2/1[K],rhoLP2/(1[kg/m^3]))*1[J/kg] |
| uVP2 | pfpu(Temp2/1[K],rhoVP2/(1[kg/m^3]))*1[J/kg] |
| gLP2 | pfpg(Temp2/1[K],rhoLP2/(1[kg/m^3]))*1[J/kg] |
| gVP2 | pfpg(Temp2/1[K],rhoVP2/(1[kg/m^3]))*1[J/kg] |
| fv2 | (Vb2-mpc3/rhoLP2)/(mpc3*(1/rhoVP2-1/rhoLP2)) |
| Rg2 | (max(fv2*mpc3/rhoVP2,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec2 | ((1-fv2)*(uLP2+pLP2/rhoLP2-gLP2)+fv2*(uVP2+pVP2/rhoVP2-gVP2))/Temp2 |
| qvol2 | 4*pi*R2^2*U2 |
| pB2 | pLP2-2*sigc3/R2-4*muL*U2/R2 |
| En2 | 2*pi*rhoL*R2^3*U2^2*(1-R2/bc3) |
| Ei2 | mpc3*((1-fv2)*uLP2+fv2*uVP2)+4*pi*sigIc3*Rg2^2-mpc3*uDc3-DP*mpc3/rhoDc3-4*pi*sigc3*rDc3^2 |
| Ep2 | DP*Vb2+4*pi*sigc3*R2^2 |
| R3 | ac3*r3 |
| U3 | ac3*r3t |
| Temp3 | Tref*theta3 |
| rhoLP3 | rhoLc3*exp(qL3) |
| rhoVP3 | rhoVc3*exp(qV3) |
| Vb3 | 4*pi*R3^3/3 |
| pLP3 | pfpp(Temp3/1[K],rhoLP3/(1[kg/m^3]))*1[Pa] |
| pVP3 | pfpp(Temp3/1[K],rhoVP3/(1[kg/m^3]))*1[Pa] |
| uLP3 | pfpu(Temp3/1[K],rhoLP3/(1[kg/m^3]))*1[J/kg] |
| uVP3 | pfpu(Temp3/1[K],rhoVP3/(1[kg/m^3]))*1[J/kg] |
| gLP3 | pfpg(Temp3/1[K],rhoLP3/(1[kg/m^3]))*1[J/kg] |
| gVP3 | pfpg(Temp3/1[K],rhoVP3/(1[kg/m^3]))*1[J/kg] |
| fv3 | (Vb3-mpc3/rhoLP3)/(mpc3*(1/rhoVP3-1/rhoLP3)) |
| Rg3 | (max(fv3*mpc3/rhoVP3,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec3 | ((1-fv3)*(uLP3+pLP3/rhoLP3-gLP3)+fv3*(uVP3+pVP3/rhoVP3-gVP3))/Temp3 |
| qvol3 | 4*pi*R3^2*U3 |
| pB3 | pLP3-2*sigc3/R3-4*muL*U3/R3 |
| En3 | 2*pi*rhoL*R3^3*U3^2*(1-R3/bc3) |
| Ei3 | mpc3*((1-fv3)*uLP3+fv3*uVP3)+4*pi*sigIc3*Rg3^2-mpc3*uDc3-DP*mpc3/rhoDc3-4*pi*sigc3*rDc3^2 |
| Ep3 | DP*Vb3+4*pi*sigc3*R3^2 |
| En | 1*(En1+En2+En3) |
| Ei | 1*(Ei1+Ei2+Ei3) |
| Ep | 1*(Ep1+Ep2+Ep3) |
| Ein | E0c3 |
| phiDt | ac3^2/tauc3*chit |
| pAc | -rhoL*phiDt |
| u2ac | (ac3^2/tauc3)^2*(chix^2+chiy^2+chiz^2) |
| Ea | ivc3(rhoL/2*(u2ac+phiDt^2/cL^2)) |
70 Name and discretize the potential field
命名并离散波势场
Click the main Coefficient Form PDE interface node. Set Name below. Expand Dependent Variables, set Number of dependent variables = 1, Field name = chi and Dependent variables = chi. In Units use Dimensionless dependent variable and source unit m^-2. In Discretization choose Quadratic Lagrange. If hidden, enable Advanced Physics Options in Show More Options.
点击顶层 Coefficient Form PDE 接口节点,设置下列 Name。展开 Dependent Variables,未知量数目 = 1,Field name = chi,Dependent variables = chi。Units 中未知量为无量纲、源单位 m^-2;Discretization 中选 Quadratic Lagrange。若栏目隐藏,在 Show More Options 启用 Advanced Physics Options。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Interface Name | potc3 |
| Field name; Dependent variables | chi; chi |
| Dependent variable unit | 1 |
| Source term unit | m^-2 |
| Shape function | Lagrange |
| Element order | Quadratic |
You should see: Initial Values and coefficient settings now show chi, not the default u.
应当看到:初值与系数设置中显示 chi,不再是默认 u。
71 Enter the wave PDE coefficients
输入波 PDE 系数
Click Coefficient Form PDE → Coefficient Form PDE 1. Choose All domains. Enter the following scalar/vector coefficients. Expand the coefficient sections if collapsed. This interface implements ea*chi_tt − ∇·(c∇chi) = f for these settings.
点击 Coefficient Form PDE → Coefficient Form PDE 1,选 All domains,输入以下标量/向量系数,折叠栏目需展开。此设置表示 ea*chi_tt − ∇·(c∇chi) = f。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Diffusion coefficient c | 1 |
| Mass coefficient ea | 1/cL^2 |
| Damping coefficient da | 0 |
| Source term f | 0 |
| Absorption coefficient a | 0 |
| Conservative flux convection α | 0; 0; 0 |
| Convection coefficient β | 0; 0; 0 |
| Conservative flux source γ | 0; 0; 0 |
You should see: ea is nonzero and da=0. The PDE covers the receiver domain as well as surrounding water.
应当看到:ea 非零、da=0;PDE 同时覆盖接收器域与周围水域。
72 Set the zero wave initial conditions
设置零波场初值
Click Coefficient Form PDE → Initial Values 1. Set chi = 0 and its initial time derivative = 0 on all domains.
点击 Coefficient Form PDE → Initial Values 1,在所有域设置 chi=0、初始时间导数=0。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| chi | 0 |
| Initial time derivative of chi | 0 |
You should see: The initial wave field and velocity are zero.
应当看到:初始波场及其速度均为零。
73 Apply the source flux at hole 1
在第 1 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source1c3 |
| Boundary source g | -tauc3/ac3^2*qvol1/is1c3(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source1c3.
应当看到:此通量节点只高亮 source1c3。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
74 Apply the source flux at hole 2
在第 2 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source2c3 |
| Boundary source g | -tauc3/ac3^2*qvol2/is2c3(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source2c3.
应当看到:此通量节点只高亮 source2c3。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
75 Apply the source flux at hole 3
在第 3 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source3c3 |
| Boundary source g | -tauc3/ac3^2*qvol3/is3c3(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source3c3.
应当看到:此通量节点只高亮 source3c3。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
76 Apply the radiation condition
施加辐射条件
Right-click Coefficient Form PDE → Flux/Source again. Set Label = Outer radiation; choose the far selection and enter g and q below.
再次 右击 Coefficient Form PDE → Flux/Source,Label = Outer radiation,选择 far 选择,输入下列 g 与 q。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | farc3 |
| g | -chit/cL |
| q | 1/Lout |
You should see: Only the outer sphere is selected. q is positive 1/Lout.
应当看到:只选外球面,q 是正的 1/Lout。
Why this choice: This outgoing-wave condition lets wave energy leave rather than reflecting from a rigid wall.
为何这样设置:此出射波条件允许波能量离开,避免刚壁反射。
77 Name the global-equation interface
命名全局方程接口
Click the main Global ODEs and DAEs node in this component. Change its Name to the value below. Then expand it and click its existing Global Equations 1 child.
点击此组件的顶层 Global ODEs and DAEs,将 Name 改为下值;再展开并点击已有 Global Equations 1 子节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Interface Name | gec3 |
You should see: The interface belongs to c3.
应当看到:该接口属于 c3。
78 Create the global unknowns and their equations
创建全局未知量与方程
Click Global ODEs and DAEs → Global Equations 1. Delete its placeholder row if present. Fill the four columns shown below. The f column is a residual set equal to zero: do not append “=0”. Use the full field under the table for long expressions. Each Name defines a new unknown; its first/second derivatives add t/tt. The complete four-column, headerless file is GUI_c3_global_equations.txt; you can enter the rows manually or use Load from File.
点击 Global ODEs and DAEs → Global Equations 1(全局方程 1),删除占位行,填写下面四列。f 列是等于零的残差,不要再输入“=0”。长表达式可用表格下方完整编辑框。Name 定义未知量;一阶、二阶导数在名称后加 t、tt。完整无表头四列表为 GUI_c3_global_equations.txt;可手动输入,也可从文件加载。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Dependent variable quantity / 未知量单位 | Dimensionless (1) |
| Source term quantity / 方程单位 | Dimensionless (1) |
You should see: Exactly 15 equation rows, with the initial values and initial derivatives shown below.
应当看到:恰有 15 行方程,初值与初始导数和下面一致。
Why this choice: A global unknown has one value per component/time, rather than one value at every mesh node.
为何这样设置:全局未知量在每个组件/时刻有一个值,而不是每个网格节点各有一个值。
If this does not work / 如果这一步不成功
Unknown variable is an error. Check spelling and component scope. The native A ledger equations retain inverse-time residuals in some rows; a dimensional-consistency warning is different from an undefined name. Keep the native expressions and units as supplied.
Unknown variable 是错误,应检查拼写和组件作用域。原生 A 的部分能量账方程保留时间倒数残差;量纲一致性警告与未定义名称错误不同,应保留所给原生表达式和单位。
| Name / 未知量 | f(u,ut,utt,t) / 残差 | Initial value (u_0) / 初值 | Initial value (ut_0) / 初始导数 |
|---|---|---|---|
| r1 | tauc3^2*((r1-r1^2/bsc3)*r1tt+(1.5-2*r1/bsc3)*r1t^2)-(pB1-DP)/DP-tauc3*is1c3(chit)/is1c3(1) | 1 | 0 |
| theta1 | (pVP1-pLP1-2*sigIc3/Rg1)/DP | 1 | 0 |
| qL1 | (gLP1-gVP1)/(100[kJ/kg]) | -3.6390320940065111e-06 | 0 |
| qV1 | (Sspec1-S0c3)/(100[J/(kg*K)]) | -8.7761660825064932e-05 | 0 |
| r2 | tauc3^2*((r2-r2^2/bsc3)*r2tt+(1.5-2*r2/bsc3)*r2t^2)-(pB2-DP)/DP-tauc3*is2c3(chit)/is2c3(1) | 1 | 0 |
| theta2 | (pVP2-pLP2-2*sigIc3/Rg2)/DP | 1 | 0 |
| qL2 | (gLP2-gVP2)/(100[kJ/kg]) | -3.6390320940065111e-06 | 0 |
| qV2 | (Sspec2-S0c3)/(100[J/(kg*K)]) | -8.7761660825064932e-05 | 0 |
| r3 | tauc3^2*((r3-r3^2/bsc3)*r3tt+(1.5-2*r3/bsc3)*r3t^2)-(pB3-DP)/DP-tauc3*is3c3(chit)/is3c3(1) | 1 | 0 |
| theta3 | (pVP3-pLP3-2*sigIc3/Rg3)/DP | 1 | 0 |
| qL3 | (gLP3-gVP3)/(100[kJ/kg]) | -3.6390320940065111e-06 | 0 |
| qV3 | (Sspec3-S0c3)/(100[J/(kg*K)]) | -8.7761660825064932e-05 | 0 |
| ediss | edisst-1*(16*pi*muL*R1*U1^2+16*pi*muL*R2*U2^2+16*pi*muL*R3*U3^2)/E0c3 | 0 | 0 |
| erout | eroutt-rhoL*(ac3^2/tauc3)^2*ioc3(chit*(chit/cL+chi/Lout))/E0c3 | 0 | 0 |
| pdet | tf*pdett+pdet-idc3(pAc)/(idc3(1)*DP) | 0 | 0 |
79 Switch to a user-controlled mesh
切换为用户控制网格
Click Mesh 1. In Settings choose Sequence type → User-controlled mesh. If converting a physics-controlled sequence, keep its Size node, remove other generated operations if needed, and create the operations below.
点击 Mesh 1(网格 1),在设置中选择 Sequence type → User-controlled mesh(用户控制网格)。若从物理控制序列转换,保留 Size 节点,必要时删除其他自动操作,再按下面创建。
You should see: Mesh 1 contains an editable Size node.
应当看到:Mesh 1 下有可编辑 Size(尺寸)节点。
80 Set the whole-geometry mesh size
设置整个几何的网格尺寸
Click Mesh 1 → Size. Choose Custom. In Element Size Parameters, enter all four values below.
点击 Mesh 1 → Size,选择 Custom(自定义),在 Element Size Parameters(单元大小参数) 输入下面四个值。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Maximum element size | 150[um] |
| Minimum element size | 5[um] |
| Maximum element growth rate | 1.5 |
| Curvature factor | 0.3 |
You should see: Custom is selected and values carry the correct length units.
应当看到:已选择 Custom,长度数值带正确单位。
81 Refine the cavity or source surfaces
细化空腔或源表面
Right-click Mesh 1 → Size to add a second Size node. Place it before the tetrahedral operation. Select Boundary and the named selection, choose Custom, activate Maximum element size, and enter the value below. Leave the other local size overrides unchecked.
右击 Mesh 1 → Size 添加第二个尺寸节点,放在四面体操作之前。选择 Boundary 与命名选择,选择 Custom,勾选 Maximum element size 并输入下值;其他局部覆盖项不勾选。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Selection | allSourcesc3 |
| Maximum element size | ac3/2 |
You should see: Only the inner surfaces are highlighted.
应当看到:只有内表面高亮。
Why this choice: Large gradients occur close to the cavity/source. A uniformly tiny mesh would waste memory far away.
为何这样设置:空腔/源附近梯度最大;远处采用同样极细网格会浪费内存。
82 Build the tetrahedral mesh
构建四面体网格
Right-click Mesh 1 → Free Tetrahedral, choose All domains, then click Build All at the top of Mesh Settings.
右击 Mesh 1 → Free Tetrahedral(自由四面体),选择 All domains,然后点击网格设置上方 Build All(全部构建)。
You should see: A 3D tetrahedral mesh appears, with finer elements near the inner boundary. Mesh statistics show a nonzero tetrahedron count.
应当看到:出现三维四面体网格,内边界附近更细;网格统计中四面体数量非零。
If this does not work / 如果这一步不成功
If no volume elements are created, check that Difference retained a solid shell, not only surfaces, and Free Tetrahedral selects all domains.
如果没有体单元,检查 Difference 是否保留实体壳层而不只是曲面,以及 Free Tetrahedral 是否选择全部域。
83 Create a separate transient study
创建独立瞬态研究
Right-click the model root → Add Study. Select General Studies → Time Dependent and click Add Study. Rename its Label to Study c3. Do not add this time step to another component’s study.
右击模型根节点 → Add Study(添加研究),选 General Studies → Time Dependent,点击 Add Study。Label 改为 Study c3;不要把此时间步骤加到其他组件的研究中。
You should see: A distinct Study c3 appears.
应当看到:出现单独的 Study c3。
84 Select which physics this study solves
选择本研究求解哪些物理场
Click this study’s Time Dependent step. Set Output times below. Expand Physics and Variables Selection. Enable Solve for only the Coefficient Form PDE and Global ODEs and DAEs in c3. Clear Solve for in all other components.
点击当前研究的 Time Dependent 步骤,设置下列 Output times。展开 Physics and Variables Selection(物理场与变量选择),只勾选 c3 中的 PDE 与全局 ODE,取消其他组件的 Solve for。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Output times | range(0,25[ns],8[us]) |
You should see: Exactly two interfaces are solved in this study.
应当看到:本研究只求解两个接口。
If this does not work / 如果这一步不成功
Adding a new component can enable its physics in earlier studies. Recheck every earlier study and disable the new component there too.
新增组件可能使之前研究也启用其物理场;须回查每个旧研究,将新组件在其中禁用。
85 Show the generated solver
显示自动生成的求解器
Right-click this Study → Show Default Solver. Expand Solver Configurations → Solution → Dependent Variables. If advanced sections are hidden, use Show More Options and enable Advanced Study Options and Advanced Physics Options. Do this after every equation/physics node is entered, so all fields appear.
右击当前 Study → Show Default Solver(显示默认求解器)。展开 Solver Configurations → Solution → Dependent Variables(因变量)。若高级栏目隐藏,在 Show More Options 中启用 Advanced Study Options 与 Advanced Physics Options。全部物理和方程节点输入后再生成,才能看到所有变量。
You should see: The chi field and the global ODE1 field are listed.
应当看到:列表中有 chi 场与全局 ODE1 场。
86 Set the variable scales
设置变量缩放
Click Dependent Variables. Set Defined by study step → User defined and Initial Values of Variables Solved For → Method → Initial expression. Click each Field child, expand Scaling, choose Method = Manual and enter the scale below. Match the field by its dependent variables; numeric node tags can differ.
点击 Dependent Variables,设 Defined by study step → User defined,Initial Values of Variables Solved For → Method → Initial expression。依次点击各 Field 子节点,在 Scaling 中选 Manual,填下列 Scale。按变量识别节点;编号标签可能不同。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Every field under Dependent Variables | 1 |
You should see: Each field shows Manual scaling, and initialization uses the physics initial expressions.
应当看到:每个场显示 Manual 缩放,初始化使用物理场的初始表达式。
Why this choice: The wave potential and radius/phase/ledger unknowns were already normalized in the accepted native model.
为何这样设置:原生模型已经对波势、半径/相态/能量账未知量做了归一化。
87 Use a direct linear solver
使用直接线性求解器
Right-click Time-Dependent Solver → Direct. Set Solver → PARDISO. A new Direct node becomes available to the nonlinear solver. Keep the other default Direct node disabled if one exists.
右击 Time-Dependent Solver → Direct(直接),设 Solver → PARDISO。新 Direct 节点供非线性求解器使用;若原来已有其他直接节点,保持其禁用。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Solver | PARDISO |
You should see: A Direct node using PARDISO is present.
应当看到:出现使用 PARDISO 的 Direct 节点。
88 Couple all unknowns in one nonlinear solve
将全部未知量放在一次耦合非线性求解中
Right-click Time-Dependent Solver → Fully Coupled. Under General choose the Direct/PARDISO node just created. Under Method and Termination enter Maximum number of iterations. Disable the Segregated node and any old Fully Coupled node. Only the new Fully Coupled node should be active.
右击 Time-Dependent Solver → Fully Coupled(全耦合)。General 中选择刚建的 Direct/PARDISO 节点;Method and Termination 中输入最大迭代次数。禁用 Segregated(分离)及旧 Fully Coupled,只启用新的全耦合节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Maximum number of iterations | 20 |
You should see: The active Fully Coupled node points to the active PARDISO solver.
应当看到:启用的全耦合节点指向启用的 PARDISO 求解器。
89 Set the actual internal time step
设置真正的内部时间步
Click Time-Dependent Solver. In General choose Defined by study step = User defined and enter Output times and Relative tolerance. Expand Time Stepping, choose Generalized alpha, then Steps taken by solver = Manual. Enter Time step and Amplification for high frequency. Keep Times to store = Output times by interpolation.
点击 Time-Dependent Solver(瞬态求解器)。General 中选 User defined,填 Output times 与 Relative tolerance。展开 Time Stepping(时间步进),选 Generalized alpha,Steps taken by solver = Manual;填写 Time step 与 Amplification for high frequency。Times to store 保持 Output times by interpolation。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Output times | range(0,25[ns],8[us]) |
| Relative tolerance | 2e-5 |
| Method | Generalized alpha |
| Steps taken by solver | Manual |
| Time step | 25[ns] |
| Amplification for high frequency | 0.75 |
You should see: The internal Time step reads 25[ns]. Output times alone do not enforce this step.
应当看到:内部 Time step 显示 25[ns];只填写 Output times 并不能强制内部时间步。
Why this choice: The output grid stores results; the internal step advances the PDE. Refinement must change the latter.
为何这样设置:输出网格负责保存结果;内部时间步负责推进 PDE。细化检验必须修改后者。
90 Save a checkpoint
保存检查点
Choose File → Save As. Save as Model_A_c3_configured.mph in your own practice folder. For subsequent cards use Ctrl+S. Keep the accepted delivered models as reference files.
选择 File → Save As(另存为),在自己的练习文件夹保存为 Model_A_c3_configured.mph。后续操作用 Ctrl+S 保存。保留已经交付的模型作为参考。
You should see: All geometry, selections, equations, mesh and solver are saved before solving.
应当看到:求解前已保存完整几何、选择、方程、网格、求解器。
91 Solve only this component
只求解当前组件
Right-click this Study → Compute. Wait for Progress to finish; inspect Messages/Log for errors. When complete, save with Ctrl+S. The 3D wave runs can take substantially longer than P0.
右击当前 Study → Compute,等待 Progress 完成,查看 Messages/Log 中是否有错误。完成后 Ctrl+S 保存;三维波计算可能明显长于 P0。
You should see: A solution dataset exists for this component and study.
应当看到:有对应此组件/研究的解数据集。
If this does not work / 如果这一步不成功
A phase-model failure at t=0 often means an incorrect phase initial guess or missing EOS function. A later failure can indicate an unresolved time step; use the accepted refined step from M4, not an arbitrary loose tolerance.
相态模型在 t=0 失败通常源于相态初猜或 EOS 函数缺失;之后失败可能是时间步无法解析运动,应使用 M4 给出的已验收细化时间步,不要随意放宽容差。
92 Evaluate the numerical checks
计算数值核对项
Right-click Results → Derived Values → Global Evaluation. In Data select the Solution dataset for this study and choose all relevant times/parameter values. Add each expression below to its own row. Click Evaluate at the top of Settings. A result table opens below the Graphics window.
右击 Results(结果)→ Derived Values(派生值)→ Global Evaluation(全局计算)。Data 中选择当前研究的 Solution 数据集,选择全部相关时刻/参数值。下面每个表达式独占一行,再点击设置顶部 Evaluate(计算)。结果表会在图形窗口下方打开。
You should see: Three-PFP receiver peak≈3.48519 kPa.
应当看到:三 PFP 接收峰值约 3.48519 kPa。
If this does not work / 如果这一步不成功
An Undefined variable result often means the wrong dataset/component. Use the full component prefix in this table. The solved data must belong to the study you just computed.
Undefined variable 常见原因是数据集/组件选错。表中使用完整组件前缀,求解数据必须属于刚完成的研究。
| Expression / 表达式 | Display unit / 显示单位 | What it checks / 核对目的 |
|---|---|---|
c3.pdet*DP | kPa | Filtered receiver gauge pressure / 滤波接收表压 |
c3.r1 | 1 | Source radius / 源半径 |
c3.U1 | m/s | Radial velocity / 径向速度 |
(c3.En+c3.Ei+c3.Ep+c3.Ea+E0c3*(c3.ediss+c3.erout)-E0c3)/E0c3 | 1 | Energy ledger residual / 能量账残差 |
93 Plot the scalar result against time
绘制标量随时间变化的曲线
Right-click Results → 1D Plot Group. Choose this study’s dataset. Right-click that 1D Plot Group → Global. Replace the default expression with the one below, set its Unit, keep x-Axis Data = Time, and click Plot.
右击 Results → 1D Plot Group(一维绘图组),选择当前研究数据集。右击该绘图组 → Global(全局),将默认表达式替换为下值,设置 Unit,x-Axis Data 保持 Time,然后点击 Plot(绘制)。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Expression | c3.pdet*DP |
| Unit | kPa |
You should see: A curve appears with a labelled time axis and the requested units.
应当看到:出现带时间横轴及所选单位的曲线。
94 Save a checkpoint
保存检查点
Choose File → Save As. Save as Model_A_c3_solved_my_rebuild.mph in your own practice folder. For subsequent cards use Ctrl+S. Keep the accepted delivered models as reference files.
选择 File → Save As(另存为),在自己的练习文件夹保存为 Model_A_c3_solved_my_rebuild.mph。后续操作用 Ctrl+S 保存。保留已经交付的模型作为参考。
You should see: This component and earlier solved components are saved.
应当看到:保存当前组件及此前已解组件。
D · Five resolved sources
D · 五个分辨源
The repeated cards below give every setting for this component. Do not use blind component duplication: source counts, centres, parameter suffixes, integration operators, phase unknowns and fluxes change.
下面重复列出此组件全部设置。不要盲目复制组件:源数目、位置、参数后缀、积分算子、相态未知量与通量都有变化。
95 Add the independent 3D component c5
添加独立三维组件 c5
Right-click the model root → Add Component → 3D. Click the new Component and set its Name and Label below. Right-click this Component → Add Physics, search for Coefficient Form PDE, click Add to Component; repeat for Global ODEs and DAEs. Close Add Physics. Each scenario has its own wave and source states.
右击模型根节点 → Add Component → 3D,点击新组件并设置下列 Name 与 Label。右击此组件 → Add Physics,搜索 Coefficient Form PDE,点击 Add to Component;再添加 Global ODEs and DAEs,关闭添加窗口。每种情形拥有各自的波场与源状态。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Component Name | c5 |
| Label | c5: 5 sources |
You should see: Both mathematical interfaces belong to the new component, not the earlier gas component.
应当看到:两个数学接口属于新组件,不是之前的气体组件。
96 Enter the parameters
输入参数
In the left Model Builder, expand Global Definitions, then click Parameters 1. In Settings, type each Name and Expression into a row. Press Tab to move to the next cell. For the long table, click Load from File below the table, choose GUI_c5_parameters_import.txt after saving it locally, and click Open. Use this headerless file rather than a TSV with column headings. Import once; when adding a component, append only the new names and keep earlier parameters.
在左侧模型开发器展开 Global Definitions(全局定义),点击 Parameters 1(参数 1)。在设置表中逐行输入 Name 与 Expression,按 Tab 切换单元格。长表可先将链接文件保存到本机,点击表格下方 Load from File(从文件加载),选择 GUI_c5_parameters_import.txt,然后 Open。使用无表头文件,只导入一次;添加组件时只追加新名称,保留此前参数。
You should see: All 14 entries listed here are present. The Value column evaluates expressions in SI units when their dependencies have been created.
应当看到:此处列出的 14 项均在表中。依赖项建立后,Value 列会显示 SI 制计算值。
Why this choice: Parameters are prescribed inputs. The solver will calculate dependent variables separately.
为何这样设置:参数是指定输入;待求的未知变量由求解器另行计算。
If this does not work / 如果这一步不成功
A red Name often means a duplicate. Remove the duplicate row rather than changing the expression name. A temporarily unresolved function call becomes valid after its function is added in the next cards.
Name 变红通常表示重名,应删除重复行,保留本教程的名称。尚未创建的函数会暂时无法求值,后续创建后即可恢复。
| Name / 名称 | Expression / 表达式 | Meaning / 含义 |
|---|---|---|
| ac5 | 1.4525420543577222e-05[m] | |
| mpc5 | 2.242355161814176e-13[kg] | |
| S0c5 | 126.55641985399375[J/(kg*K)] | |
| uDc5 | -9815.2763353628288[J/kg] | |
| rhoDc5 | 1621.5654271537715[kg/m^3] | |
| rDc5 | 3.2079464129430387e-06[m] | |
| bc5 | 2.9050841087154444e-05[m] | Matching radius; continuum case uses the infinite-near-field dilute limit |
| bsc5 | bc5/ac5 | |
| tauc5 | ac5*sqrt(rhoL/DP) | |
| E0c5 | 5.5000000000000003e-08[J] | Fixed total retained source energy, including finite PFP internal and interface energy |
| sigc5 | 0.054[N/m] | |
| sigIc5 | 0.00941[N/m] | |
| rhoLc5 | 1621.2302097446284[kg/m^3] | |
| rhoVc5 | 8.7819467089401986[kg/m^3] |
For this added component, append only these new parameter names to the existing Parameters table. Do not clear earlier component parameters; the import file contains no duplicates with them.
添加此组件时,只把这些新参数追加到原参数表,不要清空其他组件参数;本导入文件与此前参数不重名。
97 Set the geometry units and curvature order
设置几何单位与曲率阶次
Click this component’s Geometry 1, set Length unit = m. Click the Component itself, expand Curved Mesh Elements and set Geometry shape function = Quadratic Lagrange. The Geometry dimension remains 3D.
点击当前组件的 Geometry 1(几何 1),Length unit = m。再点击 Component,展开 Curved Mesh Elements,设 Geometry shape function = Quadratic Lagrange;几何维度保持 3D。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Length unit | m |
| Geometry shape function | Quadratic Lagrange |
You should see: Length unit is m. All lengths entered below contain explicit units or parameter expressions.
应当看到:长度单位为 m;下面所有长度都使用显式单位或参数表达式。
98 Create the outer water sphere
创建外部水域球体
Right-click Geometry 1 → Sphere. Set Label = Outer water. Set Radius and position below, then click Build Selected.
右击 Geometry 1 → Sphere(球),Label = Outer water,按下值填半径与位置,再点击 Build Selected(构建选定)。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | Lout |
| Position x, y, z | 0; 0; 0 |
You should see: A solid sphere of radius 0.9 mm.
应当看到:出现半径 0.9 mm 的实心球。
99 Create matching hole sphere 1
创建第 1 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 1, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 1,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bc5 |
| x | 0.00020000000000000001[m] |
| y | 0[m] |
| z | 0[m] |
You should see: Hole 1 is fully inside the outer sphere and separated from the other holes.
应当看到:第 1 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
100 Create matching hole sphere 2
创建第 2 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 2, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 2,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bc5 |
| x | 6.1803398874989493e-05[m] |
| y | 0.00019021130325903071[m] |
| z | 0[m] |
You should see: Hole 2 is fully inside the outer sphere and separated from the other holes.
应当看到:第 2 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
101 Create matching hole sphere 3
创建第 3 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 3, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 3,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bc5 |
| x | -0.00016180339887498948[m] |
| y | 0.00011755705045849465[m] |
| z | 0[m] |
You should see: Hole 3 is fully inside the outer sphere and separated from the other holes.
应当看到:第 3 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
102 Create matching hole sphere 4
创建第 4 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 4, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 4,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bc5 |
| x | -0.00016180339887498951[m] |
| y | -0.00011755705045849461[m] |
| z | 0[m] |
You should see: Hole 4 is fully inside the outer sphere and separated from the other holes.
应当看到:第 4 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
103 Create matching hole sphere 5
创建第 5 个匹配孔球体
Right-click Geometry 1 → Sphere. Use a new Sphere node for this hole. Set Label = Hole 5, Radius and Position below, then Build Selected.
右击 Geometry 1 → Sphere,为此孔新建球节点。Label = Hole 5,按下列设置半径/位置,再 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | bc5 |
| x | 6.1803398874989452e-05[m] |
| y | -0.00019021130325903073[m] |
| z | 0[m] |
You should see: Hole 5 is fully inside the outer sphere and separated from the other holes.
应当看到:第 5 个孔完全位于外球内,并与其他孔分离。
Why this choice: This is a fixed matching surface surrounding a spherical nonlinear source. It is not a moving bubble boundary.
为何这样设置:这是包围球形非线性源的固定匹配面,不是移动气泡边界。
104 Subtract the holes from the water sphere
从水球中减去匹配孔
Right-click Geometry 1 → Booleans and Partitions → Difference. Click the Objects to add selection field, select only Outer water. Click Objects to subtract, then select all Hole objects (use Ctrl-click or the object list). Clear Keep input objects if selected; click Build Selected.
右击 Geometry 1 → Booleans and Partitions(布尔与分割)→ Difference(差集)。先激活 Objects to add,只选 Outer water;再激活 Objects to subtract,选全部 Hole 对象,可 Ctrl 多选或用对象列表。若 Keep input objects 已勾选,取消它,然后 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Objects to add | Outer water |
| Objects to subtract | All 5 Hole objects |
| Keep input objects | Off |
You should see: A water domain with matching holes. The solid hole interiors are absent.
应当看到:保留带匹配孔的水域,孔内部实体已经消失。
105 Create the finite receiver cylinder
创建有限接收器圆柱
Right-click Geometry 1 → Cylinder. Set Label = Receiver. Enter the dimensions and base position below, leave the axis pointing along z, then click Build Selected.
右击 Geometry 1 → Cylinder(圆柱),Label = Receiver,输入下面尺寸与底面位置,轴向保持 z,点击 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | adet |
| Height | hdet |
| x | 0 |
| y | 0 |
| z | robs-hdet/2 |
| Axis type / direction | z-axis |
You should see: A 50 μm radius, 5 μm thick cylinder centred at z=0.5 mm, inside the water.
应当看到:水中出现半径 50 μm、厚 5 μm、中心位于 z=0.5 mm 的圆柱。
Why this choice: The receiver is a marked part of the same water, not a solid sensor or a no-flow obstruction.
为何这样设置:接收器只是同一水域中标记的区域,不是实体传感器或阻流障碍。
106 Finalize as a union with interior boundaries
形成保留内部边界的联合体
Click the final Form Union geometry node. Choose Action = Form a union and select Keep interior boundaries. Click Build All. The receiver and, when present, population region must remain separate selectable domains.
点击末尾 Form Union(形成联合体) 节点,Action = Form a union,勾选 Keep interior boundaries(保留内部边界),点击 Build All。接收器及泡群区域必须保留为可分别选择的域。
You should see: The receiver is a distinct domain. Ordinary hole cases have two water domains; the population diagnostic has three.
应当看到:接收器为独立域。普通带孔情形有两个水域;泡群诊断有三个。
If this does not work / 如果这一步不成功
If only one domain remains, restore Keep interior boundaries and Build All before creating selections.
若只剩一个域,重新勾选 Keep interior boundaries 并 Build All,再建立选择。
107 Create named selection source1c5
创建命名选择 source1c5
Right-click Component → Definitions → Selections → Box. Set the Label to source1c5. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source1c5,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | 0.00020000000000000001[m]-1.001*bc5 |
| y minimum | 0[m]-1.001*bc5 |
| z minimum | 0[m]-1.001*bc5 |
| x maximum | 0.00020000000000000001[m]+1.001*bc5 |
| y maximum | 0[m]+1.001*bc5 |
| z maximum | 0[m]+1.001*bc5 |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
108 Create named selection source2c5
创建命名选择 source2c5
Right-click Component → Definitions → Selections → Box. Set the Label to source2c5. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source2c5,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | 6.1803398874989493e-05[m]-1.001*bc5 |
| y minimum | 0.00019021130325903071[m]-1.001*bc5 |
| z minimum | 0[m]-1.001*bc5 |
| x maximum | 6.1803398874989493e-05[m]+1.001*bc5 |
| y maximum | 0.00019021130325903071[m]+1.001*bc5 |
| z maximum | 0[m]+1.001*bc5 |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
109 Create named selection source3c5
创建命名选择 source3c5
Right-click Component → Definitions → Selections → Box. Set the Label to source3c5. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source3c5,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | -0.00016180339887498948[m]-1.001*bc5 |
| y minimum | 0.00011755705045849465[m]-1.001*bc5 |
| z minimum | 0[m]-1.001*bc5 |
| x maximum | -0.00016180339887498948[m]+1.001*bc5 |
| y maximum | 0.00011755705045849465[m]+1.001*bc5 |
| z maximum | 0[m]+1.001*bc5 |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
110 Create named selection source4c5
创建命名选择 source4c5
Right-click Component → Definitions → Selections → Box. Set the Label to source4c5. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source4c5,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | -0.00016180339887498951[m]-1.001*bc5 |
| y minimum | -0.00011755705045849461[m]-1.001*bc5 |
| z minimum | 0[m]-1.001*bc5 |
| x maximum | -0.00016180339887498951[m]+1.001*bc5 |
| y maximum | -0.00011755705045849461[m]+1.001*bc5 |
| z maximum | 0[m]+1.001*bc5 |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
111 Create named selection source5c5
创建命名选择 source5c5
Right-click Component → Definitions → Selections → Box. Set the Label to source5c5. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 source5c5,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | 6.1803398874989452e-05[m]-1.001*bc5 |
| y minimum | -0.00019021130325903073[m]-1.001*bc5 |
| z minimum | 0[m]-1.001*bc5 |
| x maximum | 6.1803398874989452e-05[m]+1.001*bc5 |
| y maximum | -0.00019021130325903073[m]+1.001*bc5 |
| z maximum | 0[m]+1.001*bc5 |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
112 Create named selection detectorc5
创建命名选择 detectorc5
Right-click Component → Definitions → Selections → Box. Set the Label to detectorc5. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 detectorc5,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Domain |
| Include entity if | Entity inside box |
| x minimum | -1.001*adet |
| x maximum | 1.001*adet |
| y minimum | -1.001*adet |
| y maximum | 1.001*adet |
| z minimum | robs-0.501*hdet |
| z maximum | robs+0.501*hdet |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
113 Create named selection notfarc5
创建命名选择 notfarc5
Right-click Component → Definitions → Selections → Box. Set the Label to notfarc5. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 notfarc5,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | -0.8*Lout |
| y minimum | -0.8*Lout |
| z minimum | -0.8*Lout |
| x maximum | 0.8*Lout |
| y maximum | 0.8*Lout |
| z maximum | 0.8*Lout |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
114 Select only the outer radiation surface
只选择外部辐射面
Right-click Definitions → Selections → Complement. Set Label below, Geometric entity level = Boundary. In Input selections add the notfar selection created above.
右击 Definitions → Selections → Complement(补集),按下值设置 Label,几何层级选 Boundary;Input selections 中添加上面创建的 notfar 选择。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Label | farc5 |
| Geometric entity level | Boundary |
| Input selections | notfarc5 |
You should see: Only the large outer sphere is highlighted. Hole/receiver/population interior surfaces are excluded.
应当看到:只有大外球面高亮;孔面、接收器面及泡群内部面不在其中。
115 Group all source boundaries
合并所有源边界选择
Right-click Definitions → Selections → Union. Set Label = allSourcesc5, Geometric entity level = Boundary. Add every source selection below to Input selections.
右击 Definitions → Selections → Union(并集),Label = allSourcesc5,层级为 Boundary,将所有源选择添加到 Input selections。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Input selections | source1c5; source2c5; source3c5; source4c5; source5c5 |
You should see: Only matching-hole surfaces are in this combined selection.
应当看到:此联合选择仅包含匹配孔面。
116 Add integration operator idc5
添加Integration算子 idc5
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | idc5 |
| Geometric entity level | Domain |
| Selection | detectorc5 |
You should see: idc5 appears as the operator name. The highlighted entities match detectorc5.
应当看到:算子名称为 idc5;高亮实体与 detectorc5 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
117 Add integration operator ioc5
添加Integration算子 ioc5
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | ioc5 |
| Geometric entity level | Boundary |
| Selection | farc5 |
You should see: ioc5 appears as the operator name. The highlighted entities match farc5.
应当看到:算子名称为 ioc5;高亮实体与 farc5 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
118 Add integration operator is1c5
添加Integration算子 is1c5
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is1c5 |
| Geometric entity level | Boundary |
| Selection | source1c5 |
You should see: is1c5 appears as the operator name. The highlighted entities match source1c5.
应当看到:算子名称为 is1c5;高亮实体与 source1c5 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
119 Add integration operator is2c5
添加Integration算子 is2c5
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is2c5 |
| Geometric entity level | Boundary |
| Selection | source2c5 |
You should see: is2c5 appears as the operator name. The highlighted entities match source2c5.
应当看到:算子名称为 is2c5;高亮实体与 source2c5 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
120 Add integration operator is3c5
添加Integration算子 is3c5
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is3c5 |
| Geometric entity level | Boundary |
| Selection | source3c5 |
You should see: is3c5 appears as the operator name. The highlighted entities match source3c5.
应当看到:算子名称为 is3c5;高亮实体与 source3c5 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
121 Add integration operator is4c5
添加Integration算子 is4c5
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is4c5 |
| Geometric entity level | Boundary |
| Selection | source4c5 |
You should see: is4c5 appears as the operator name. The highlighted entities match source4c5.
应当看到:算子名称为 is4c5;高亮实体与 source4c5 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
122 Add integration operator is5c5
添加Integration算子 is5c5
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | is5c5 |
| Geometric entity level | Boundary |
| Selection | source5c5 |
You should see: is5c5 appears as the operator name. The highlighted entities match source5c5.
应当看到:算子名称为 is5c5;高亮实体与 source5c5 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
123 Add integration operator ivc5
添加Integration算子 ivc5
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | ivc5 |
| Geometric entity level | Domain |
| Selection | All domains |
You should see: ivc5 appears as the operator name. The highlighted entities match All domains.
应当看到:算子名称为 ivc5;高亮实体与 All domains 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
124 Create the source and wave expression node
创建源与波表达式节点
Right-click this Component → Definitions → Variables. Set Label = Source and wave expressions, Geometric entity level = Entire model. Enter every expression in the table below. These expressions depend on unknowns that will be added next; do not try to Compute yet.
右击当前 Component → Definitions → Variables,Label = Source and wave expressions,Geometric entity level = Entire model。输入下面全部表达式;它们依赖下一步添加的未知量,此时先不要 Compute。
You should see: The variable table is populated and Entire model is selected.
应当看到:变量表已填写,层级为 Entire model。
Enter all 108 rows below, or load GUI_c5_variables_import.txt using the exact import procedure in GUI basics. The file has no heading row.
逐行输入下面全部 108 行,或按界面基础的导入步骤加载 GUI_c5_variables_import.txt。文件没有表头。
| Name / 名称 | Expression / 表达式 |
|---|---|
| R1 | ac5*r1 |
| U1 | ac5*r1t |
| Temp1 | Tref*theta1 |
| rhoLP1 | rhoLc5*exp(qL1) |
| rhoVP1 | rhoVc5*exp(qV1) |
| Vb1 | 4*pi*R1^3/3 |
| pLP1 | pfpp(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[Pa] |
| pVP1 | pfpp(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[Pa] |
| uLP1 | pfpu(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[J/kg] |
| uVP1 | pfpu(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[J/kg] |
| gLP1 | pfpg(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[J/kg] |
| gVP1 | pfpg(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[J/kg] |
| fv1 | (Vb1-mpc5/rhoLP1)/(mpc5*(1/rhoVP1-1/rhoLP1)) |
| Rg1 | (max(fv1*mpc5/rhoVP1,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec1 | ((1-fv1)*(uLP1+pLP1/rhoLP1-gLP1)+fv1*(uVP1+pVP1/rhoVP1-gVP1))/Temp1 |
| qvol1 | 4*pi*R1^2*U1 |
| pB1 | pLP1-2*sigc5/R1-4*muL*U1/R1 |
| En1 | 2*pi*rhoL*R1^3*U1^2*(1-R1/bc5) |
| Ei1 | mpc5*((1-fv1)*uLP1+fv1*uVP1)+4*pi*sigIc5*Rg1^2-mpc5*uDc5-DP*mpc5/rhoDc5-4*pi*sigc5*rDc5^2 |
| Ep1 | DP*Vb1+4*pi*sigc5*R1^2 |
| R2 | ac5*r2 |
| U2 | ac5*r2t |
| Temp2 | Tref*theta2 |
| rhoLP2 | rhoLc5*exp(qL2) |
| rhoVP2 | rhoVc5*exp(qV2) |
| Vb2 | 4*pi*R2^3/3 |
| pLP2 | pfpp(Temp2/1[K],rhoLP2/(1[kg/m^3]))*1[Pa] |
| pVP2 | pfpp(Temp2/1[K],rhoVP2/(1[kg/m^3]))*1[Pa] |
| uLP2 | pfpu(Temp2/1[K],rhoLP2/(1[kg/m^3]))*1[J/kg] |
| uVP2 | pfpu(Temp2/1[K],rhoVP2/(1[kg/m^3]))*1[J/kg] |
| gLP2 | pfpg(Temp2/1[K],rhoLP2/(1[kg/m^3]))*1[J/kg] |
| gVP2 | pfpg(Temp2/1[K],rhoVP2/(1[kg/m^3]))*1[J/kg] |
| fv2 | (Vb2-mpc5/rhoLP2)/(mpc5*(1/rhoVP2-1/rhoLP2)) |
| Rg2 | (max(fv2*mpc5/rhoVP2,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec2 | ((1-fv2)*(uLP2+pLP2/rhoLP2-gLP2)+fv2*(uVP2+pVP2/rhoVP2-gVP2))/Temp2 |
| qvol2 | 4*pi*R2^2*U2 |
| pB2 | pLP2-2*sigc5/R2-4*muL*U2/R2 |
| En2 | 2*pi*rhoL*R2^3*U2^2*(1-R2/bc5) |
| Ei2 | mpc5*((1-fv2)*uLP2+fv2*uVP2)+4*pi*sigIc5*Rg2^2-mpc5*uDc5-DP*mpc5/rhoDc5-4*pi*sigc5*rDc5^2 |
| Ep2 | DP*Vb2+4*pi*sigc5*R2^2 |
| R3 | ac5*r3 |
| U3 | ac5*r3t |
| Temp3 | Tref*theta3 |
| rhoLP3 | rhoLc5*exp(qL3) |
| rhoVP3 | rhoVc5*exp(qV3) |
| Vb3 | 4*pi*R3^3/3 |
| pLP3 | pfpp(Temp3/1[K],rhoLP3/(1[kg/m^3]))*1[Pa] |
| pVP3 | pfpp(Temp3/1[K],rhoVP3/(1[kg/m^3]))*1[Pa] |
| uLP3 | pfpu(Temp3/1[K],rhoLP3/(1[kg/m^3]))*1[J/kg] |
| uVP3 | pfpu(Temp3/1[K],rhoVP3/(1[kg/m^3]))*1[J/kg] |
| gLP3 | pfpg(Temp3/1[K],rhoLP3/(1[kg/m^3]))*1[J/kg] |
| gVP3 | pfpg(Temp3/1[K],rhoVP3/(1[kg/m^3]))*1[J/kg] |
| fv3 | (Vb3-mpc5/rhoLP3)/(mpc5*(1/rhoVP3-1/rhoLP3)) |
| Rg3 | (max(fv3*mpc5/rhoVP3,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec3 | ((1-fv3)*(uLP3+pLP3/rhoLP3-gLP3)+fv3*(uVP3+pVP3/rhoVP3-gVP3))/Temp3 |
| qvol3 | 4*pi*R3^2*U3 |
| pB3 | pLP3-2*sigc5/R3-4*muL*U3/R3 |
| En3 | 2*pi*rhoL*R3^3*U3^2*(1-R3/bc5) |
| Ei3 | mpc5*((1-fv3)*uLP3+fv3*uVP3)+4*pi*sigIc5*Rg3^2-mpc5*uDc5-DP*mpc5/rhoDc5-4*pi*sigc5*rDc5^2 |
| Ep3 | DP*Vb3+4*pi*sigc5*R3^2 |
| R4 | ac5*r4 |
| U4 | ac5*r4t |
| Temp4 | Tref*theta4 |
| rhoLP4 | rhoLc5*exp(qL4) |
| rhoVP4 | rhoVc5*exp(qV4) |
| Vb4 | 4*pi*R4^3/3 |
| pLP4 | pfpp(Temp4/1[K],rhoLP4/(1[kg/m^3]))*1[Pa] |
| pVP4 | pfpp(Temp4/1[K],rhoVP4/(1[kg/m^3]))*1[Pa] |
| uLP4 | pfpu(Temp4/1[K],rhoLP4/(1[kg/m^3]))*1[J/kg] |
| uVP4 | pfpu(Temp4/1[K],rhoVP4/(1[kg/m^3]))*1[J/kg] |
| gLP4 | pfpg(Temp4/1[K],rhoLP4/(1[kg/m^3]))*1[J/kg] |
| gVP4 | pfpg(Temp4/1[K],rhoVP4/(1[kg/m^3]))*1[J/kg] |
| fv4 | (Vb4-mpc5/rhoLP4)/(mpc5*(1/rhoVP4-1/rhoLP4)) |
| Rg4 | (max(fv4*mpc5/rhoVP4,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec4 | ((1-fv4)*(uLP4+pLP4/rhoLP4-gLP4)+fv4*(uVP4+pVP4/rhoVP4-gVP4))/Temp4 |
| qvol4 | 4*pi*R4^2*U4 |
| pB4 | pLP4-2*sigc5/R4-4*muL*U4/R4 |
| En4 | 2*pi*rhoL*R4^3*U4^2*(1-R4/bc5) |
| Ei4 | mpc5*((1-fv4)*uLP4+fv4*uVP4)+4*pi*sigIc5*Rg4^2-mpc5*uDc5-DP*mpc5/rhoDc5-4*pi*sigc5*rDc5^2 |
| Ep4 | DP*Vb4+4*pi*sigc5*R4^2 |
| R5 | ac5*r5 |
| U5 | ac5*r5t |
| Temp5 | Tref*theta5 |
| rhoLP5 | rhoLc5*exp(qL5) |
| rhoVP5 | rhoVc5*exp(qV5) |
| Vb5 | 4*pi*R5^3/3 |
| pLP5 | pfpp(Temp5/1[K],rhoLP5/(1[kg/m^3]))*1[Pa] |
| pVP5 | pfpp(Temp5/1[K],rhoVP5/(1[kg/m^3]))*1[Pa] |
| uLP5 | pfpu(Temp5/1[K],rhoLP5/(1[kg/m^3]))*1[J/kg] |
| uVP5 | pfpu(Temp5/1[K],rhoVP5/(1[kg/m^3]))*1[J/kg] |
| gLP5 | pfpg(Temp5/1[K],rhoLP5/(1[kg/m^3]))*1[J/kg] |
| gVP5 | pfpg(Temp5/1[K],rhoVP5/(1[kg/m^3]))*1[J/kg] |
| fv5 | (Vb5-mpc5/rhoLP5)/(mpc5*(1/rhoVP5-1/rhoLP5)) |
| Rg5 | (max(fv5*mpc5/rhoVP5,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec5 | ((1-fv5)*(uLP5+pLP5/rhoLP5-gLP5)+fv5*(uVP5+pVP5/rhoVP5-gVP5))/Temp5 |
| qvol5 | 4*pi*R5^2*U5 |
| pB5 | pLP5-2*sigc5/R5-4*muL*U5/R5 |
| En5 | 2*pi*rhoL*R5^3*U5^2*(1-R5/bc5) |
| Ei5 | mpc5*((1-fv5)*uLP5+fv5*uVP5)+4*pi*sigIc5*Rg5^2-mpc5*uDc5-DP*mpc5/rhoDc5-4*pi*sigc5*rDc5^2 |
| Ep5 | DP*Vb5+4*pi*sigc5*R5^2 |
| En | 1*(En1+En2+En3+En4+En5) |
| Ei | 1*(Ei1+Ei2+Ei3+Ei4+Ei5) |
| Ep | 1*(Ep1+Ep2+Ep3+Ep4+Ep5) |
| Ein | E0c5 |
| phiDt | ac5^2/tauc5*chit |
| pAc | -rhoL*phiDt |
| u2ac | (ac5^2/tauc5)^2*(chix^2+chiy^2+chiz^2) |
| Ea | ivc5(rhoL/2*(u2ac+phiDt^2/cL^2)) |
125 Name and discretize the potential field
命名并离散波势场
Click the main Coefficient Form PDE interface node. Set Name below. Expand Dependent Variables, set Number of dependent variables = 1, Field name = chi and Dependent variables = chi. In Units use Dimensionless dependent variable and source unit m^-2. In Discretization choose Quadratic Lagrange. If hidden, enable Advanced Physics Options in Show More Options.
点击顶层 Coefficient Form PDE 接口节点,设置下列 Name。展开 Dependent Variables,未知量数目 = 1,Field name = chi,Dependent variables = chi。Units 中未知量为无量纲、源单位 m^-2;Discretization 中选 Quadratic Lagrange。若栏目隐藏,在 Show More Options 启用 Advanced Physics Options。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Interface Name | potc5 |
| Field name; Dependent variables | chi; chi |
| Dependent variable unit | 1 |
| Source term unit | m^-2 |
| Shape function | Lagrange |
| Element order | Quadratic |
You should see: Initial Values and coefficient settings now show chi, not the default u.
应当看到:初值与系数设置中显示 chi,不再是默认 u。
126 Enter the wave PDE coefficients
输入波 PDE 系数
Click Coefficient Form PDE → Coefficient Form PDE 1. Choose All domains. Enter the following scalar/vector coefficients. Expand the coefficient sections if collapsed. This interface implements ea*chi_tt − ∇·(c∇chi) = f for these settings.
点击 Coefficient Form PDE → Coefficient Form PDE 1,选 All domains,输入以下标量/向量系数,折叠栏目需展开。此设置表示 ea*chi_tt − ∇·(c∇chi) = f。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Diffusion coefficient c | 1 |
| Mass coefficient ea | 1/cL^2 |
| Damping coefficient da | 0 |
| Source term f | 0 |
| Absorption coefficient a | 0 |
| Conservative flux convection α | 0; 0; 0 |
| Convection coefficient β | 0; 0; 0 |
| Conservative flux source γ | 0; 0; 0 |
You should see: ea is nonzero and da=0. The PDE covers the receiver domain as well as surrounding water.
应当看到:ea 非零、da=0;PDE 同时覆盖接收器域与周围水域。
127 Set the zero wave initial conditions
设置零波场初值
Click Coefficient Form PDE → Initial Values 1. Set chi = 0 and its initial time derivative = 0 on all domains.
点击 Coefficient Form PDE → Initial Values 1,在所有域设置 chi=0、初始时间导数=0。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| chi | 0 |
| Initial time derivative of chi | 0 |
You should see: The initial wave field and velocity are zero.
应当看到:初始波场及其速度均为零。
128 Apply the source flux at hole 1
在第 1 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source1c5 |
| Boundary source g | -tauc5/ac5^2*qvol1/is1c5(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source1c5.
应当看到:此通量节点只高亮 source1c5。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
129 Apply the source flux at hole 2
在第 2 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source2c5 |
| Boundary source g | -tauc5/ac5^2*qvol2/is2c5(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source2c5.
应当看到:此通量节点只高亮 source2c5。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
130 Apply the source flux at hole 3
在第 3 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source3c5 |
| Boundary source g | -tauc5/ac5^2*qvol3/is3c5(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source3c5.
应当看到:此通量节点只高亮 source3c5。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
131 Apply the source flux at hole 4
在第 4 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source4c5 |
| Boundary source g | -tauc5/ac5^2*qvol4/is4c5(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source4c5.
应当看到:此通量节点只高亮 source4c5。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
132 Apply the source flux at hole 5
在第 5 个孔施加源通量
Right-click Coefficient Form PDE → Flux/Source. Select the matching boundary and enter g and q below. Leave the default Zero Flux node for unassigned exterior boundaries; continuity across interior water domains remains automatic.
右击 Coefficient Form PDE → Flux/Source(通量/源),选对应匹配边界,填下列 g 与 q。保留默认 Zero Flux 供未指定外边界使用;内部水域之间自动连续。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | source5c5 |
| Boundary source g | -tauc5/ac5^2*qvol5/is5c5(1) |
| Boundary absorption q | 0 |
You should see: The Flux/Source node highlights only source5c5.
应当看到:此通量节点只高亮 source5c5。
Why this choice: The water-domain outward normal points into the hole. This sign makes an expanding source send liquid outward.
为何这样设置:水域的外法向指向孔内部;此符号使膨胀源向外排出液体。
133 Apply the radiation condition
施加辐射条件
Right-click Coefficient Form PDE → Flux/Source again. Set Label = Outer radiation; choose the far selection and enter g and q below.
再次 右击 Coefficient Form PDE → Flux/Source,Label = Outer radiation,选择 far 选择,输入下列 g 与 q。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | farc5 |
| g | -chit/cL |
| q | 1/Lout |
You should see: Only the outer sphere is selected. q is positive 1/Lout.
应当看到:只选外球面,q 是正的 1/Lout。
Why this choice: This outgoing-wave condition lets wave energy leave rather than reflecting from a rigid wall.
为何这样设置:此出射波条件允许波能量离开,避免刚壁反射。
134 Name the global-equation interface
命名全局方程接口
Click the main Global ODEs and DAEs node in this component. Change its Name to the value below. Then expand it and click its existing Global Equations 1 child.
点击此组件的顶层 Global ODEs and DAEs,将 Name 改为下值;再展开并点击已有 Global Equations 1 子节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Interface Name | gec5 |
You should see: The interface belongs to c5.
应当看到:该接口属于 c5。
135 Create the global unknowns and their equations
创建全局未知量与方程
Click Global ODEs and DAEs → Global Equations 1. Delete its placeholder row if present. Fill the four columns shown below. The f column is a residual set equal to zero: do not append “=0”. Use the full field under the table for long expressions. Each Name defines a new unknown; its first/second derivatives add t/tt. The complete four-column, headerless file is GUI_c5_global_equations.txt; you can enter the rows manually or use Load from File.
点击 Global ODEs and DAEs → Global Equations 1(全局方程 1),删除占位行,填写下面四列。f 列是等于零的残差,不要再输入“=0”。长表达式可用表格下方完整编辑框。Name 定义未知量;一阶、二阶导数在名称后加 t、tt。完整无表头四列表为 GUI_c5_global_equations.txt;可手动输入,也可从文件加载。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Dependent variable quantity / 未知量单位 | Dimensionless (1) |
| Source term quantity / 方程单位 | Dimensionless (1) |
You should see: Exactly 23 equation rows, with the initial values and initial derivatives shown below.
应当看到:恰有 23 行方程,初值与初始导数和下面一致。
Why this choice: A global unknown has one value per component/time, rather than one value at every mesh node.
为何这样设置:全局未知量在每个组件/时刻有一个值,而不是每个网格节点各有一个值。
If this does not work / 如果这一步不成功
Unknown variable is an error. Check spelling and component scope. The native A ledger equations retain inverse-time residuals in some rows; a dimensional-consistency warning is different from an undefined name. Keep the native expressions and units as supplied.
Unknown variable 是错误,应检查拼写和组件作用域。原生 A 的部分能量账方程保留时间倒数残差;量纲一致性警告与未定义名称错误不同,应保留所给原生表达式和单位。
| Name / 未知量 | f(u,ut,utt,t) / 残差 | Initial value (u_0) / 初值 | Initial value (ut_0) / 初始导数 |
|---|---|---|---|
| r1 | tauc5^2*((r1-r1^2/bsc5)*r1tt+(1.5-2*r1/bsc5)*r1t^2)-(pB1-DP)/DP-tauc5*is1c5(chit)/is1c5(1) | 1 | 0 |
| theta1 | (pVP1-pLP1-2*sigIc5/Rg1)/DP | 1 | 0 |
| qL1 | (gLP1-gVP1)/(100[kJ/kg]) | -4.3179184334226957e-06 | 0 |
| qV1 | (Sspec1-S0c5)/(100[J/(kg*K)]) | -0.0001041337623325709 | 0 |
| r2 | tauc5^2*((r2-r2^2/bsc5)*r2tt+(1.5-2*r2/bsc5)*r2t^2)-(pB2-DP)/DP-tauc5*is2c5(chit)/is2c5(1) | 1 | 0 |
| theta2 | (pVP2-pLP2-2*sigIc5/Rg2)/DP | 1 | 0 |
| qL2 | (gLP2-gVP2)/(100[kJ/kg]) | -4.3179184334226957e-06 | 0 |
| qV2 | (Sspec2-S0c5)/(100[J/(kg*K)]) | -0.0001041337623325709 | 0 |
| r3 | tauc5^2*((r3-r3^2/bsc5)*r3tt+(1.5-2*r3/bsc5)*r3t^2)-(pB3-DP)/DP-tauc5*is3c5(chit)/is3c5(1) | 1 | 0 |
| theta3 | (pVP3-pLP3-2*sigIc5/Rg3)/DP | 1 | 0 |
| qL3 | (gLP3-gVP3)/(100[kJ/kg]) | -4.3179184334226957e-06 | 0 |
| qV3 | (Sspec3-S0c5)/(100[J/(kg*K)]) | -0.0001041337623325709 | 0 |
| r4 | tauc5^2*((r4-r4^2/bsc5)*r4tt+(1.5-2*r4/bsc5)*r4t^2)-(pB4-DP)/DP-tauc5*is4c5(chit)/is4c5(1) | 1 | 0 |
| theta4 | (pVP4-pLP4-2*sigIc5/Rg4)/DP | 1 | 0 |
| qL4 | (gLP4-gVP4)/(100[kJ/kg]) | -4.3179184334226957e-06 | 0 |
| qV4 | (Sspec4-S0c5)/(100[J/(kg*K)]) | -0.0001041337623325709 | 0 |
| r5 | tauc5^2*((r5-r5^2/bsc5)*r5tt+(1.5-2*r5/bsc5)*r5t^2)-(pB5-DP)/DP-tauc5*is5c5(chit)/is5c5(1) | 1 | 0 |
| theta5 | (pVP5-pLP5-2*sigIc5/Rg5)/DP | 1 | 0 |
| qL5 | (gLP5-gVP5)/(100[kJ/kg]) | -4.3179184334226957e-06 | 0 |
| qV5 | (Sspec5-S0c5)/(100[J/(kg*K)]) | -0.0001041337623325709 | 0 |
| ediss | edisst-1*(16*pi*muL*R1*U1^2+16*pi*muL*R2*U2^2+16*pi*muL*R3*U3^2+16*pi*muL*R4*U4^2+16*pi*muL*R5*U5^2)/E0c5 | 0 | 0 |
| erout | eroutt-rhoL*(ac5^2/tauc5)^2*ioc5(chit*(chit/cL+chi/Lout))/E0c5 | 0 | 0 |
| pdet | tf*pdett+pdet-idc5(pAc)/(idc5(1)*DP) | 0 | 0 |
136 Switch to a user-controlled mesh
切换为用户控制网格
Click Mesh 1. In Settings choose Sequence type → User-controlled mesh. If converting a physics-controlled sequence, keep its Size node, remove other generated operations if needed, and create the operations below.
点击 Mesh 1(网格 1),在设置中选择 Sequence type → User-controlled mesh(用户控制网格)。若从物理控制序列转换,保留 Size 节点,必要时删除其他自动操作,再按下面创建。
You should see: Mesh 1 contains an editable Size node.
应当看到:Mesh 1 下有可编辑 Size(尺寸)节点。
137 Set the whole-geometry mesh size
设置整个几何的网格尺寸
Click Mesh 1 → Size. Choose Custom. In Element Size Parameters, enter all four values below.
点击 Mesh 1 → Size,选择 Custom(自定义),在 Element Size Parameters(单元大小参数) 输入下面四个值。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Maximum element size | 150[um] |
| Minimum element size | 5[um] |
| Maximum element growth rate | 1.5 |
| Curvature factor | 0.3 |
You should see: Custom is selected and values carry the correct length units.
应当看到:已选择 Custom,长度数值带正确单位。
138 Refine the cavity or source surfaces
细化空腔或源表面
Right-click Mesh 1 → Size to add a second Size node. Place it before the tetrahedral operation. Select Boundary and the named selection, choose Custom, activate Maximum element size, and enter the value below. Leave the other local size overrides unchecked.
右击 Mesh 1 → Size 添加第二个尺寸节点,放在四面体操作之前。选择 Boundary 与命名选择,选择 Custom,勾选 Maximum element size 并输入下值;其他局部覆盖项不勾选。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Selection | allSourcesc5 |
| Maximum element size | ac5/2 |
You should see: Only the inner surfaces are highlighted.
应当看到:只有内表面高亮。
Why this choice: Large gradients occur close to the cavity/source. A uniformly tiny mesh would waste memory far away.
为何这样设置:空腔/源附近梯度最大;远处采用同样极细网格会浪费内存。
139 Build the tetrahedral mesh
构建四面体网格
Right-click Mesh 1 → Free Tetrahedral, choose All domains, then click Build All at the top of Mesh Settings.
右击 Mesh 1 → Free Tetrahedral(自由四面体),选择 All domains,然后点击网格设置上方 Build All(全部构建)。
You should see: A 3D tetrahedral mesh appears, with finer elements near the inner boundary. Mesh statistics show a nonzero tetrahedron count.
应当看到:出现三维四面体网格,内边界附近更细;网格统计中四面体数量非零。
If this does not work / 如果这一步不成功
If no volume elements are created, check that Difference retained a solid shell, not only surfaces, and Free Tetrahedral selects all domains.
如果没有体单元,检查 Difference 是否保留实体壳层而不只是曲面,以及 Free Tetrahedral 是否选择全部域。
140 Create a separate transient study
创建独立瞬态研究
Right-click the model root → Add Study. Select General Studies → Time Dependent and click Add Study. Rename its Label to Study c5. Do not add this time step to another component’s study.
右击模型根节点 → Add Study(添加研究),选 General Studies → Time Dependent,点击 Add Study。Label 改为 Study c5;不要把此时间步骤加到其他组件的研究中。
You should see: A distinct Study c5 appears.
应当看到:出现单独的 Study c5。
141 Select which physics this study solves
选择本研究求解哪些物理场
Click this study’s Time Dependent step. Set Output times below. Expand Physics and Variables Selection. Enable Solve for only the Coefficient Form PDE and Global ODEs and DAEs in c5. Clear Solve for in all other components.
点击当前研究的 Time Dependent 步骤,设置下列 Output times。展开 Physics and Variables Selection(物理场与变量选择),只勾选 c5 中的 PDE 与全局 ODE,取消其他组件的 Solve for。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Output times | range(0,25[ns],8[us]) |
You should see: Exactly two interfaces are solved in this study.
应当看到:本研究只求解两个接口。
If this does not work / 如果这一步不成功
Adding a new component can enable its physics in earlier studies. Recheck every earlier study and disable the new component there too.
新增组件可能使之前研究也启用其物理场;须回查每个旧研究,将新组件在其中禁用。
142 Show the generated solver
显示自动生成的求解器
Right-click this Study → Show Default Solver. Expand Solver Configurations → Solution → Dependent Variables. If advanced sections are hidden, use Show More Options and enable Advanced Study Options and Advanced Physics Options. Do this after every equation/physics node is entered, so all fields appear.
右击当前 Study → Show Default Solver(显示默认求解器)。展开 Solver Configurations → Solution → Dependent Variables(因变量)。若高级栏目隐藏,在 Show More Options 中启用 Advanced Study Options 与 Advanced Physics Options。全部物理和方程节点输入后再生成,才能看到所有变量。
You should see: The chi field and the global ODE1 field are listed.
应当看到:列表中有 chi 场与全局 ODE1 场。
143 Set the variable scales
设置变量缩放
Click Dependent Variables. Set Defined by study step → User defined and Initial Values of Variables Solved For → Method → Initial expression. Click each Field child, expand Scaling, choose Method = Manual and enter the scale below. Match the field by its dependent variables; numeric node tags can differ.
点击 Dependent Variables,设 Defined by study step → User defined,Initial Values of Variables Solved For → Method → Initial expression。依次点击各 Field 子节点,在 Scaling 中选 Manual,填下列 Scale。按变量识别节点;编号标签可能不同。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Every field under Dependent Variables | 1 |
You should see: Each field shows Manual scaling, and initialization uses the physics initial expressions.
应当看到:每个场显示 Manual 缩放,初始化使用物理场的初始表达式。
Why this choice: The wave potential and radius/phase/ledger unknowns were already normalized in the accepted native model.
为何这样设置:原生模型已经对波势、半径/相态/能量账未知量做了归一化。
144 Use a direct linear solver
使用直接线性求解器
Right-click Time-Dependent Solver → Direct. Set Solver → PARDISO. A new Direct node becomes available to the nonlinear solver. Keep the other default Direct node disabled if one exists.
右击 Time-Dependent Solver → Direct(直接),设 Solver → PARDISO。新 Direct 节点供非线性求解器使用;若原来已有其他直接节点,保持其禁用。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Solver | PARDISO |
You should see: A Direct node using PARDISO is present.
应当看到:出现使用 PARDISO 的 Direct 节点。
145 Couple all unknowns in one nonlinear solve
将全部未知量放在一次耦合非线性求解中
Right-click Time-Dependent Solver → Fully Coupled. Under General choose the Direct/PARDISO node just created. Under Method and Termination enter Maximum number of iterations. Disable the Segregated node and any old Fully Coupled node. Only the new Fully Coupled node should be active.
右击 Time-Dependent Solver → Fully Coupled(全耦合)。General 中选择刚建的 Direct/PARDISO 节点;Method and Termination 中输入最大迭代次数。禁用 Segregated(分离)及旧 Fully Coupled,只启用新的全耦合节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Maximum number of iterations | 20 |
You should see: The active Fully Coupled node points to the active PARDISO solver.
应当看到:启用的全耦合节点指向启用的 PARDISO 求解器。
146 Set the actual internal time step
设置真正的内部时间步
Click Time-Dependent Solver. In General choose Defined by study step = User defined and enter Output times and Relative tolerance. Expand Time Stepping, choose Generalized alpha, then Steps taken by solver = Manual. Enter Time step and Amplification for high frequency. Keep Times to store = Output times by interpolation.
点击 Time-Dependent Solver(瞬态求解器)。General 中选 User defined,填 Output times 与 Relative tolerance。展开 Time Stepping(时间步进),选 Generalized alpha,Steps taken by solver = Manual;填写 Time step 与 Amplification for high frequency。Times to store 保持 Output times by interpolation。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Output times | range(0,25[ns],8[us]) |
| Relative tolerance | 2e-5 |
| Method | Generalized alpha |
| Steps taken by solver | Manual |
| Time step | 25[ns] |
| Amplification for high frequency | 0.75 |
You should see: The internal Time step reads 25[ns]. Output times alone do not enforce this step.
应当看到:内部 Time step 显示 25[ns];只填写 Output times 并不能强制内部时间步。
Why this choice: The output grid stores results; the internal step advances the PDE. Refinement must change the latter.
为何这样设置:输出网格负责保存结果;内部时间步负责推进 PDE。细化检验必须修改后者。
147 Save a checkpoint
保存检查点
Choose File → Save As. Save as Model_A_c5_configured.mph in your own practice folder. For subsequent cards use Ctrl+S. Keep the accepted delivered models as reference files.
选择 File → Save As(另存为),在自己的练习文件夹保存为 Model_A_c5_configured.mph。后续操作用 Ctrl+S 保存。保留已经交付的模型作为参考。
You should see: All geometry, selections, equations, mesh and solver are saved before solving.
应当看到:求解前已保存完整几何、选择、方程、网格、求解器。
148 Solve only this component
只求解当前组件
Right-click this Study → Compute. Wait for Progress to finish; inspect Messages/Log for errors. When complete, save with Ctrl+S. The 3D wave runs can take substantially longer than P0.
右击当前 Study → Compute,等待 Progress 完成,查看 Messages/Log 中是否有错误。完成后 Ctrl+S 保存;三维波计算可能明显长于 P0。
You should see: A solution dataset exists for this component and study.
应当看到:有对应此组件/研究的解数据集。
If this does not work / 如果这一步不成功
A phase-model failure at t=0 often means an incorrect phase initial guess or missing EOS function. A later failure can indicate an unresolved time step; use the accepted refined step from M4, not an arbitrary loose tolerance.
相态模型在 t=0 失败通常源于相态初猜或 EOS 函数缺失;之后失败可能是时间步无法解析运动,应使用 M4 给出的已验收细化时间步,不要随意放宽容差。
149 Evaluate the numerical checks
计算数值核对项
Right-click Results → Derived Values → Global Evaluation. In Data select the Solution dataset for this study and choose all relevant times/parameter values. Add each expression below to its own row. Click Evaluate at the top of Settings. A result table opens below the Graphics window.
右击 Results(结果)→ Derived Values(派生值)→ Global Evaluation(全局计算)。Data 中选择当前研究的 Solution 数据集,选择全部相关时刻/参数值。下面每个表达式独占一行,再点击设置顶部 Evaluate(计算)。结果表会在图形窗口下方打开。
You should see: Five-PFP receiver peak≈4.67854 kPa.
应当看到:五 PFP 接收峰值约 4.67854 kPa。
If this does not work / 如果这一步不成功
An Undefined variable result often means the wrong dataset/component. Use the full component prefix in this table. The solved data must belong to the study you just computed.
Undefined variable 常见原因是数据集/组件选错。表中使用完整组件前缀,求解数据必须属于刚完成的研究。
| Expression / 表达式 | Display unit / 显示单位 | What it checks / 核对目的 |
|---|---|---|
c5.pdet*DP | kPa | Filtered receiver gauge pressure / 滤波接收表压 |
c5.r1 | 1 | Source radius / 源半径 |
c5.U1 | m/s | Radial velocity / 径向速度 |
(c5.En+c5.Ei+c5.Ep+c5.Ea+E0c5*(c5.ediss+c5.erout)-E0c5)/E0c5 | 1 | Energy ledger residual / 能量账残差 |
150 Plot the scalar result against time
绘制标量随时间变化的曲线
Right-click Results → 1D Plot Group. Choose this study’s dataset. Right-click that 1D Plot Group → Global. Replace the default expression with the one below, set its Unit, keep x-Axis Data = Time, and click Plot.
右击 Results → 1D Plot Group(一维绘图组),选择当前研究数据集。右击该绘图组 → Global(全局),将默认表达式替换为下值,设置 Unit,x-Axis Data 保持 Time,然后点击 Plot(绘制)。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Expression | c5.pdet*DP |
| Unit | kPa |
You should see: A curve appears with a labelled time axis and the requested units.
应当看到:出现带时间横轴及所选单位的曲线。
151 Save a checkpoint
保存检查点
Choose File → Save As. Save as Model_A_c5_solved_my_rebuild.mph in your own practice folder. For subsequent cards use Ctrl+S. Keep the accepted delivered models as reference files.
选择 File → Save As(另存为),在自己的练习文件夹保存为 Model_A_c5_solved_my_rebuild.mph。后续操作用 Ctrl+S 保存。保留已经交付的模型作为参考。
You should see: This component and earlier solved components are saved.
应当看到:保存当前组件及此前已解组件。
E · Common-state diagnostic only
E · 仅作共同状态诊断
The repeated cards below give every setting for this component. Do not use blind component duplication: source counts, centres, parameter suffixes, integration operators, phase unknowns and fluxes change.
下面重复列出此组件全部设置。不要盲目复制组件:源数目、位置、参数后缀、积分算子、相态未知量与通量都有变化。
152 Add the independent 3D component cU
添加独立三维组件 cU
Right-click the model root → Add Component → 3D. Click the new Component and set its Name and Label below. Right-click this Component → Add Physics, search for Coefficient Form PDE, click Add to Component; repeat for Global ODEs and DAEs. Close Add Physics. Each scenario has its own wave and source states.
右击模型根节点 → Add Component → 3D,点击新组件并设置下列 Name 与 Label。右击此组件 → Add Physics,搜索 Coefficient Form PDE,点击 Add to Component;再添加 Global ODEs and DAEs,关闭添加窗口。每种情形拥有各自的波场与源状态。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Component Name | cU |
| Label | cU: 100 sources |
You should see: Both mathematical interfaces belong to the new component, not the earlier gas component.
应当看到:两个数学接口属于新组件,不是之前的气体组件。
153 Enter the parameters
输入参数
In the left Model Builder, expand Global Definitions, then click Parameters 1. In Settings, type each Name and Expression into a row. Press Tab to move to the next cell. For the long table, click Load from File below the table, choose GUI_cU_parameters_import.txt after saving it locally, and click Open. Use this headerless file rather than a TSV with column headings. Import once; when adding a component, append only the new names and keep earlier parameters.
在左侧模型开发器展开 Global Definitions(全局定义),点击 Parameters 1(参数 1)。在设置表中逐行输入 Name 与 Expression,按 Tab 切换单元格。长表可先将链接文件保存到本机,点击表格下方 Load from File(从文件加载),选择 GUI_cU_parameters_import.txt,然后 Open。使用无表头文件,只导入一次;添加组件时只追加新名称,保留此前参数。
You should see: All 15 entries listed here are present. The Value column evaluates expressions in SI units when their dependencies have been created.
应当看到:此处列出的 15 项均在表中。依赖项建立后,Value 列会显示 SI 制计算值。
Why this choice: Parameters are prescribed inputs. The solver will calculate dependent variables separately.
为何这样设置:参数是指定输入;待求的未知变量由求解器另行计算。
If this does not work / 如果这一步不成功
A red Name often means a duplicate. Remove the duplicate row rather than changing the expression name. A temporarily unresolved function call becomes valid after its function is added in the next cards.
Name 变红通常表示重名,应删除重复行,保留本教程的名称。尚未创建的函数会暂时无法求值,后续创建后即可恢复。
| Name / 名称 | Expression / 表达式 | Meaning / 含义 |
|---|---|---|
| acU | 5.3060975082711189e-06[m] | |
| mpcU | 1.0928631037985286e-14[kg] | |
| S0cU | 126.56059428419367[J/(kg*K)] | |
| uDcU | -9836.42985425392[J/kg] | |
| rhoDcU | 1621.8782923900924[kg/m^3] | |
| rDcU | 1.1717086368205036e-06[m] | |
| bcU | 1[m] | Matching radius; continuum case uses the infinite-near-field dilute limit |
| bscU | bcU/acU | |
| taucU | acU*sqrt(rhoL/DP) | |
| E0cU | 5.5000000000000003e-08[J] | Fixed total retained source energy, including finite PFP internal and interface energy |
| sigcU | 0.054[N/m] | |
| sigIcU | 0.00941[N/m] | |
| rhoLcU | 1621.2302097446284[kg/m^3] | |
| rhoVcU | 8.7819467089401986[kg/m^3] | |
| Rpop | 200[um] |
For this added component, append only these new parameter names to the existing Parameters table. Do not clear earlier component parameters; the import file contains no duplicates with them.
添加此组件时,只把这些新参数追加到原参数表,不要清空其他组件参数;本导入文件与此前参数不重名。
154 Set the geometry units and curvature order
设置几何单位与曲率阶次
Click this component’s Geometry 1, set Length unit = m. Click the Component itself, expand Curved Mesh Elements and set Geometry shape function = Quadratic Lagrange. The Geometry dimension remains 3D.
点击当前组件的 Geometry 1(几何 1),Length unit = m。再点击 Component,展开 Curved Mesh Elements,设 Geometry shape function = Quadratic Lagrange;几何维度保持 3D。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Length unit | m |
| Geometry shape function | Quadratic Lagrange |
You should see: Length unit is m. All lengths entered below contain explicit units or parameter expressions.
应当看到:长度单位为 m;下面所有长度都使用显式单位或参数表达式。
155 Create the outer water sphere
创建外部水域球体
Right-click Geometry 1 → Sphere. Set Label = Outer water. Set Radius and position below, then click Build Selected.
右击 Geometry 1 → Sphere(球),Label = Outer water,按下值填半径与位置,再点击 Build Selected(构建选定)。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | Lout |
| Position x, y, z | 0; 0; 0 |
You should see: A solid sphere of radius 0.9 mm.
应当看到:出现半径 0.9 mm 的实心球。
156 Create the population sphere
创建泡群球域
Right-click Geometry 1 → Sphere. Set Label = Population, Radius = Rpop, and Position = 0,0,0. Click Build Selected. Keep this as a filled domain; do not subtract it.
右击 Geometry 1 → Sphere,Label = Population,Radius = Rpop,Position=0,0,0。点击 Build Selected,保留为填充域,不要减去它。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | Rpop |
You should see: The central population sphere has radius 200 μm.
应当看到:中心泡群球域半径为 200 μm。
157 Create the finite receiver cylinder
创建有限接收器圆柱
Right-click Geometry 1 → Cylinder. Set Label = Receiver. Enter the dimensions and base position below, leave the axis pointing along z, then click Build Selected.
右击 Geometry 1 → Cylinder(圆柱),Label = Receiver,输入下面尺寸与底面位置,轴向保持 z,点击 Build Selected。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Radius | adet |
| Height | hdet |
| x | 0 |
| y | 0 |
| z | robs-hdet/2 |
| Axis type / direction | z-axis |
You should see: A 50 μm radius, 5 μm thick cylinder centred at z=0.5 mm, inside the water.
应当看到:水中出现半径 50 μm、厚 5 μm、中心位于 z=0.5 mm 的圆柱。
Why this choice: The receiver is a marked part of the same water, not a solid sensor or a no-flow obstruction.
为何这样设置:接收器只是同一水域中标记的区域,不是实体传感器或阻流障碍。
158 Finalize as a union with interior boundaries
形成保留内部边界的联合体
Click the final Form Union geometry node. Choose Action = Form a union and select Keep interior boundaries. Click Build All. The receiver and, when present, population region must remain separate selectable domains.
点击末尾 Form Union(形成联合体) 节点,Action = Form a union,勾选 Keep interior boundaries(保留内部边界),点击 Build All。接收器及泡群区域必须保留为可分别选择的域。
You should see: The receiver is a distinct domain. Ordinary hole cases have two water domains; the population diagnostic has three.
应当看到:接收器为独立域。普通带孔情形有两个水域;泡群诊断有三个。
If this does not work / 如果这一步不成功
If only one domain remains, restore Keep interior boundaries and Build All before creating selections.
若只剩一个域,重新勾选 Keep interior boundaries 并 Build All,再建立选择。
159 Create named selection populationcU
创建命名选择 populationcU
Right-click Component → Definitions → Selections → Box. Set the Label to populationcU. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 populationcU,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Domain |
| Include entity if | Entity inside box |
| x minimum | -1.001*Rpop |
| y minimum | -1.001*Rpop |
| z minimum | -1.001*Rpop |
| x maximum | 1.001*Rpop |
| y maximum | 1.001*Rpop |
| z maximum | 1.001*Rpop |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
160 Create named selection detectorcU
创建命名选择 detectorcU
Right-click Component → Definitions → Selections → Box. Set the Label to detectorcU. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 detectorcU,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Domain |
| Include entity if | Entity inside box |
| x minimum | -1.001*adet |
| x maximum | 1.001*adet |
| y minimum | -1.001*adet |
| y maximum | 1.001*adet |
| z minimum | robs-0.501*hdet |
| z maximum | robs+0.501*hdet |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
161 Create named selection notfarcU
创建命名选择 notfarcU
Right-click Component → Definitions → Selections → Box. Set the Label to notfarcU. Set the geometric level and box fields below. The box is a selection tool; it does not create another geometric box.
右击 Component → Definitions → Selections → Box(框)。将 Label(标签) 设为 notfarcU,按下表设置几何层级与坐标范围。此框用于选择,不会新增立方体几何。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Geometric entity level | Boundary |
| Include entity if | Entity inside box |
| x minimum | -0.8*Lout |
| y minimum | -0.8*Lout |
| z minimum | -0.8*Lout |
| x maximum | 0.8*Lout |
| y maximum | 0.8*Lout |
| z maximum | 0.8*Lout |
You should see: The selection list is nonempty. Inspect the highlighted geometry before continuing.
应当看到:选择列表非空;继续前检查高亮几何是否正确。
If this does not work / 如果这一步不成功
Use Entity inside box, not the default Entity intersects box. A missed factor 1.001 can drop a spherical face.
选择 Entity inside box(实体位于框内),不是默认 Entity intersects box(与框相交);漏掉 1.001 裕量可能丢失球面。
162 Select only the outer radiation surface
只选择外部辐射面
Right-click Definitions → Selections → Complement. Set Label below, Geometric entity level = Boundary. In Input selections add the notfar selection created above.
右击 Definitions → Selections → Complement(补集),按下值设置 Label,几何层级选 Boundary;Input selections 中添加上面创建的 notfar 选择。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Label | farcU |
| Geometric entity level | Boundary |
| Input selections | notfarcU |
You should see: Only the large outer sphere is highlighted. Hole/receiver/population interior surfaces are excluded.
应当看到:只有大外球面高亮;孔面、接收器面及泡群内部面不在其中。
163 Add integration operator idcU
添加Integration算子 idcU
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | idcU |
| Geometric entity level | Domain |
| Selection | detectorcU |
You should see: idcU appears as the operator name. The highlighted entities match detectorcU.
应当看到:算子名称为 idcU;高亮实体与 detectorcU 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
164 Add integration operator iocU
添加Integration算子 iocU
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | iocU |
| Geometric entity level | Boundary |
| Selection | farcU |
You should see: iocU appears as the operator name. The highlighted entities match farcU.
应当看到:算子名称为 iocU;高亮实体与 farcU 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
165 Add integration operator ipcU
添加Integration算子 ipcU
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | ipcU |
| Geometric entity level | Domain |
| Selection | populationcU |
You should see: ipcU appears as the operator name. The highlighted entities match populationcU.
应当看到:算子名称为 ipcU;高亮实体与 populationcU 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
166 Add integration operator ivcU
添加Integration算子 ivcU
Right-click Component → Definitions → Nonlocal Couplings → Integration. Change the actual Operator name field, then choose the geometric level and named selection below. Renaming only the tree Label does not rename the operator.
右击 Component → Definitions → Nonlocal Couplings(非局部耦合)→ Integration。修改真正的 Operator name(算子名称) 字段,再选择几何层级与命名选择。只改树上的 Label 不会修改算子名。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Operator name | ivcU |
| Geometric entity level | Domain |
| Selection | All domains |
You should see: ivcU appears as the operator name. The highlighted entities match All domains.
应当看到:算子名称为 ivcU;高亮实体与 All domains 相符。
Why this choice: An integral over the right selection turns a local field into a scalar available to the global equations.
为何这样设置:在正确选择上积分,将局部场转换为全局方程可用的标量。
If this does not work / 如果这一步不成功
If the named selection is missing, check its entity level. A boundary selection cannot be used as a domain selection.
如果下拉框中没有对应选择,先检查其几何层级;边界选择不能用于域选择。
167 Create the source and wave expression node
创建源与波表达式节点
Right-click this Component → Definitions → Variables. Set Label = Source and wave expressions, Geometric entity level = Entire model. Enter every expression in the table below. These expressions depend on unknowns that will be added next; do not try to Compute yet.
右击当前 Component → Definitions → Variables,Label = Source and wave expressions,Geometric entity level = Entire model。输入下面全部表达式;它们依赖下一步添加的未知量,此时先不要 Compute。
You should see: The variable table is populated and Entire model is selected.
应当看到:变量表已填写,层级为 Entire model。
Enter all 28 rows below, or load GUI_cU_variables_import.txt using the exact import procedure in GUI basics. The file has no heading row.
逐行输入下面全部 28 行,或按界面基础的导入步骤加载 GUI_cU_variables_import.txt。文件没有表头。
| Name / 名称 | Expression / 表达式 |
|---|---|
| R1 | acU*r1 |
| U1 | acU*r1t |
| Temp1 | Tref*theta1 |
| rhoLP1 | rhoLcU*exp(qL1) |
| rhoVP1 | rhoVcU*exp(qV1) |
| Vb1 | 4*pi*R1^3/3 |
| pLP1 | pfpp(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[Pa] |
| pVP1 | pfpp(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[Pa] |
| uLP1 | pfpu(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[J/kg] |
| uVP1 | pfpu(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[J/kg] |
| gLP1 | pfpg(Temp1/1[K],rhoLP1/(1[kg/m^3]))*1[J/kg] |
| gVP1 | pfpg(Temp1/1[K],rhoVP1/(1[kg/m^3]))*1[J/kg] |
| fv1 | (Vb1-mpcU/rhoLP1)/(mpcU*(1/rhoVP1-1/rhoLP1)) |
| Rg1 | (max(fv1*mpcU/rhoVP1,4*pi*(1[nm])^3/3)*3/(4*pi))^(1/3) |
| Sspec1 | ((1-fv1)*(uLP1+pLP1/rhoLP1-gLP1)+fv1*(uVP1+pVP1/rhoVP1-gVP1))/Temp1 |
| qvol1 | 4*pi*R1^2*U1 |
| pB1 | pLP1-2*sigcU/R1-4*muL*U1/R1 |
| En1 | 2*pi*rhoL*R1^3*U1^2*(1-R1/bcU) |
| Ei1 | mpcU*((1-fv1)*uLP1+fv1*uVP1)+4*pi*sigIcU*Rg1^2-mpcU*uDcU-DP*mpcU/rhoDcU-4*pi*sigcU*rDcU^2 |
| Ep1 | DP*Vb1+4*pi*sigcU*R1^2 |
| En | 100*(En1) |
| Ei | 100*(Ei1) |
| Ep | 100*(Ep1) |
| Ein | E0cU |
| phiDt | acU^2/taucU*chit |
| pAc | -rhoL*phiDt |
| u2ac | (acU^2/taucU)^2*(chix^2+chiy^2+chiz^2) |
| Ea | ivcU(rhoL/2*(u2ac+phiDt^2/cL^2)) |
168 Name and discretize the potential field
命名并离散波势场
Click the main Coefficient Form PDE interface node. Set Name below. Expand Dependent Variables, set Number of dependent variables = 1, Field name = chi and Dependent variables = chi. In Units use Dimensionless dependent variable and source unit m^-2. In Discretization choose Quadratic Lagrange. If hidden, enable Advanced Physics Options in Show More Options.
点击顶层 Coefficient Form PDE 接口节点,设置下列 Name。展开 Dependent Variables,未知量数目 = 1,Field name = chi,Dependent variables = chi。Units 中未知量为无量纲、源单位 m^-2;Discretization 中选 Quadratic Lagrange。若栏目隐藏,在 Show More Options 启用 Advanced Physics Options。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Interface Name | potcU |
| Field name; Dependent variables | chi; chi |
| Dependent variable unit | 1 |
| Source term unit | m^-2 |
| Shape function | Lagrange |
| Element order | Quadratic |
You should see: Initial Values and coefficient settings now show chi, not the default u.
应当看到:初值与系数设置中显示 chi,不再是默认 u。
169 Enter the wave PDE coefficients
输入波 PDE 系数
Click Coefficient Form PDE → Coefficient Form PDE 1. Choose All domains. Enter the following scalar/vector coefficients. Expand the coefficient sections if collapsed. This interface implements ea*chi_tt − ∇·(c∇chi) = f for these settings.
点击 Coefficient Form PDE → Coefficient Form PDE 1,选 All domains,输入以下标量/向量系数,折叠栏目需展开。此设置表示 ea*chi_tt − ∇·(c∇chi) = f。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Diffusion coefficient c | 1 |
| Mass coefficient ea | 1/cL^2 |
| Damping coefficient da | 0 |
| Source term f | 0 |
| Absorption coefficient a | 0 |
| Conservative flux convection α | 0; 0; 0 |
| Convection coefficient β | 0; 0; 0 |
| Conservative flux source γ | 0; 0; 0 |
You should see: ea is nonzero and da=0. The PDE covers the receiver domain as well as surrounding water.
应当看到:ea 非零、da=0;PDE 同时覆盖接收器域与周围水域。
170 Set the zero wave initial conditions
设置零波场初值
Click Coefficient Form PDE → Initial Values 1. Set chi = 0 and its initial time derivative = 0 on all domains.
点击 Coefficient Form PDE → Initial Values 1,在所有域设置 chi=0、初始时间导数=0。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| chi | 0 |
| Initial time derivative of chi | 0 |
You should see: The initial wave field and velocity are zero.
应当看到:初始波场及其速度均为零。
171 Apply the volumetric population source
施加泡群体积源
Right-click Coefficient Form PDE → Coefficient Form PDE to add a second domain equation node. Select only the population domain. Copy c, ea, da and the zero coefficients from the first node, then set f below. This second node overrides the domain equation only inside the population.
右击 Coefficient Form PDE → Coefficient Form PDE 新建第二个域方程节点,只选泡群域。c、ea、da 与其他零系数保持同第一节点,f 改为下值。此节点只在泡群域覆盖第一节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | populationcU |
| f | -100*taucU/acU^2*qvol1/ipcU(1) |
You should see: There is no hole-source Flux/Source node in this component.
应当看到:此组件没有匹配孔源通量节点。
172 Apply the radiation condition
施加辐射条件
Right-click Coefficient Form PDE → Flux/Source again. Set Label = Outer radiation; choose the far selection and enter g and q below.
再次 右击 Coefficient Form PDE → Flux/Source,Label = Outer radiation,选择 far 选择,输入下列 g 与 q。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Selection | farcU |
| g | -chit/cL |
| q | 1/Lout |
You should see: Only the outer sphere is selected. q is positive 1/Lout.
应当看到:只选外球面,q 是正的 1/Lout。
Why this choice: This outgoing-wave condition lets wave energy leave rather than reflecting from a rigid wall.
为何这样设置:此出射波条件允许波能量离开,避免刚壁反射。
173 Name the global-equation interface
命名全局方程接口
Click the main Global ODEs and DAEs node in this component. Change its Name to the value below. Then expand it and click its existing Global Equations 1 child.
点击此组件的顶层 Global ODEs and DAEs,将 Name 改为下值;再展开并点击已有 Global Equations 1 子节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Interface Name | gecU |
You should see: The interface belongs to cU.
应当看到:该接口属于 cU。
174 Create the global unknowns and their equations
创建全局未知量与方程
Click Global ODEs and DAEs → Global Equations 1. Delete its placeholder row if present. Fill the four columns shown below. The f column is a residual set equal to zero: do not append “=0”. Use the full field under the table for long expressions. Each Name defines a new unknown; its first/second derivatives add t/tt. The complete four-column, headerless file is GUI_cU_global_equations.txt; you can enter the rows manually or use Load from File.
点击 Global ODEs and DAEs → Global Equations 1(全局方程 1),删除占位行,填写下面四列。f 列是等于零的残差,不要再输入“=0”。长表达式可用表格下方完整编辑框。Name 定义未知量;一阶、二阶导数在名称后加 t、tt。完整无表头四列表为 GUI_cU_global_equations.txt;可手动输入,也可从文件加载。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Dependent variable quantity / 未知量单位 | Dimensionless (1) |
| Source term quantity / 方程单位 | Dimensionless (1) |
You should see: Exactly 7 equation rows, with the initial values and initial derivatives shown below.
应当看到:恰有 7 行方程,初值与初始导数和下面一致。
Why this choice: A global unknown has one value per component/time, rather than one value at every mesh node.
为何这样设置:全局未知量在每个组件/时刻有一个值,而不是每个网格节点各有一个值。
If this does not work / 如果这一步不成功
Unknown variable is an error. Check spelling and component scope. The native A ledger equations retain inverse-time residuals in some rows; a dimensional-consistency warning is different from an undefined name. Keep the native expressions and units as supplied.
Unknown variable 是错误,应检查拼写和组件作用域。原生 A 的部分能量账方程保留时间倒数残差;量纲一致性警告与未定义名称错误不同,应保留所给原生表达式和单位。
| Name / 未知量 | f(u,ut,utt,t) / 残差 | Initial value (u_0) / 初值 | Initial value (ut_0) / 初始导数 |
|---|---|---|---|
| r1 | taucU^2*((r1-r1^2/bscU)*r1tt+(1.5-2*r1/bscU)*r1t^2)-(pB1-DP)/DP-taucU*ipcU(chit)/ipcU(1) | 1 | 0 |
| theta1 | (pVP1-pLP1-2*sigIcU/Rg1)/DP | 1 | 0 |
| qL1 | (gLP1-gVP1)/(100[kJ/kg]) | -1.1820766006109311e-05 | 0 |
| qV1 | (Sspec1-S0cU)/(100[J/(kg*K)]) | -0.00028506414542899179 | 0 |
| ediss | edisst-100*(16*pi*muL*R1*U1^2)/E0cU | 0 | 0 |
| erout | eroutt-rhoL*(acU^2/taucU)^2*iocU(chit*(chit/cL+chi/Lout))/E0cU | 0 | 0 |
| pdet | tf*pdett+pdet-idcU(pAc)/(idcU(1)*DP) | 0 | 0 |
175 Switch to a user-controlled mesh
切换为用户控制网格
Click Mesh 1. In Settings choose Sequence type → User-controlled mesh. If converting a physics-controlled sequence, keep its Size node, remove other generated operations if needed, and create the operations below.
点击 Mesh 1(网格 1),在设置中选择 Sequence type → User-controlled mesh(用户控制网格)。若从物理控制序列转换,保留 Size 节点,必要时删除其他自动操作,再按下面创建。
You should see: Mesh 1 contains an editable Size node.
应当看到:Mesh 1 下有可编辑 Size(尺寸)节点。
176 Set the whole-geometry mesh size
设置整个几何的网格尺寸
Click Mesh 1 → Size. Choose Custom. In Element Size Parameters, enter all four values below.
点击 Mesh 1 → Size,选择 Custom(自定义),在 Element Size Parameters(单元大小参数) 输入下面四个值。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Maximum element size | 150[um] |
| Minimum element size | 5[um] |
| Maximum element growth rate | 1.5 |
| Curvature factor | 0.3 |
You should see: Custom is selected and values carry the correct length units.
应当看到:已选择 Custom,长度数值带正确单位。
177 Build the tetrahedral mesh
构建四面体网格
Right-click Mesh 1 → Free Tetrahedral, choose All domains, then click Build All at the top of Mesh Settings.
右击 Mesh 1 → Free Tetrahedral(自由四面体),选择 All domains,然后点击网格设置上方 Build All(全部构建)。
You should see: A 3D tetrahedral mesh appears, with finer elements near the inner boundary. Mesh statistics show a nonzero tetrahedron count.
应当看到:出现三维四面体网格,内边界附近更细;网格统计中四面体数量非零。
If this does not work / 如果这一步不成功
If no volume elements are created, check that Difference retained a solid shell, not only surfaces, and Free Tetrahedral selects all domains.
如果没有体单元,检查 Difference 是否保留实体壳层而不只是曲面,以及 Free Tetrahedral 是否选择全部域。
178 Create a separate transient study
创建独立瞬态研究
Right-click the model root → Add Study. Select General Studies → Time Dependent and click Add Study. Rename its Label to Study cU. Do not add this time step to another component’s study.
右击模型根节点 → Add Study(添加研究),选 General Studies → Time Dependent,点击 Add Study。Label 改为 Study cU;不要把此时间步骤加到其他组件的研究中。
You should see: A distinct Study cU appears.
应当看到:出现单独的 Study cU。
179 Select which physics this study solves
选择本研究求解哪些物理场
Click this study’s Time Dependent step. Set Output times below. Expand Physics and Variables Selection. Enable Solve for only the Coefficient Form PDE and Global ODEs and DAEs in cU. Clear Solve for in all other components.
点击当前研究的 Time Dependent 步骤,设置下列 Output times。展开 Physics and Variables Selection(物理场与变量选择),只勾选 cU 中的 PDE 与全局 ODE,取消其他组件的 Solve for。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Output times | range(0,25[ns],8[us]) |
You should see: Exactly two interfaces are solved in this study.
应当看到:本研究只求解两个接口。
If this does not work / 如果这一步不成功
Adding a new component can enable its physics in earlier studies. Recheck every earlier study and disable the new component there too.
新增组件可能使之前研究也启用其物理场;须回查每个旧研究,将新组件在其中禁用。
180 Show the generated solver
显示自动生成的求解器
Right-click this Study → Show Default Solver. Expand Solver Configurations → Solution → Dependent Variables. If advanced sections are hidden, use Show More Options and enable Advanced Study Options and Advanced Physics Options. Do this after every equation/physics node is entered, so all fields appear.
右击当前 Study → Show Default Solver(显示默认求解器)。展开 Solver Configurations → Solution → Dependent Variables(因变量)。若高级栏目隐藏,在 Show More Options 中启用 Advanced Study Options 与 Advanced Physics Options。全部物理和方程节点输入后再生成,才能看到所有变量。
You should see: The chi field and the global ODE1 field are listed.
应当看到:列表中有 chi 场与全局 ODE1 场。
181 Set the variable scales
设置变量缩放
Click Dependent Variables. Set Defined by study step → User defined and Initial Values of Variables Solved For → Method → Initial expression. Click each Field child, expand Scaling, choose Method = Manual and enter the scale below. Match the field by its dependent variables; numeric node tags can differ.
点击 Dependent Variables,设 Defined by study step → User defined,Initial Values of Variables Solved For → Method → Initial expression。依次点击各 Field 子节点,在 Scaling 中选 Manual,填下列 Scale。按变量识别节点;编号标签可能不同。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Every field under Dependent Variables | 1 |
You should see: Each field shows Manual scaling, and initialization uses the physics initial expressions.
应当看到:每个场显示 Manual 缩放,初始化使用物理场的初始表达式。
Why this choice: The wave potential and radius/phase/ledger unknowns were already normalized in the accepted native model.
为何这样设置:原生模型已经对波势、半径/相态/能量账未知量做了归一化。
182 Use a direct linear solver
使用直接线性求解器
Right-click Time-Dependent Solver → Direct. Set Solver → PARDISO. A new Direct node becomes available to the nonlinear solver. Keep the other default Direct node disabled if one exists.
右击 Time-Dependent Solver → Direct(直接),设 Solver → PARDISO。新 Direct 节点供非线性求解器使用;若原来已有其他直接节点,保持其禁用。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Solver | PARDISO |
You should see: A Direct node using PARDISO is present.
应当看到:出现使用 PARDISO 的 Direct 节点。
183 Couple all unknowns in one nonlinear solve
将全部未知量放在一次耦合非线性求解中
Right-click Time-Dependent Solver → Fully Coupled. Under General choose the Direct/PARDISO node just created. Under Method and Termination enter Maximum number of iterations. Disable the Segregated node and any old Fully Coupled node. Only the new Fully Coupled node should be active.
右击 Time-Dependent Solver → Fully Coupled(全耦合)。General 中选择刚建的 Direct/PARDISO 节点;Method and Termination 中输入最大迭代次数。禁用 Segregated(分离)及旧 Fully Coupled,只启用新的全耦合节点。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Maximum number of iterations | 20 |
You should see: The active Fully Coupled node points to the active PARDISO solver.
应当看到:启用的全耦合节点指向启用的 PARDISO 求解器。
184 Set the actual internal time step
设置真正的内部时间步
Click Time-Dependent Solver. In General choose Defined by study step = User defined and enter Output times and Relative tolerance. Expand Time Stepping, choose Generalized alpha, then Steps taken by solver = Manual. Enter Time step and Amplification for high frequency. Keep Times to store = Output times by interpolation.
点击 Time-Dependent Solver(瞬态求解器)。General 中选 User defined,填 Output times 与 Relative tolerance。展开 Time Stepping(时间步进),选 Generalized alpha,Steps taken by solver = Manual;填写 Time step 与 Amplification for high frequency。Times to store 保持 Output times by interpolation。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Output times | range(0,25[ns],8[us]) |
| Relative tolerance | 2e-5 |
| Method | Generalized alpha |
| Steps taken by solver | Manual |
| Time step | 25[ns] |
| Amplification for high frequency | 0.75 |
You should see: The internal Time step reads 25[ns]. Output times alone do not enforce this step.
应当看到:内部 Time step 显示 25[ns];只填写 Output times 并不能强制内部时间步。
Why this choice: The output grid stores results; the internal step advances the PDE. Refinement must change the latter.
为何这样设置:输出网格负责保存结果;内部时间步负责推进 PDE。细化检验必须修改后者。
185 Save a checkpoint
保存检查点
Choose File → Save As. Save as Model_A_cU_configured.mph in your own practice folder. For subsequent cards use Ctrl+S. Keep the accepted delivered models as reference files.
选择 File → Save As(另存为),在自己的练习文件夹保存为 Model_A_cU_configured.mph。后续操作用 Ctrl+S 保存。保留已经交付的模型作为参考。
You should see: All geometry, selections, equations, mesh and solver are saved before solving.
应当看到:求解前已保存完整几何、选择、方程、网格、求解器。
186 Solve only this component
只求解当前组件
Right-click this Study → Compute. Wait for Progress to finish; inspect Messages/Log for errors. When complete, save with Ctrl+S. The 3D wave runs can take substantially longer than P0.
右击当前 Study → Compute,等待 Progress 完成,查看 Messages/Log 中是否有错误。完成后 Ctrl+S 保存;三维波计算可能明显长于 P0。
You should see: A solution dataset exists for this component and study.
应当看到:有对应此组件/研究的解数据集。
If this does not work / 如果这一步不成功
A phase-model failure at t=0 often means an incorrect phase initial guess or missing EOS function. A later failure can indicate an unresolved time step; use the accepted refined step from M4, not an arbitrary loose tolerance.
相态模型在 t=0 失败通常源于相态初猜或 EOS 函数缺失;之后失败可能是时间步无法解析运动,应使用 M4 给出的已验收细化时间步,不要随意放宽容差。
187 Evaluate the numerical checks
计算数值核对项
Right-click Results → Derived Values → Global Evaluation. In Data select the Solution dataset for this study and choose all relevant times/parameter values. Add each expression below to its own row. Click Evaluate at the top of Settings. A result table opens below the Graphics window.
右击 Results(结果)→ Derived Values(派生值)→ Global Evaluation(全局计算)。Data 中选择当前研究的 Solution 数据集,选择全部相关时刻/参数值。下面每个表达式独占一行,再点击设置顶部 Evaluate(计算)。结果表会在图形窗口下方打开。
You should see: Use M4’s refined diagnostic, ≈16.6514 kPa; physical closure is rejected.
应当看到:使用 M4 的细化诊断,约 16.6514 kPa;其物理闭合已被否决。
If this does not work / 如果这一步不成功
An Undefined variable result often means the wrong dataset/component. Use the full component prefix in this table. The solved data must belong to the study you just computed.
Undefined variable 常见原因是数据集/组件选错。表中使用完整组件前缀,求解数据必须属于刚完成的研究。
| Expression / 表达式 | Display unit / 显示单位 | What it checks / 核对目的 |
|---|---|---|
cU.pdet*DP | kPa | Filtered receiver gauge pressure / 滤波接收表压 |
cU.r1 | 1 | Source radius / 源半径 |
cU.U1 | m/s | Radial velocity / 径向速度 |
(cU.En+cU.Ei+cU.Ep+cU.Ea+E0cU*(cU.ediss+cU.erout)-E0cU)/E0cU | 1 | Energy ledger residual / 能量账残差 |
188 Plot the scalar result against time
绘制标量随时间变化的曲线
Right-click Results → 1D Plot Group. Choose this study’s dataset. Right-click that 1D Plot Group → Global. Replace the default expression with the one below, set its Unit, keep x-Axis Data = Time, and click Plot.
右击 Results → 1D Plot Group(一维绘图组),选择当前研究数据集。右击该绘图组 → Global(全局),将默认表达式替换为下值,设置 Unit,x-Axis Data 保持 Time,然后点击 Plot(绘制)。
| Field / 字段 | Select or enter exactly / 精确选择或输入 |
|---|---|
| Expression | cU.pdet*DP |
| Unit | kPa |
You should see: A curve appears with a labelled time axis and the requested units.
应当看到:出现带时间横轴及所选单位的曲线。
Do not report this as a credible 100-bubble pressure prediction. After the time-step correction in M4, the local-feedback deviation is ≈62.26 kPa and the local absolute pressure minimum is ≈−18.97 kPa. A converged numerical common-state model can fail its physical closure.
不能将此结果作为可信的百泡压力预测。完成 M4 时间步修正后,局部反馈偏离约 62.26 kPa,局部绝对压力最小约 −18.97 kPa;数值收敛的共同状态模型仍可违反物理闭合。
189 Save a checkpoint
保存检查点
Choose File → Save As. Save as Model_A_cU_solved_my_rebuild.mph in your own practice folder. For subsequent cards use Ctrl+S. Keep the accepted delivered models as reference files.
选择 File → Save As(另存为),在自己的练习文件夹保存为 Model_A_cU_solved_my_rebuild.mph。后续操作用 Ctrl+S 保存。保留已经交付的模型作为参考。
You should see: This component and earlier solved components are saved.
应当看到:保存当前组件及此前已解组件。
