[ PROMPT_NODE_26600 ]
parameters
[ SKILL_DOCUMENTATION ]
# 参数配置
## 参数对象
`Parameters` 对象是分层的,并组织成逻辑组。使用点号表示法访问:
python
params = Simul.create_default_params()
params.group.subgroup.parameter = value
## 关键参数组
### 算子 (`params.oper`)
定义域和分辨率:
python
params.oper.nx = 256 # x 方向网格点数
params.oper.ny = 256 # y 方向网格点数
params.oper.nz = 128 # z 方向网格点数(仅限 3D)
params.oper.Lx = 2 * pi # x 方向域长度
params.oper.Ly = 2 * pi # y 方向域长度
params.oper.Lz = pi # z 方向域长度(仅限 3D)
params.oper.coef_dealiasing = 2./3. # 去混叠截断(默认 2/3)
**分辨率建议**:使用 2 的幂次方以获得最佳 FFT 性能(128, 256, 512, 1024 等)。
### 物理参数
#### 粘度
python
params.nu_2 = 1e-3 # 拉普拉斯粘度(负拉普拉斯)
params.nu_4 = 0 # 超粘度(可选)
params.nu_8 = 0 # 超超粘度(极高波数阻尼)
高阶粘度(`nu_4`, `nu_8`)可阻尼高波数,而不影响大尺度。
#### 层化(层化求解器)
python
params.N = 1.0 # Brunt-Väisälä 频率(浮力频率)
#### 旋转(浅水方程)
python
params.f = 1.0 # 科里奥利参数
params.c2 = 10.0 # 相速度平方(重力波速度)
### 时间步长 (`params.time_stepping`)
python
params.time_stepping.t_end = 10.0 # 仿真结束时间
params.time_stepping.it_end = 100 # 或最大迭代次数
params.time_stepping.deltat0 = 0.01 # 初始时间步长
params.time_stepping.USE_CFL = True # 基于 CFL 的自适应时间步长
params.time_stepping.CFL = 0.5 # CFL 数(如果 USE_CFL=True)
params.time_stepping.type_time_scheme = "RK4" # 或 "RK2", "Euler"
**建议**:使用 `USE_CFL=True` 和 `CFL=0.5` 进行自适应时间步长。
### 初始场 (`params.init_fields`)
python
params.init_fields.type = "noise" # 初始化方法
**可用类型**:
- `"noise"`: 随机噪声
- `"dipole"`: 涡旋偶极子
- `"vortex"`: 单个涡旋
- `"taylor_green"`: Taylor-Green 涡旋
- `"from_file"`: 从文件加载
- `"in_script"`: 在脚本中定义
#### 从文件
python
params.init_fields.type = "from_file"
params.init_fields.from_file.path = "path/to/state_file.h5"
#### 在脚本中
python
params.init_fields.type = "in_script"
# 在创建后定义初始化