- Add crossre_transfer.sh: calibrate → transfer-train for re60→re200→re400 - Add re60 config (ν=0.006667, SI=800, uniform+free-slip, very weak shedding) - Calibrate re60, re200, re400: FORCE_SCALE, SENS_SCALE, dtw_norm_scale, SIM_BP - Fix all paths: use DynamisLab submodule CelerisLab, remove external ~/CelerisLab - Remove _clean_cache() from envs/calibrate — CelerisLab handles internally - Move V4 backups to old/: env_karman_2000x600, train_karman_2000x600, etc. - train_karman.py: save model + vecnormalize every episode (non-optional) - Update TRAIN_KNOWLEDGE.md: file structure, calibration table, cross-re guide - All 3 Re verified: 5-episode transfer test passed (re60: 0.64, re200: 0.43, re400: 0.49) Co-authored-by: Cursor <cursoragent@cursor.com>
51 lines
1.2 KiB
JSON
51 lines
1.2 KiB
JSON
{
|
|
"_doc": "Karman Cloak Re60: uniform inlet, free-slip walls, 2000x600 grid. nu = U0*2D/60 = 0.006667.",
|
|
"grid": {
|
|
"lattice_model": "D2Q9",
|
|
"nx": 2000,
|
|
"ny": 600,
|
|
"nz": 1
|
|
},
|
|
"physics": {
|
|
"data_type": "FP32",
|
|
"viscosity": 0.006667,
|
|
"velocity": 0.01,
|
|
"rho": 1.0
|
|
},
|
|
"method": {
|
|
"collision": "MRT",
|
|
"streaming": "double_buffer",
|
|
"store_precision": "FP32",
|
|
"ddf_shifting": false,
|
|
"les": {
|
|
"enabled": false,
|
|
"cs": 0.16,
|
|
"closed_form": true
|
|
},
|
|
"trt": {
|
|
"magic_param": 0.1875
|
|
},
|
|
"inlet": {
|
|
"profile": "uniform",
|
|
"scheme": "regularized",
|
|
"trt_neq_damp": 0.5,
|
|
"regularized_neq_damp": 0.5
|
|
},
|
|
"outlet": {
|
|
"mode": "neq_extrap",
|
|
"backflow_clamp": true,
|
|
"blend_alpha": 0.7,
|
|
"srt_neq_damp": 0.5
|
|
},
|
|
"y_wall_bc": "free_slip",
|
|
"omega_guard": {
|
|
"min": 0.01,
|
|
"max": 1.99
|
|
}
|
|
},
|
|
"cuda": {
|
|
"threads_per_block": 256,
|
|
"compute_capability": "auto"
|
|
}
|
|
}
|