mindflow.cfd.RunTime

class mindflow.cfd.RunTime(config, mesh_info, material)[源代码]

仿真运行时控制器。

参数:
  • config (dict) - 参数字典。

  • mesh_info (MeshInfo) - 计算网格的信息。

  • material (Material) - 流体材料模型。

支持平台:

GPU

样例:

>>> from mindflow import cfd
>>> config = {'mesh': {'dim': 1, 'nx': 100, 'gamma': 1.4, 'x_range': [0, 1], 'pad_size': 3},
...           'material': {'type': 'IdealGas', 'heat_ratio': 1.4, 'specific_heat_ratio': 1.4,
...           'specific_gas_constant': 1.0}, 'runtime': {'CFL': 0.9, 'current_time': 0.0, 'end_time': 0.2},
...           'integrator': {'type': 'RungeKutta3'}, 'space_solver': {'is_convective_flux': True,
...           'convective_flux': {'reconstructor': 'WENO5', 'riemann_computer': 'Rusanov'},
...           'is_viscous_flux': False}, 'boundary_conditions': {'x_min': {'type': 'Neumann'},
...           'x_max': {'type': 'Neumann'}}}
>>> s = cfd.Simulator(config)
>>> r = cfd.RunTime(c, s.mesh_info, s.material)
advance()[源代码]

根据时间步长向前仿真。

异常:
  • NotImplementedError - 如果 time step 不合法。

compute_timestep(pri_var)[源代码]

计算物理的时间步长。

参数:
  • pri_var (Tensor) - 原始变量。

time_loop(pri_var)[源代码]

是否继续仿真,当前时间达到终值或 NAN 值时返回False。

参数:
  • pri_var (Tensor) - 原始变量。

返回:

bool,是否继续仿真。

异常:
  • ValueError - 如果 pri_var 值为 NAN