flash-sim 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. flash_sim-0.0.1/.gitignore +216 -0
  2. flash_sim-0.0.1/LICENSE +386 -0
  3. flash_sim-0.0.1/NOTICE +138 -0
  4. flash_sim-0.0.1/PKG-INFO +811 -0
  5. flash_sim-0.0.1/README.md +777 -0
  6. flash_sim-0.0.1/flash/__init__.py +157 -0
  7. flash_sim-0.0.1/flash/_bootstrap.py +35 -0
  8. flash_sim-0.0.1/flash/_core/__init__.py +39 -0
  9. flash_sim-0.0.1/flash/_core/credentials/__init__.py +44 -0
  10. flash_sim-0.0.1/flash/_core/credentials/_config.py +191 -0
  11. flash_sim-0.0.1/flash/_core/credentials/_core.py +277 -0
  12. flash_sim-0.0.1/flash/_core/credentials/_flash_entries.py +83 -0
  13. flash_sim-0.0.1/flash/_core/credentials/_minimal.py +73 -0
  14. flash_sim-0.0.1/flash/_core/credentials/api_keys.py +225 -0
  15. flash_sim-0.0.1/flash/_core/credentials/deepseek.py +187 -0
  16. flash_sim-0.0.1/flash/_core/credentials/flash_ssh.py +472 -0
  17. flash_sim-0.0.1/flash/_core/credentials/gitee.py +220 -0
  18. flash_sim-0.0.1/flash/_core/credentials/manage.py +359 -0
  19. flash_sim-0.0.1/flash/_core/credentials/pypi.py +144 -0
  20. flash_sim-0.0.1/flash/_core/credentials.py +1103 -0
  21. flash_sim-0.0.1/flash/_core/interface.py +90 -0
  22. flash_sim-0.0.1/flash/_core/registry.py +35 -0
  23. flash_sim-0.0.1/flash/_core/schema.py +118 -0
  24. flash_sim-0.0.1/flash/config/__init__.py +105 -0
  25. flash_sim-0.0.1/flash/flash_run/PROCESS.md +435 -0
  26. flash_sim-0.0.1/flash/flash_run/README.md +205 -0
  27. flash_sim-0.0.1/flash/flash_run/__init__.py +25 -0
  28. flash_sim-0.0.1/flash/flash_run/env/README.md +272 -0
  29. flash_sim-0.0.1/flash/flash_run/env/__init__.py +12 -0
  30. flash_sim-0.0.1/flash/flash_run/env/env_manager.py +535 -0
  31. flash_sim-0.0.1/flash/flash_run/env/resource_config.py +650 -0
  32. flash_sim-0.0.1/flash/flash_run/remote/README.md +313 -0
  33. flash_sim-0.0.1/flash/flash_run/remote/__init__.py +20 -0
  34. flash_sim-0.0.1/flash/flash_run/remote/remote_check.py +70 -0
  35. flash_sim-0.0.1/flash/flash_run/remote/remote_deploy.py +792 -0
  36. flash_sim-0.0.1/flash/flash_run/remote/remote_workflow.py +142 -0
  37. flash_sim-0.0.1/flash/flash_run/remote/route_tester.py +465 -0
  38. flash_sim-0.0.1/flash/flash_run/remote/ssh_check.py +107 -0
  39. flash_sim-0.0.1/flash/input_gen/README.md +535 -0
  40. flash_sim-0.0.1/flash/input_gen/__init__.py +170 -0
  41. flash_sim-0.0.1/flash/input_gen/gen_Grid_markRefineDerefine/GEN_GRID_GUIDE.md +68 -0
  42. flash_sim-0.0.1/flash/input_gen/gen_Grid_markRefineDerefine/README.md +327 -0
  43. flash_sim-0.0.1/flash/input_gen/gen_Grid_markRefineDerefine/__init__.py +0 -0
  44. flash_sim-0.0.1/flash/input_gen/gen_Grid_markRefineDerefine/generator.py +567 -0
  45. flash_sim-0.0.1/flash/input_gen/gen_checker/GEN_CHECKER_GUIDE.md +148 -0
  46. flash_sim-0.0.1/flash/input_gen/gen_checker/__init__.py +6 -0
  47. flash_sim-0.0.1/flash/input_gen/gen_checker/checker.py +274 -0
  48. flash_sim-0.0.1/flash/input_gen/gen_checker/ploter/__init__.py +13 -0
  49. flash_sim-0.0.1/flash/input_gen/gen_checker/ploter/density_plotter.py +195 -0
  50. flash_sim-0.0.1/flash/input_gen/gen_checker/ploter/pulse_plotter.py +158 -0
  51. flash_sim-0.0.1/flash/input_gen/gen_checker/ploter/ray_plotter.py +277 -0
  52. flash_sim-0.0.1/flash/input_gen/gen_config/GEN_CONFIG_GUIDE.md +534 -0
  53. flash_sim-0.0.1/flash/input_gen/gen_config/__init__.py +9 -0
  54. flash_sim-0.0.1/flash/input_gen/gen_config/generator.py +205 -0
  55. flash_sim-0.0.1/flash/input_gen/gen_eos_op/GEN_EOS_OP_GUIDE.md +224 -0
  56. flash_sim-0.0.1/flash/input_gen/gen_eos_op/__init__.py +10 -0
  57. flash_sim-0.0.1/flash/input_gen/gen_eos_op/generator.py +481 -0
  58. flash_sim-0.0.1/flash/input_gen/gen_f90/__init__.py +0 -0
  59. flash_sim-0.0.1/flash/input_gen/gen_makefile/GEN_MAKEFILE_GUIDE.md +56 -0
  60. flash_sim-0.0.1/flash/input_gen/gen_makefile/__init__.py +9 -0
  61. flash_sim-0.0.1/flash/input_gen/gen_makefile/generator.py +32 -0
  62. flash_sim-0.0.1/flash/input_gen/gen_newpara/README.md +400 -0
  63. flash_sim-0.0.1/flash/input_gen/gen_newpara/RP_Reference.md +639 -0
  64. flash_sim-0.0.1/flash/input_gen/gen_newpara/__init__.py +19 -0
  65. flash_sim-0.0.1/flash/input_gen/gen_newpara/generator.py +643 -0
  66. flash_sim-0.0.1/flash/input_gen/gen_otherf90s/GEN_OTHER_F90S_GUIDE.md +231 -0
  67. flash_sim-0.0.1/flash/input_gen/gen_otherf90s/__init__.py +0 -0
  68. flash_sim-0.0.1/flash/input_gen/gen_par/GEN_PAR_GUIDE.md +657 -0
  69. flash_sim-0.0.1/flash/input_gen/gen_par/__init__.py +18 -0
  70. flash_sim-0.0.1/flash/input_gen/gen_par/defaults.py +510 -0
  71. flash_sim-0.0.1/flash/input_gen/gen_par/generator.py +445 -0
  72. flash_sim-0.0.1/flash/input_gen/gen_par/materials.py +141 -0
  73. flash_sim-0.0.1/flash/input_gen/gen_shell_script/GEN_SHELL_SCRIPT_GUIDE.md +120 -0
  74. flash_sim-0.0.1/flash/input_gen/gen_shell_script/__init__.py +12 -0
  75. flash_sim-0.0.1/flash/input_gen/gen_shell_script/generator.py +850 -0
  76. flash_sim-0.0.1/flash/input_gen/gen_sim_data/GEN_SIM_DATA_GUIDE.md +306 -0
  77. flash_sim-0.0.1/flash/input_gen/gen_sim_data/__init__.py +10 -0
  78. flash_sim-0.0.1/flash/input_gen/gen_sim_data/generator.py +87 -0
  79. flash_sim-0.0.1/flash/input_gen/gen_sim_init/GEN_SIM_INIT_GUIDE.md +216 -0
  80. flash_sim-0.0.1/flash/input_gen/gen_sim_init/__init__.py +9 -0
  81. flash_sim-0.0.1/flash/input_gen/gen_sim_init/generator.py +104 -0
  82. flash_sim-0.0.1/flash/input_gen/gen_sim_initblock/GEN_SIM_INITBLOCK_GUIDE.md +330 -0
  83. flash_sim-0.0.1/flash/input_gen/gen_sim_initblock/__init__.py +17 -0
  84. flash_sim-0.0.1/flash/input_gen/gen_sim_initblock/generator.py +432 -0
  85. flash_sim-0.0.1/flash/input_gen/gen_sim_initblock/grid.py +278 -0
  86. flash_sim-0.0.1/flash/input_gen/gen_sim_initblock/visualizer.py +250 -0
  87. flash_sim-0.0.1/flash/input_gen/test/__init__.py +1 -0
  88. flash_sim-0.0.1/flash/input_gen/test/_compat.py +97 -0
  89. flash_sim-0.0.1/flash/input_gen/test/conftest.py +64 -0
  90. flash_sim-0.0.1/flash/input_gen/test/test_demo_scripts_compat.py +55 -0
  91. flash_sim-0.0.1/flash/input_gen/test/test_gen_checker.py +57 -0
  92. flash_sim-0.0.1/flash/input_gen/test/test_gen_config.py +54 -0
  93. flash_sim-0.0.1/flash/input_gen/test/test_gen_eos_op.py +69 -0
  94. flash_sim-0.0.1/flash/input_gen/test/test_gen_makefile.py +20 -0
  95. flash_sim-0.0.1/flash/input_gen/test/test_gen_par.py +256 -0
  96. flash_sim-0.0.1/flash/input_gen/test/test_gen_shell_script.py +147 -0
  97. flash_sim-0.0.1/flash/input_gen/test/test_gen_sim_data.py +27 -0
  98. flash_sim-0.0.1/flash/input_gen/test/test_gen_sim_init.py +22 -0
  99. flash_sim-0.0.1/flash/input_gen/test/test_gen_sim_initblock.py +13 -0
  100. flash_sim-0.0.1/flash/interface.py +398 -0
  101. flash_sim-0.0.1/flash/output_processors/__init__.py +50 -0
  102. flash_sim-0.0.1/flash/output_processors/conftest.py +41 -0
  103. flash_sim-0.0.1/flash/output_processors/docs/api_reference.md +597 -0
  104. flash_sim-0.0.1/flash/output_processors/docs/how_to_add_custom_variables.md +417 -0
  105. flash_sim-0.0.1/flash/output_processors/docs/output_processors_usage.md +596 -0
  106. flash_sim-0.0.1/flash/output_processors/docs/performance_tuning.md +365 -0
  107. flash_sim-0.0.1/flash/output_processors/docs/workflow.md +101 -0
  108. flash_sim-0.0.1/flash/output_processors/hdf5processor/__init__.py +21 -0
  109. flash_sim-0.0.1/flash/output_processors/hdf5processor/flash_hdf5.py +1224 -0
  110. flash_sim-0.0.1/flash/output_processors/loader/__init__.py +7 -0
  111. flash_sim-0.0.1/flash/output_processors/loader/data_loader.py +392 -0
  112. flash_sim-0.0.1/flash/output_processors/parallel.py +580 -0
  113. flash_sim-0.0.1/flash/output_processors/plotter/__init__.py +8 -0
  114. flash_sim-0.0.1/flash/output_processors/plotter/plot_generator.py +471 -0
  115. flash_sim-0.0.1/flash/output_processors/plotter/plot_style.py +240 -0
  116. flash_sim-0.0.1/flash/output_processors/test/README.md +154 -0
  117. flash_sim-0.0.1/flash/output_processors/test/TEST_SUMMARY.md +79 -0
  118. flash_sim-0.0.1/flash/output_processors/test/__init__.py +24 -0
  119. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/d1/__init__.py +1 -0
  120. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/d1/test_flash_hdf5_vs_yt.py +369 -0
  121. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/d2/README_amr_extraction.md +245 -0
  122. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/d2/__init__.py +1 -0
  123. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/d2/test_flash_hdf5_vs_yt.py +400 -0
  124. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/d3/__init__.py +1 -0
  125. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/d3/test_amr_visualization_3d.py +167 -0
  126. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/d3/test_flash_hdf5_vs_yt.py +418 -0
  127. flash_sim-0.0.1/flash/output_processors/test/amr_visualization/test_amr_visualization.py +645 -0
  128. flash_sim-0.0.1/flash/output_processors/test/batch_loading/test_batch_loading.py +166 -0
  129. flash_sim-0.0.1/flash/output_processors/test/compare_h5py_vs_yt.py +477 -0
  130. flash_sim-0.0.1/flash/output_processors/test/derived_variables/test_derived_variables.py +57 -0
  131. flash_sim-0.0.1/flash/output_processors/test/dimension_test/test_dimension_loading.py +215 -0
  132. flash_sim-0.0.1/flash/output_processors/test/fix_test_precision.py +95 -0
  133. flash_sim-0.0.1/flash/output_processors/test/lazy_loading/test_lazy_loading.py +181 -0
  134. flash_sim-0.0.1/flash/output_processors/test/loader/test_loader_validation.py +160 -0
  135. flash_sim-0.0.1/flash/output_processors/test/parallel/__init__.py +1 -0
  136. flash_sim-0.0.1/flash/output_processors/test/parallel/test_parallel_processing.py +264 -0
  137. flash_sim-0.0.1/flash/output_processors/test/run_all_tests.py +130 -0
  138. flash_sim-0.0.1/flash/output_processors/test/shock_position/test_shock_position.py +129 -0
  139. flash_sim-0.0.1/flash/output_processors/test/test_yt_style_extraction.py +134 -0
  140. flash_sim-0.0.1/flash/output_processors/test/test_yt_style_extraction_improved.py +142 -0
  141. flash_sim-0.0.1/flash/output_processors/test/unit_conversion/test_unit_conversion.py +157 -0
  142. flash_sim-0.0.1/flash/physics/ele_nonlocal/Knudsen_Nonlocal_Summary.md +576 -0
  143. flash_sim-0.0.1/flash/projects/__init__.py +0 -0
  144. flash_sim-0.0.1/flash/projects/projects_demo/README.md +94 -0
  145. flash_sim-0.0.1/flash/projects/projects_demo/__init__.py +17 -0
  146. flash_sim-0.0.1/flash/projects/projects_demo/ch_center_demo/__init__.py +16 -0
  147. flash_sim-0.0.1/flash/projects/projects_demo/ch_center_demo/plot_compare.py +169 -0
  148. flash_sim-0.0.1/flash/projects/projects_demo/ch_center_demo/run_compare.py +148 -0
  149. flash_sim-0.0.1/flash/scenarios/README.md +669 -0
  150. flash_sim-0.0.1/flash/scenarios/SNBtest/__init__.py +0 -0
  151. flash_sim-0.0.1/flash/scenarios/__init__.py +18 -0
  152. flash_sim-0.0.1/flash/scenarios/base.py +50 -0
  153. flash_sim-0.0.1/flash/scenarios/center_evolution/__init__.py +2 -0
  154. flash_sim-0.0.1/flash/scenarios/center_evolution/ch_center/__init__.py +361 -0
  155. flash_sim-0.0.1/flash/scenarios/center_evolution/ch_center/laserslab1d_local_custom.py +804 -0
  156. flash_sim-0.0.1/flash/scenarios/collision_compression/__init__.py +38 -0
  157. flash_sim-0.0.1/flash/scenarios/flash_demo/__init__.py +0 -0
  158. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_hpc/__init__.py +0 -0
  159. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_hpc/_plot_utils.py +128 -0
  160. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_hpc/laserslab1d_hpc_demo_batch.py +1035 -0
  161. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_hpc/laserslab1d_supercomputer_demo.py +778 -0
  162. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_hpc/remote_analysis.py +428 -0
  163. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_hpc/remote_plot_script.py +444 -0
  164. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_hpc/remote_ssh_helper.py +457 -0
  165. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_local/__init__.py +0 -0
  166. flash_sim-0.0.1/flash/scenarios/flash_demo/demo_local/laserslab1d_local_demo.py +343 -0
  167. flash_sim-0.0.1/flash/scenarios/flash_demo/hello_flash/README.md +447 -0
  168. flash_sim-0.0.1/flash/scenarios/flash_demo/hello_flash/analyze_density.py +416 -0
  169. flash_sim-0.0.1/flash/scenarios/flash_demo/hello_flash/deploy_flash.py +828 -0
  170. flash_sim-0.0.1/flash/scenarios/interpolator.py +286 -0
  171. flash_sim-0.0.1/flash/scenarios/plasma_preparation/__init__.py +1 -0
  172. flash_sim-0.0.1/flash/scenarios/registry.py +61 -0
  173. flash_sim-0.0.1/flash/scenarios/simulator.py +1045 -0
  174. flash_sim-0.0.1/flash/test/__init__.py +1 -0
  175. flash_sim-0.0.1/flash/test/flash_mathtest_custom01.py +413 -0
  176. flash_sim-0.0.1/flash/test/math_test.py +596 -0
  177. flash_sim-0.0.1/flash/utils/__init__.py +9 -0
  178. flash_sim-0.0.1/flash/utils/check_hdf5_time.py +22 -0
  179. flash_sim-0.0.1/flash/utils/convert_pdf_to_md.py +134 -0
  180. flash_sim-0.0.1/flash/utils/convert_text_to_md.py +102 -0
  181. flash_sim-0.0.1/flash/utils/extract_knowledge.py +200 -0
  182. flash_sim-0.0.1/pyproject.toml +196 -0
@@ -0,0 +1,216 @@
1
+
2
+ # ==============================
3
+ # flash-sim specific
4
+ # ==============================
5
+ temp_delete/
6
+
7
+ # ==============================
8
+ # Ignore all extensionless files
9
+ # ==============================
10
+ *
11
+ !*.*
12
+ !*/
13
+
14
+ # Exception: allow no-extension source files
15
+ !.gitignore
16
+ !.env.example
17
+ !Makefile
18
+ !Dockerfile
19
+ !LICENSE
20
+ !README
21
+ !NOTICE
22
+ !scripts/git-hooks/*
23
+ !scripts/*.sh
24
+ # 场景自生成的 FLASH 配置 (ConfigGenerator 产物, 发布包必需)
25
+ !**/sim_input*/Config
26
+
27
+ # ==============================
28
+ # 大文件/媒体排除 (必须在 !*.* 之后, 否则被反忽略覆盖)
29
+ # ==============================
30
+ *.pdf
31
+ *.png
32
+ *.pptx
33
+ *.ppt
34
+ *.avi
35
+ *.mp4
36
+ *.h5
37
+ *.hdf5
38
+
39
+ # ================================================================
40
+ # My Projects (内部工作区, 不发布)
41
+ # ================================================================
42
+ .workbuddy/
43
+ .codebuddy/
44
+
45
+
46
+ # ================================================================
47
+ # FLASH CENTER — 禁止再分发 (FLASH License Agreement §3)
48
+ # ================================================================
49
+ # 依据 FLASH License Agreement §3:
50
+ # "Users of the FLASH Code are not free to re-distribute the FLASH
51
+ # Code, or any of its components, outside the Center."
52
+ #
53
+ # ⚠ 此区块必须放在 !*.* 之后,确保目录排除规则覆盖通用反排除。
54
+ # ⚠ 以下所有文件/目录均为 FLASH 版权材料、运行产物或内部文件,
55
+ # 严禁通过 Git 分发到 Gitee / GitHub 等公开平台。
56
+ # ================================================================
57
+
58
+ # --- FLASH 源码包 & 编译依赖 (任意层级) ---
59
+ **/FLASH4.8/
60
+ **/FLASH4.8.tar.gz
61
+ **/hdf5-1.8.12.tar.gz
62
+ **/hypre-2.9.0b.tar.gz
63
+ **/mpich-3.2.tar.gz
64
+
65
+ # --- FLASH SimulationMain 官方示例源码 ---
66
+ **/SimulationMain/
67
+
68
+ # --- FLASH 官方 LaserSlab 示例 (源码/表格/配置, 含根目录与 scenarios 下) ---
69
+ **/flash_demo/LaserSlab/
70
+ **/LaserSlabPAR.xlsx
71
+
72
+ # --- FLASH 分发的 EOS/不透明度表 ---
73
+ # IONMIX4 格式 .cn4/.cnr/.imx/.ses 表均来自 FLASH 分发, 禁止再分发。
74
+ # 用户自研生成的 Z*.cn4 表由文件末尾例外保留。
75
+ *.cn4
76
+ *.cnr
77
+ *.imx
78
+ *.imx.gz
79
+ *.ses
80
+ *.epsi
81
+
82
+ # --- FLASH 参考源码 (从 FLASH4.8 源码树复制的 refs/ref_f90s) ---
83
+ **/ref_f90s/
84
+ **/refs/
85
+ **/abjt_03.f
86
+ **/abjt_03
87
+
88
+ # --- IONMIX 源码 / MultiEOS 数据 (FLASH 分发组件) ---
89
+ #**/ionmix/
90
+ **/MultiEOS/
91
+
92
+ # --- FLASH 官方文档 (用户手册 4.8 等) ---
93
+ docs/flash4_ug_4p8.md
94
+ docs/flash4_ug_4p8_temp.txt
95
+ **/para_doc/
96
+
97
+ # --- FLASH 协议文件 (本地参考, 不随包分发; docs/ 下协议文本除外) ---
98
+ license_agreement_FLASH.txt
99
+
100
+ # --- HDF5 输出 (FLASH checkpoint/plot) ---
101
+ *_hdf5_chk_*
102
+ *_hdf5_plt_cnt_*
103
+
104
+ # --- Demo / 场景运行产物 (含 FLASH 二进制与 HDF5) ---
105
+ **/demo_hpc/demo_task/
106
+ **/demo_local/demo_task/
107
+ **/demo_task/
108
+ **/runs/
109
+ **/outputfiles/
110
+ **/output/
111
+ **/inputfiles/
112
+ **/temp/
113
+ flash_demo/new_struture/
114
+ flash/scenarios/flash_demo/new_struture/
115
+
116
+ # --- 临时调试目录 (勿提交) ---
117
+ **/wsl_tmp/
118
+ runs_*/
119
+ test/scenarios/runs_*/
120
+ **/run_tools/runs_*/
121
+ test/temp_delete/
122
+ test/grid_rede/
123
+ test/grid_rede_backup_v9/
124
+ test/grid_rede_copy_main/
125
+ test/newpara/flash_input/
126
+ test/newpara/flash_profile/
127
+ test/newpara/output/
128
+ test/hdf5ploter_easy/output/
129
+
130
+ # --- 旧副本 / 备份目录 ---
131
+ scenarios - 副本/
132
+ flash/input_gen/gen_eos_op_copy/
133
+ input_gen/gen_eos_op_copy/
134
+ output_processors_copy/
135
+
136
+ # --- 备份/副本文件 ---
137
+ *.bak
138
+ * (*).F90
139
+ Makefile (*)
140
+ Config (*)
141
+
142
+
143
+ # ==============================
144
+ # Python
145
+ # ==============================
146
+ __pycache__/
147
+ *.py[cod]
148
+ *$py.class
149
+ *.so
150
+ .Python
151
+ build/
152
+ develop-eggs/
153
+ dist/
154
+ downloads/
155
+ eggs/
156
+ .eggs/
157
+ lib/
158
+ lib64/
159
+ parts/
160
+ sdist/
161
+ var/
162
+ wheels/
163
+ *.egg-info/
164
+ .installed.cfg
165
+ *.egg
166
+
167
+
168
+ # ==============================
169
+ # IDEs
170
+ # ==============================
171
+ .vscode/
172
+ .idea/
173
+ *.swp
174
+ *.swo
175
+ *~
176
+
177
+
178
+ # ==============================
179
+ # 自研 EOS 表保留 (Z*.cn4 = ionmix 自生成, 发布包必需)
180
+ # ==============================
181
+ # 全局排除 Z*.cn4 (默认不发布), 例外保留以下两类:
182
+ # - Gen_eos_op_data/ 自生成表目录
183
+ # - sim_input*/ 场景输入目录
184
+ !**/Gen_eos_op_data/**/Z*.cn4
185
+ !**/sim_input*/Z*.cn4
186
+
187
+ # ==============================
188
+ # Credentials (never commit)
189
+ # ==============================
190
+ credentials.enc
191
+ .env
192
+
193
+ # ==============================
194
+ # OS files
195
+ # ==============================
196
+ .DS_Store
197
+ Thumbs.db
198
+ flash_work/
199
+
200
+ # Physics docs (本地知识库, 不推送)
201
+ /physics/
202
+
203
+ # ================================================================
204
+ # PRIVATE — 用户自定义私有库 (不推送到 Gitee)
205
+ # ================================================================
206
+ # 以下为用户个人自定义的特殊场景/配置, 仅本地使用, 不随包分享。
207
+ # 如需分享, 请移除对应条目并重新提交。
208
+ # ================================================================
209
+
210
+ # 私有场景: grad_dens_sandwich (HE-CH-Si-CH-HE 渐变密度 CH)
211
+ scenarios/collision_compression/grad_dens_sandwich/
212
+ flash/scenarios/collision_compression/grad_dens_sandwich/
213
+
214
+ # 私有场景: thin_layer_sandwich (Al/CH/He 与 Si/CH/He 三层靶)
215
+ scenarios/collision_compression/thin_layer_sandwich/
216
+ flash/scenarios/collision_compression/thin_layer_sandwich/
@@ -0,0 +1,386 @@
1
+ flash-sim License
2
+ =================
3
+
4
+ This file describes the license terms for the flash-sim Python package.
5
+ The flash-sim package consists of two categories of intellectual property,
6
+ each governed by separate license terms:
7
+
8
+ PART A — flash-sim Python Code (our original work)
9
+ PART B — FLASH Simulation Engine and Derivative Components (third-party)
10
+
11
+ The official FLASH License Agreement (binding on all FLASH users) is
12
+ reproduced in `docs/license_agreement.txt` and is available online at
13
+ https://flash.rochester.edu. flash-sim is distributed in compliance with
14
+ that agreement; please read it before use.
15
+
16
+
17
+ ======================================================================
18
+ PART A — flash-sim Python Code (Apache License 2.0)
19
+ ======================================================================
20
+
21
+ The Python source code constituting the flash-sim wrapper, tooling, and
22
+ workflow automation (all .py files in the flash/, input_gen/,
23
+ output_processors/, flash_run/, scenarios/, _core/, config/, utils/,
24
+ scripts/, flash_demo/, physics/, projects/, and test/ directories, EXCEPT
25
+ where explicitly noted otherwise) is original work copyright (c) 2026
26
+ PhySimX Contributors, and is licensed under the Apache License, Version 2.0
27
+ (the "License").
28
+
29
+ You may obtain a copy of the License at:
30
+
31
+ http://www.apache.org/licenses/LICENSE-2.0
32
+
33
+ Unless required by applicable law or agreed to in writing, software distributed
34
+ under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
35
+ CONDITIONS OF ANY KIND, either express or implied. See the License for the
36
+ specific language governing permissions and limitations under the License.
37
+
38
+ The full text of the Apache License 2.0 follows at the end of this document.
39
+
40
+
41
+ ======================================================================
42
+ PART B — FLASH Simulation Engine and Derivative Components
43
+ ======================================================================
44
+
45
+ flash-sim is an independently developed Python interface and workflow toolkit
46
+ for the FLASH radiation-hydrodynamics simulation code. flash-sim is NOT the
47
+ FLASH code itself, and is NOT affiliated with, endorsed by, or sponsored by
48
+ the Flash Center for Computational Science.
49
+
50
+ FLASH (the simulation engine) is developed and maintained by the Flash Center
51
+ for Computational Science at the University of Rochester. The FLASH code is
52
+ governed by its own License Agreement, which ALL users must accept at:
53
+
54
+ https://flash.rochester.edu
55
+
56
+ ======================================================================
57
+ IMPORTANT — What this package does NOT include
58
+ ======================================================================
59
+
60
+ This package DOES NOT include, and therefore does NOT re-distribute:
61
+
62
+ - The FLASH source code, compiled binaries, or source tarballs
63
+ - The FLASH SimulationMain example problems (including LaserSlab)
64
+ - The FLASH-distributed EOS/opacity tables (e.g. *.cn4 / *.cnr / *.imx)
65
+ - The FLASH user manual and other FLASH-distributed documentation
66
+ - The IONMIX source code or the MultiEOS data files
67
+
68
+ None of the above may be re-distributed by individual FLASH users under
69
+ Section 3 of the FLASH License Agreement. Users of flash-sim MUST obtain
70
+ all of the above independently from the Flash Center's official website
71
+ (https://flash.rochester.edu) and accept the FLASH License Agreement
72
+ before using flash-sim with a FLASH installation.
73
+
74
+ ======================================================================
75
+ Derivative Works — Modified FLASH Example Files (FLASH Agreement §4)
76
+ ======================================================================
77
+
78
+ Certain scenario input files under `scenarios/`, `input_gen/*/refs/`, and
79
+ related directories are derivative works of FLASH example problem files
80
+ (e.g. `Simulation_data.F90`, `Simulation_init.F90`,
81
+ `Simulation_initBlock.F90`, `Grid_markRefineDerefine.F90`), modified by
82
+ PhySimX Contributors for new physics setups.
83
+
84
+ In compliance with Section 4 of the FLASH License Agreement:
85
+
86
+ (a) Each such file retains a prominent header notice identifying the
87
+ FLASH source file it derives from and stating that the file has been
88
+ modified by PhySimX Contributors. [§4(a) — modifications declared]
89
+ (b) This product includes software developed by and/or derived from the
90
+ Flash Center for Computational Science
91
+ (https://flash.rochester.edu) to which the U.S. Government retains
92
+ certain rights. [§4(b) — acknowledgment displayed]
93
+ (c) The FLASH Code header section describing the origins of the FLASH
94
+ Code and its components remains intact in all modified files.
95
+ [§4(c) — header preserved]
96
+
97
+ Users re-distributing or further modifying these derivative files must
98
+ retain the same notices and acknowledgment.
99
+
100
+ ======================================================================
101
+ FLASH Center Required Attribution
102
+ ======================================================================
103
+
104
+ As required by Section 4(b) of the FLASH License Agreement, any software
105
+ that includes or is derived from the FLASH Code must display the following
106
+ acknowledgement:
107
+
108
+ "This product includes software developed by and/or derived from the
109
+ Flash Center for Computational Science (https://flash.rochester.edu)
110
+ to which the U.S. Government retains certain rights."
111
+
112
+ As required by the FLASH License Agreement, all publications resulting from
113
+ the use of the FLASH Code must acknowledge the Flash Center:
114
+
115
+ "The software used in this work was developed in part by the DOE NNSA-
116
+ and DOE Office of Science-supported Flash Center for Computational
117
+ Science at the University of Chicago and the University of Rochester."
118
+
119
+ Users should also cite the relevant FLASH reference papers listed at:
120
+ https://flash.rochester.edu/site/publications/flash_pubs.shtml
121
+
122
+ ======================================================================
123
+ Commercial Use Warning
124
+ ======================================================================
125
+
126
+ Per Section 5 of the FLASH License Agreement, commercial use of the FLASH
127
+ Code requires prior written approval from the Director of the Flash Center.
128
+ flash-sim users intending commercial use of FLASH must contact the Flash
129
+ Center directly. The Apache 2.0 license on the flash-sim Python wrapper does
130
+ NOT grant any commercial-use rights to the FLASH simulation engine.
131
+
132
+ ======================================================================
133
+ flash-sim Package — PhySimX Team Attribution (Additional Terms)
134
+ ======================================================================
135
+
136
+ flash-sim (the flash auxiliary Python package) is original work developed by
137
+ the PhySimX team in Mianyang, China (绵阳市), and is
138
+ copyright (c) 2026 PhySimX Contributors.
139
+
140
+ Publication Acknowledgment
141
+ --------------------------
142
+ Any publication resulting from the use of flash-sim should acknowledge the
143
+ PhySimX team (Mianyang, China) for developing this auxiliary Python
144
+ package. Suggested text:
145
+
146
+ "We acknowledge the PhySimX team (Mianyang, China) for developing
147
+ the flash-sim auxiliary Python package used in this work."
148
+
149
+ Commercial Use of flash-sim
150
+ ---------------------------
151
+ The flash-sim Python code is released under Apache 2.0, but any commercial
152
+ use must comply with all applicable licenses, including Section 5 of the
153
+ FLASH License Agreement (commercial use of FLASH requires prior written
154
+ approval from the Director of the Flash Center). flash-sim was originally
155
+ developed by the PhySimX team (Mianyang, China); commercial licensing and
156
+ liability are governed by the applicable license and any written agreement in
157
+ force at the time. The Apache 2.0 license on the flash-sim Python wrapper
158
+ code does NOT grant any commercial-use rights to the FLASH simulation engine.
159
+
160
+ ======================================================================
161
+ Third-Party Components
162
+ ======================================================================
163
+
164
+ flash-sim may reference or interface with the following third-party software
165
+ (not distributed with this package):
166
+
167
+ - FLASH 4.8 (Flash Center for Computational Science)
168
+ License: FLASH License Agreement (https://flash.rochester.edu)
169
+ Copyright: University of Chicago / University of Rochester
170
+
171
+ - PARAMESH (NASA / Drexel University)
172
+ Included within FLASH distribution
173
+
174
+ - HDF5 (The HDF Group)
175
+ License: BSD-style (https://www.hdfgroup.org/licenses/)
176
+
177
+ - MPICH (Argonne National Laboratory)
178
+ License: MPICH License (https://www.mpich.org/about/license/)
179
+
180
+ - HYPRE (Lawrence Livermore National Laboratory)
181
+ License: LGPL 2.1 / Apache 2.0
182
+
183
+ - IONMIX EOS/Opacity tables
184
+ Included in FLASH distribution; governed by FLASH License Agreement
185
+
186
+ See the NOTICE file for additional attribution details.
187
+
188
+ ======================================================================
189
+ Disclaimer of Warranty and Limitation of Liability
190
+ ======================================================================
191
+
192
+ THE FLASH-SIM PYTHON PACKAGE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
193
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
194
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
195
+
196
+ IN NO EVENT SHALL THE PHYSIMX CONTRIBUTORS BE LIABLE FOR ANY CLAIM, DAMAGES
197
+ OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
198
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
199
+ DEALINGS IN THE SOFTWARE.
200
+
201
+ THE FLASH CODE IS PROVIDED "AS IS" BY THE FLASH CENTER FOR COMPUTATIONAL
202
+ SCIENCE, THE UNIVERSITY OF CHICAGO, AND THE UNIVERSITY OF ROCHESTER. SEE
203
+ THE FLASH LICENSE AGREEMENT FOR FULL DISCLAIMER TERMS.
204
+
205
+ ======================================================================
206
+
207
+
208
+ APACHE LICENSE, VERSION 2.0
209
+ (applies to flash-sim Python code — Part A)
210
+
211
+ Apache License
212
+ Version 2.0, January 2004
213
+ http://www.apache.org/licenses/
214
+
215
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
216
+
217
+ 1. Definitions.
218
+
219
+ "License" shall mean the terms and conditions for use, reproduction,
220
+ and distribution as defined by Sections 1 through 9 of this document.
221
+
222
+ "Licensor" shall mean the copyright owner or entity authorized by
223
+ the copyright owner that is granting the License.
224
+
225
+ "Legal Entity" shall mean the union of the acting entity and all
226
+ other entities that control, are controlled by, or are under common
227
+ control with that entity. For the purposes of this definition,
228
+ "control" means (i) the power, direct or indirect, to cause the
229
+ direction or management of such entity, whether by contract or
230
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
231
+ outstanding shares, or (iii) beneficial ownership of such entity.
232
+
233
+ "You" (or "Your") shall mean an individual or Legal Entity
234
+ exercising permissions granted by this License.
235
+
236
+ "Source" form shall mean the preferred form for making modifications,
237
+ including but not limited to software source code, documentation
238
+ source, and configuration files.
239
+
240
+ "Object" form shall mean any form resulting from mechanical
241
+ transformation or translation of a Source form, including but
242
+ not limited to compiled object code, generated documentation,
243
+ and conversions to other media types.
244
+
245
+ "Work" shall mean the work of authorship, whether in Source or
246
+ Object form, made available under the License, as indicated by a
247
+ copyright notice that is included in or attached to the work
248
+ (an example is provided in the Appendix below).
249
+
250
+ "Derivative Works" shall mean any work, whether in Source or Object
251
+ form, that is based on (or derived from) the Work and for which the
252
+ editorial revisions, annotations, elaborations, or other modifications
253
+ represent, as a whole, an original work of authorship. For the purposes
254
+ of this License, Derivative Works shall not include works that remain
255
+ separable from, or merely link (or bind by name) to the interfaces of,
256
+ the Work and Derivative Works thereof.
257
+
258
+ "Contribution" shall mean any work of authorship, including
259
+ the original version of the Work and any modifications or additions
260
+ to that Work or Derivative Works thereof, that is intentionally
261
+ submitted to Licensor for inclusion in the Work by the copyright owner
262
+ or by an individual or Legal Entity authorized to submit on behalf of
263
+ the copyright owner. For the purposes of this definition, "submitted"
264
+ means any form of electronic, verbal, or written communication sent
265
+ to the Licensor or its representatives, including but not limited to
266
+ communication on electronic mailing lists, source code control systems,
267
+ and issue tracking systems that are managed by, or on behalf of, the
268
+ Licensor for the purpose of discussing and improving the Work, but
269
+ excluding communication that is conspicuously marked or otherwise
270
+ designated in writing by the copyright owner as "Not a Contribution."
271
+
272
+ "Contributor" shall mean Licensor and any individual or Legal Entity
273
+ on behalf of whom a Contribution has been received by Licensor and
274
+ subsequently incorporated within the Work.
275
+
276
+ 2. Grant of Copyright License. Subject to the terms and conditions of
277
+ this License, each Contributor hereby grants to You a perpetual,
278
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
279
+ copyright license to reproduce, prepare Derivative Works of,
280
+ publicly display, publicly perform, sublicense, and distribute the
281
+ Work and such Derivative Works in Source or Object form.
282
+
283
+ 3. Grant of Patent License. Subject to the terms and conditions of
284
+ this License, each Contributor hereby grants to You a perpetual,
285
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
286
+ (except as stated in this section) patent license to make, have made,
287
+ use, offer to sell, sell, import, and otherwise transfer the Work,
288
+ where such license applies only to those patent claims licensable
289
+ by such Contributor that are necessarily infringed by their
290
+ Contribution(s) alone or by combination of their Contribution(s)
291
+ with the Work to which such Contribution(s) was submitted. If You
292
+ institute patent litigation against any entity (including a
293
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
294
+ or a Contribution incorporated within the Work constitutes direct
295
+ or contributory patent infringement, then any patent licenses
296
+ granted to You under this License for that Work shall terminate
297
+ as of the date such litigation is filed.
298
+
299
+ 4. Redistribution. You may reproduce and distribute copies of the
300
+ Work or Derivative Works thereof in any medium, with or without
301
+ modifications, and in Source or Object form, provided that You
302
+ meet the following conditions:
303
+
304
+ (a) You must give any other recipients of the Work or
305
+ Derivative Works a copy of this License; and
306
+
307
+ (b) You must cause any modified files to carry prominent notices
308
+ stating that You changed the files; and
309
+
310
+ (c) You must retain, in the Source form of any Derivative Works
311
+ that You distribute, all copyright, patent, trademark, and
312
+ attribution notices from the Source form of the Work,
313
+ excluding those notices that do not pertain to any part of
314
+ the Derivative Works; and
315
+
316
+ (d) If the Work includes a "NOTICE" text file as part of its
317
+ distribution, then any Derivative Works that You distribute must
318
+ include a readable copy of the attribution notices contained
319
+ within such NOTICE file, excluding those notices that do not
320
+ pertain to any part of the Derivative Works, in at least one
321
+ of the following places: within a NOTICE text file distributed
322
+ as part of the Derivative Works; within the Source form or
323
+ documentation, if provided along with the Derivative Works; or,
324
+ within a display generated by the Derivative Works, if and
325
+ wherever such third-party notices normally appear. The contents
326
+ of the NOTICE file are for informational purposes only and
327
+ do not modify the License. You may add Your own attribution
328
+ notices within Derivative Works that You distribute, alongside
329
+ or as an addendum to the NOTICE text from the Work, provided
330
+ that such additional attribution notices cannot be construed
331
+ as modifying the License.
332
+
333
+ You may add Your own copyright statement to Your modifications and
334
+ may provide additional or different license terms and conditions
335
+ for use, reproduction, or distribution of Your modifications, or
336
+ for any such Derivative Works as a whole, provided Your use,
337
+ reproduction, and distribution of the Work otherwise complies with
338
+ the conditions stated in this License.
339
+
340
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
341
+ any Contribution intentionally submitted for inclusion in the Work
342
+ by You to the Licensor shall be under the terms and conditions of
343
+ this License, without any additional terms or conditions.
344
+ Notwithstanding the above, nothing herein shall supersede or modify
345
+ the terms of any separate license agreement you may have executed
346
+ with Licensor regarding such Contributions.
347
+
348
+ 6. Trademarks. This License does not grant permission to use the trade
349
+ names, trademarks, service marks, or product names of the Licensor,
350
+ except as required for reasonable and customary use in describing the
351
+ origin of the Work and reproducing the content of the NOTICE file.
352
+
353
+ 7. Disclaimer of Warranty. Unless required by applicable law or
354
+ agreed to in writing, Licensor provides the Work (and each
355
+ Contributor provides its Contributions) on an "AS IS" BASIS,
356
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
357
+ implied, including, without limitation, any warranties or conditions
358
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
359
+ PARTICULAR PURPOSE. You are solely responsible for determining the
360
+ appropriateness of using or redistributing the Work and assume any
361
+ risks associated with Your exercise of permissions under this License.
362
+
363
+ 8. Limitation of Liability. In no event and under no legal theory,
364
+ whether in tort (including negligence), contract, or otherwise,
365
+ unless required by applicable law (such as deliberate and grossly
366
+ negligent acts) or agreed to in writing, shall any Contributor be
367
+ liable to You for damages, including any direct, indirect, special,
368
+ incidental, or consequential damages of any character arising as a
369
+ result of this License or out of the use or inability to use the
370
+ Work (including but not limited to damages for loss of goodwill,
371
+ work stoppage, computer failure or malfunction, or any and all
372
+ other commercial damages or losses), even if such Contributor
373
+ has been advised of the possibility of such damages.
374
+
375
+ 9. Accepting Warranty or Additional Liability. While redistributing
376
+ the Work or Derivative Works thereof, You may choose to offer,
377
+ and charge a fee for, acceptance of support, warranty, indemnity,
378
+ or other liability obligations and/or rights consistent with this
379
+ License. However, in accepting such obligations, You may act only
380
+ on Your own behalf and on Your sole responsibility, not on behalf
381
+ of any other Contributor, and only if You agree to indemnify,
382
+ defend, and hold each Contributor harmless for any liability
383
+ incurred by, or claims asserted against, such Contributor by reason
384
+ of your accepting any such warranty or additional liability.
385
+
386
+ END OF TERMS AND CONDITIONS