musica 0.11.1.1__cp312-cp312-win_amd64.whl → 0.14.2__cp312-cp312-win_amd64.whl

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 (129) hide show
  1. musica/__init__.py +23 -3
  2. musica/_musica.cp312-win_amd64.pyd +0 -0
  3. musica/_version.py +1 -1
  4. musica/backend.py +58 -0
  5. musica/carma/__init__.py +20 -0
  6. musica/carma/carma.py +1727 -0
  7. musica/constants.py +3 -0
  8. musica/cuda.py +13 -0
  9. musica/examples/__init__.py +1 -0
  10. musica/examples/carma_aluminum.py +124 -0
  11. musica/examples/carma_sulfate.py +246 -0
  12. musica/examples/examples.py +165 -0
  13. musica/examples/sulfate_box_model.py +439 -0
  14. musica/examples/ts1_latin_hypercube.py +245 -0
  15. musica/main.py +128 -0
  16. musica/mechanism_configuration/__init__.py +18 -0
  17. musica/mechanism_configuration/ancillary.py +6 -0
  18. musica/mechanism_configuration/arrhenius.py +149 -0
  19. musica/mechanism_configuration/branched.py +140 -0
  20. musica/mechanism_configuration/emission.py +82 -0
  21. musica/mechanism_configuration/first_order_loss.py +90 -0
  22. musica/mechanism_configuration/mechanism.py +93 -0
  23. musica/mechanism_configuration/phase.py +58 -0
  24. musica/mechanism_configuration/phase_species.py +58 -0
  25. musica/mechanism_configuration/photolysis.py +98 -0
  26. musica/mechanism_configuration/reaction_component.py +54 -0
  27. musica/mechanism_configuration/reactions.py +32 -0
  28. musica/mechanism_configuration/species.py +65 -0
  29. musica/mechanism_configuration/surface.py +98 -0
  30. musica/mechanism_configuration/taylor_series.py +136 -0
  31. musica/mechanism_configuration/ternary_chemical_activation.py +160 -0
  32. musica/mechanism_configuration/troe.py +160 -0
  33. musica/mechanism_configuration/tunneling.py +126 -0
  34. musica/mechanism_configuration/user_defined.py +99 -0
  35. musica/mechanism_configuration/utils.py +10 -0
  36. musica/micm/__init__.py +10 -0
  37. musica/micm/conditions.py +49 -0
  38. musica/micm/micm.py +135 -0
  39. musica/micm/solver.py +8 -0
  40. musica/micm/solver_result.py +24 -0
  41. musica/micm/state.py +220 -0
  42. musica/micm/utils.py +18 -0
  43. musica/tuvx/__init__.py +11 -0
  44. musica/tuvx/grid.py +98 -0
  45. musica/tuvx/grid_map.py +167 -0
  46. musica/tuvx/profile.py +130 -0
  47. musica/tuvx/profile_map.py +167 -0
  48. musica/tuvx/radiator.py +95 -0
  49. musica/tuvx/radiator_map.py +173 -0
  50. musica/tuvx/tuvx.py +283 -0
  51. musica-0.14.2.dist-info/DELVEWHEEL +2 -0
  52. {musica-0.11.1.1.dist-info → musica-0.14.2.dist-info}/METADATA +146 -63
  53. musica-0.14.2.dist-info/RECORD +104 -0
  54. {musica-0.11.1.1.dist-info → musica-0.14.2.dist-info}/WHEEL +1 -1
  55. musica-0.14.2.dist-info/entry_points.txt +3 -0
  56. musica-0.14.2.dist-info/licenses/AUTHORS.md +59 -0
  57. musica.libs/libaws-c-auth-0a61a643442f1c0912920b37d9fb0be5.dll +0 -0
  58. musica.libs/libaws-c-cal-eaafa5905de6c9ba274eb8737e6087dd.dll +0 -0
  59. musica.libs/libaws-c-common-b4aa4468297ae8e1664f9380a5510317.dll +0 -0
  60. musica.libs/libaws-c-compression-9f997952aeae03067122ca493c9081b5.dll +0 -0
  61. musica.libs/libaws-c-event-stream-fe9cc8e1692f60c2b5694a8959dbd7c3.dll +0 -0
  62. musica.libs/libaws-c-http-4a9d50ba6ad8882f5267ef89e5e4103a.dll +0 -0
  63. musica.libs/libaws-c-io-e454f1c7a44e77f8c957a016888754be.dll +0 -0
  64. musica.libs/libaws-c-mqtt-67c5fc291740f5cbc5e53fb767e93226.dll +0 -0
  65. musica.libs/libaws-c-s3-206db4af6e1a95637b1921ea596603b9.dll +0 -0
  66. musica.libs/libaws-c-sdkutils-5c9c62dafb8b774cd4a3386f95ef428d.dll +0 -0
  67. musica.libs/libaws-checksums-7e50fe01b862214958f4d2ab4215fde5.dll +0 -0
  68. musica.libs/libaws-cpp-sdk-core-7a9ba9c045ee16f5262e955d96865718.dll +0 -0
  69. musica.libs/libaws-cpp-sdk-s3-4eebff3923c6d250fb508da3c990e0ae.dll +0 -0
  70. musica.libs/libaws-crt-cpp-3173f1e6f504a96d88e8dbf9e04b3b14.dll +0 -0
  71. musica.libs/libbrotlicommon-c62c08223e450dfc2fff33c752cc2285.dll +0 -0
  72. musica.libs/libbrotlidec-ccde7c3978eb1d2e052b193f2968d30a.dll +0 -0
  73. musica.libs/libbz2-1-669a4bf9266d5f020e843aa5fd75b93c.dll +0 -0
  74. musica.libs/libcrypto-3-x64-237eeb55505d067eab5e0b886e519387.dll +0 -0
  75. musica.libs/libcurl-4-bdf865458887dc1235b192ec83729214.dll +0 -0
  76. musica.libs/libgcc_s_seh-1-5a3153f12338f79fbbb7bf095fc5cef1.dll +0 -0
  77. musica.libs/libgfortran-5-90848e0eacdecce3a9005faf5aaec7e7.dll +0 -0
  78. musica.libs/libgomp-1-b8afcf09fecd2f6f01e454c9a5f2c690.dll +0 -0
  79. musica.libs/libhdf5-320-eec6c8ba2fdde30d365786ffbff40989.dll +0 -0
  80. musica.libs/libhdf5_hl-320-7e26e1caaad6be4082d728cf08ab2de4.dll +0 -0
  81. musica.libs/libiconv-2-b37d1b4acab5310c4e4f6e2a961d1464.dll +0 -0
  82. musica.libs/libidn2-0-d17600177f3b4cd2521d595b3472d240.dll +0 -0
  83. musica.libs/libintl-8-e4d4ca6b37338fbb0a8c1246afa7258f.dll +0 -0
  84. musica.libs/liblzma-5-bd95aa0fda6e7c8e41b3843d6fc2942c.dll +0 -0
  85. musica.libs/libnetcdf-0623e518145bddd30cc615b6d7f2f9c1.dll +0 -0
  86. musica.libs/libnetcdff-7-982cb7ee026b78f05a79d00e735f91d1.dll +0 -0
  87. musica.libs/libnghttp2-14-6d49ed806389b4892bcf29c6ed6e3984.dll +0 -0
  88. musica.libs/libnghttp3-9-d3c9b57d760f6dae7d6a067a68126b84.dll +0 -0
  89. musica.libs/libngtcp2-16-a43356e6376d41ce4238e2c55581636a.dll +0 -0
  90. musica.libs/libngtcp2_crypto_ossl-0-b37121badf25a552e5654f27bf6ff093.dll +0 -0
  91. musica.libs/libopenblas-a16595c3cae114c5c7304aa8bb3c1272.dll +0 -0
  92. musica.libs/libpsl-5-4368d4c2412410a4a14f3e7f3227e295.dll +0 -0
  93. musica.libs/libquadmath-0-4edeffe0a60c96360445d33a1876dbda.dll +0 -0
  94. musica.libs/libssh2-1-f407a2b50419bd904c7eb2c101ae81ea.dll +0 -0
  95. musica.libs/libssl-3-x64-d2e43d36e6f87f6f1645717cd0871f86.dll +0 -0
  96. musica.libs/libstdc++-6-83061aaccaf8df77a3b584efef12bc7c.dll +0 -0
  97. musica.libs/libsz-2-d12f3d26417507ec8dea9964f9fe36a1.dll +0 -0
  98. musica.libs/libunistring-5-0473d7a71d94f08292beed694c34f7d1.dll +0 -0
  99. musica.libs/libwinpthread-1-9157bac12a85fb717fa3d2bf6712631a.dll +0 -0
  100. musica.libs/libxml2-16-7fe545d280fdef922282226eef91571f.dll +0 -0
  101. musica.libs/libzip-62d3c877b7842bc509fc000316a4731b.dll +0 -0
  102. musica.libs/libzstd-a25427164f8775046eb8ce488d7d0884.dll +0 -0
  103. musica.libs/zlib1-1dc85208162ee57fe97e892bb5160fe9.dll +0 -0
  104. _musica.cp312-win_amd64.pyd +0 -0
  105. lib/musica.lib +0 -0
  106. lib/yaml-cpp.lib +0 -0
  107. musica/CMakeLists.txt +0 -47
  108. musica/binding.cpp +0 -19
  109. musica/mechanism_configuration.cpp +0 -519
  110. musica/mechanism_configuration.py +0 -1291
  111. musica/musica.cpp +0 -214
  112. musica/test/examples/v0/config.json +0 -7
  113. musica/test/examples/v0/config.yaml +0 -3
  114. musica/test/examples/v0/reactions.json +0 -193
  115. musica/test/examples/v0/reactions.yaml +0 -142
  116. musica/test/examples/v0/species.json +0 -40
  117. musica/test/examples/v0/species.yaml +0 -19
  118. musica/test/examples/v1/full_configuration.json +0 -434
  119. musica/test/examples/v1/full_configuration.yaml +0 -271
  120. musica/test/test_analytical.py +0 -323
  121. musica/test/test_chapman.py +0 -123
  122. musica/test/test_parser.py +0 -693
  123. musica/test/tuvx.py +0 -10
  124. musica/tools/prepare_build_environment_linux.sh +0 -41
  125. musica/tools/prepare_build_environment_windows.sh +0 -22
  126. musica/tools/repair_wheel_gpu.sh +0 -25
  127. musica/types.py +0 -362
  128. musica-0.11.1.1.dist-info/RECORD +0 -30
  129. {musica-0.11.1.1.dist-info → musica-0.14.2.dist-info}/licenses/LICENSE +0 -0
musica/musica.cpp DELETED
@@ -1,214 +0,0 @@
1
- // Copyright (C) 2023-2025 University Corporation for Atmospheric Research
2
- // SPDX-License-Identifier: Apache-2.0
3
- #include <musica/micm/micm.hpp>
4
- #include <musica/micm/micm_c_interface.hpp>
5
- #include <musica/micm/state_c_interface.hpp>
6
- #include <musica/micm/state.hpp>
7
- #include <mechanism_configuration/v1/types.hpp>
8
- #include <musica/micm/cuda_availability.hpp>
9
-
10
- #include <pybind11/pybind11.h>
11
- #include <pybind11/stl.h>
12
- #include <pybind11/stl_bind.h>
13
-
14
- namespace py = pybind11;
15
- namespace v1 = mechanism_configuration::v1::types;
16
-
17
- PYBIND11_MAKE_OPAQUE(std::vector<double>)
18
- PYBIND11_MAKE_OPAQUE(std::vector<micm::Conditions>)
19
-
20
- void bind_musica(py::module_ &core)
21
- {
22
- py::bind_vector<std::vector<double>>(core, "VectorDouble");
23
- py::bind_vector<std::vector<micm::Conditions>>(core, "VectorConditions");
24
-
25
- py::class_<micm::Conditions>(core, "_Conditions")
26
- .def(py::init<>())
27
- .def_readwrite("temperature", &micm::Conditions::temperature_)
28
- .def_readwrite("pressure", &micm::Conditions::pressure_)
29
- .def_readwrite("air_density", &micm::Conditions::air_density_);
30
-
31
- py::class_<musica::State>(core, "_State")
32
- .def(py::init<>())
33
- .def("__del__", [](musica::State &state) { })
34
- .def("number_of_grid_cells",
35
- [](musica::State &state) {
36
- return state.NumberOfGridCells();
37
- })
38
- .def_property(
39
- "conditions",
40
- [](musica::State &state) -> std::vector<micm::Conditions>& {
41
- return state.GetConditions();
42
- },
43
- nullptr,
44
- "list of conditions structs for each grid cell")
45
- .def_property(
46
- "concentrations",
47
- [](musica::State &state) -> std::vector<double>& {
48
- return state.GetOrderedConcentrations();
49
- },
50
- nullptr,
51
- "native 1D list of concentrations, ordered by species and grid cell according to matrix type")
52
- .def_property(
53
- "user_defined_rate_parameters",
54
- [](musica::State &state) -> std::vector<double>& {
55
- return state.GetOrderedRateParameters();
56
- },
57
- nullptr,
58
- "native 1D list of user-defined rate parameters, ordered by parameter and grid cell according to matrix type")
59
- .def("concentration_strides",
60
- [](musica::State &state) {
61
- return state.GetConcentrationsStrides();
62
- })
63
- .def("user_defined_rate_parameter_strides",
64
- [](musica::State &state) {
65
- return state.GetUserDefinedRateParametersStrides();
66
- });
67
-
68
- py::enum_<musica::MICMSolver>(core, "_SolverType")
69
- .value("rosenbrock", musica::MICMSolver::Rosenbrock)
70
- .value("rosenbrock_standard_order", musica::MICMSolver::RosenbrockStandardOrder)
71
- .value("backward_euler", musica::MICMSolver::BackwardEuler)
72
- .value("backward_euler_standard_order", musica::MICMSolver::BackwardEulerStandardOrder)
73
- .value("cuda_rosenbrock", musica::MICMSolver::CudaRosenbrock);
74
-
75
- py::class_<musica::MICM>(core, "_Solver");
76
-
77
- core.def("_vector_size",
78
- [](const musica::MICMSolver solver_type)
79
- {
80
- switch (solver_type)
81
- {
82
- case musica::MICMSolver::Rosenbrock:
83
- case musica::MICMSolver::BackwardEuler:
84
- case musica::MICMSolver::CudaRosenbrock:
85
- return musica::MUSICA_VECTOR_SIZE;
86
- case musica::MICMSolver::RosenbrockStandardOrder:
87
- case musica::MICMSolver::BackwardEulerStandardOrder:
88
- return static_cast<std::size_t>(0);
89
- default:
90
- throw py::value_error("Invalid MICM solver type.");
91
- }
92
- },
93
- "Returns the vector dimension for vector-ordered solvers, 0 otherwise.");
94
-
95
- core.def(
96
- "_create_solver",
97
- [](const char *config_path, musica::MICMSolver solver_type)
98
- {
99
- musica::Error error;
100
- musica::MICM *micm = musica::CreateMicm(config_path, solver_type, &error);
101
- if (!musica::IsSuccess(error))
102
- {
103
- std::cout << "Error creating solver: " << error.message_.value_ << " solver_type: " << solver_type
104
- << " config_path: " << config_path << std::endl;
105
- std::string message = "Error creating solver: " + std::string(error.message_.value_);
106
- DeleteError(&error);
107
- throw py::value_error(message);
108
- }
109
- return micm;
110
- });
111
-
112
- core.def(
113
- "_create_solver_from_mechanism",
114
- [](const v1::Mechanism &mechanism, musica::MICMSolver solver_type)
115
- {
116
- musica::Error error;
117
- musica::Chemistry chemistry = musica::ConvertV1Mechanism(mechanism);
118
- musica::MICM *micm = musica::CreateMicmFromChemistryMechanism(&chemistry, solver_type, &error);
119
- if (!musica::IsSuccess(error))
120
- {
121
- std::string message = "Error creating solver: " + std::string(error.message_.value_);
122
- DeleteError(&error);
123
- throw py::value_error(message);
124
- }
125
- return micm;
126
- });
127
-
128
- core.def(
129
- "_create_state",
130
- [](musica::MICM *micm, std::size_t number_of_grid_cells)
131
- {
132
- musica::Error error;
133
- musica::State *state = musica::CreateMicmState(micm, number_of_grid_cells, &error);
134
- if (!musica::IsSuccess(error))
135
- {
136
- std::string message = "Error creating state: " + std::string(error.message_.value_);
137
- DeleteError(&error);
138
- throw py::value_error(message);
139
- }
140
- return state;
141
- });
142
-
143
- core.def(
144
- "_micm_solve",
145
- [](musica::MICM *micm, musica::State *state, double time_step)
146
- {
147
- musica::String solver_state;
148
- musica::SolverResultStats solver_stats;
149
- musica::Error error;
150
- musica::MicmSolve(micm, state, time_step, &solver_state, &solver_stats, &error);
151
- if (!musica::IsSuccess(error))
152
- {
153
- std::string message = "Error solving system: " + std::string(error.message_.value_);
154
- DeleteError(&error);
155
- throw py::value_error(message);
156
- }
157
- },
158
- "Solve the chemistry system");
159
-
160
- core.def(
161
- "_species_ordering",
162
- [](musica::State *state)
163
- {
164
- std::map<std::string, std::size_t> map;
165
- std::visit([&map](auto &state) { map = state.variable_map_; }, state->state_variant_);
166
- return map;
167
- },
168
- "Return map of species names to their indices in the state concentrations vector");
169
-
170
- core.def(
171
- "_user_defined_rate_parameters_ordering",
172
- [](musica::State *state)
173
- {
174
- std::map<std::string, std::size_t> map;
175
-
176
- std::visit([&map](auto &state) { map = state.custom_rate_parameter_map_; }, state->state_variant_);
177
- return map;
178
- },
179
- "Return map of reaction rate parameters to their indices in the state user-defined rate parameters vector");
180
-
181
- core.def("_is_cuda_available", &musica::IsCudaAvailable, "Check if CUDA is available");
182
-
183
- core.def(
184
- "_print_state",
185
- [](musica::State *state, const double current_time)
186
- {
187
- std::visit([&current_time](auto &state) {
188
- std::cout << "Current time: " << current_time << std::endl;
189
- std::cout << "State variables: " << std::endl;
190
- std::vector<std::string> species_names(state.variable_map_.size());
191
- for (const auto &species : state.variable_map_)
192
- species_names[species.second] = species.first;
193
- for (const auto &name : species_names)
194
- std::cout << name << ",";
195
- std::cout << std::endl << state.variables_ << std::endl;
196
- std::cout << "User-defined rate parameters: " << std::endl;
197
- std::vector<std::string> rate_param_names(state.custom_rate_parameter_map_.size());
198
- for (const auto &rate : state.custom_rate_parameter_map_)
199
- rate_param_names[rate.second] = rate.first;
200
- for (const auto &name : rate_param_names)
201
- std::cout << name << ",";
202
- std::cout << std::endl << state.custom_rate_parameters_ << std::endl;
203
- std::cout << "Conditions: " << std::endl;
204
- std::cout << "Temperature,Pressure,Air density" << std::endl;
205
- for (const auto &condition : state.conditions_)
206
- {
207
- std::cout << condition.temperature_ << ","
208
- << condition.pressure_ << ","
209
- << condition.air_density_ << std::endl;
210
- }
211
- }, state->state_variant_);
212
- },
213
- "Print the state to stdout with the current time");
214
- }
@@ -1,7 +0,0 @@
1
- {
2
- "camp-files": [
3
- "species.json",
4
- "reactions.json"
5
- ]
6
- }
7
-
@@ -1,3 +0,0 @@
1
- camp-files:
2
- - species.yaml
3
- - reactions.yaml
@@ -1,193 +0,0 @@
1
- {
2
- "camp-data": [
3
- {
4
- "type": "MECHANISM",
5
- "name": "music box interactive configuration",
6
- "reactions": [
7
- {
8
- "type": "PHOTOLYSIS",
9
- "scaling factor": 1,
10
- "MUSICA name": "foo",
11
- "reactants": {
12
- "foo": {}
13
- },
14
- "products": {
15
- "buz": {
16
- "yield": 1
17
- },
18
- "bar": {
19
- "yield": 1
20
- }
21
- }
22
- },
23
- {
24
- "type": "ARRHENIUS",
25
- "A": 6e-34,
26
- "Ea": 0,
27
- "B": -2.4,
28
- "D": 300,
29
- "E": 0,
30
- "reactants": {
31
- "bar": {
32
- "qty": 1
33
- },
34
- "quuz": {
35
- "qty": 1
36
- },
37
- "M": {
38
- "qty": 1
39
- }
40
- },
41
- "products": {
42
- "baz": {
43
- "yield": 1
44
- },
45
- "M": {
46
- "yield": 1
47
- }
48
- }
49
- },
50
- {
51
- "type": "TROE",
52
- "k0_A": 2.5e-31,
53
- "k0_B": -1.8,
54
- "k0_C": 0,
55
- "kinf_A": 2.2e-11,
56
- "kinf_B": -0.7,
57
- "kinf_C": 0,
58
- "Fc": 0.6,
59
- "N": 1,
60
- "reactants": {
61
- "bar": {
62
- "qty": 1
63
- },
64
- "foo": {
65
- "qty": 1
66
- }
67
- },
68
- "products": {
69
- "baz": {
70
- "yield": 1
71
- }
72
- }
73
- },
74
- {
75
- "type": "EMISSION",
76
- "scaling factor": 1,
77
- "MUSICA name": "buz",
78
- "species": "buz"
79
- },
80
- {
81
- "type": "FIRST_ORDER_LOSS",
82
- "species": "bar",
83
- "MUSICA name": "bar",
84
- "scaling factor": 2.5
85
- },
86
- {
87
- "type": "TERNARY_CHEMICAL_ACTIVATION",
88
- "reactants": {
89
- "bar" : { },
90
- "baz" : { }
91
- },
92
- "products": {
93
- "bar": { "yield": 0.5 },
94
- "foo": { }
95
- },
96
- "k0_A": 32.1,
97
- "k0_B": -2.3,
98
- "k0_C": 102.3,
99
- "kinf_A": 63.4,
100
- "kinf_B": -1.3,
101
- "kinf_C": 908.5,
102
- "Fc": 1.3,
103
- "N": 32.1
104
- },
105
- {
106
- "type": "BRANCHED",
107
- "reactants": {
108
- "foo" : { },
109
- "quz" : { "qty" :2 }
110
- },
111
- "alkoxy products": {
112
- "bar": { "yield": 1.0 },
113
- "baz": { "yield": 3.2 }
114
- },
115
- "nitrate products": {
116
- "quz": { "yield": 1.0 }
117
- },
118
- "Y" : 42.3,
119
- "X" : 12.3,
120
- "a0" : 1.0e-5,
121
- "n" : 3
122
- },
123
- {
124
- "type": "WENNBERG_NO_RO2",
125
- "reactants": {
126
- "bar" : { },
127
- "baz" : { }
128
- },
129
- "alkoxy products": {
130
- "baz": { }
131
- },
132
- "nitrate products": {
133
- "bar": { "yield": 0.5 },
134
- "foo": { }
135
- },
136
- "Y" : 2.3e8,
137
- "X" : 0.32,
138
- "a0" : 0.423,
139
- "n" : 6
140
- },
141
- {
142
- "type": "TUNNELING",
143
- "reactants": {
144
- "bar" : { },
145
- "baz" : { }
146
- },
147
- "products": {
148
- "bar": { "yield": 0.5 },
149
- "foo": { }
150
- },
151
- "A": 32.1,
152
- "B": -2.3,
153
- "C": 102.3
154
- },
155
- {
156
- "type": "WENNBERG_TUNNELING",
157
- "reactants": {
158
- "bar2" : { },
159
- "baz2" : { }
160
- },
161
- "products": {
162
- "bar2": { "yield": 0.5 },
163
- "foo2": { }
164
- },
165
- "A": 2.1,
166
- "B": -1.3,
167
- "C": 12.3
168
- },
169
- {
170
- "type": "SURFACE",
171
- "gas-phase reactant": "bar",
172
- "gas-phase products": {
173
- "bar": { "yield": 0.5 },
174
- "foo": { }
175
- },
176
- "reaction probability": 0.5,
177
- "MUSICA name": "kbar"
178
- },
179
- {
180
- "type": "USER_DEFINED",
181
- "MUSICA name": "bar",
182
- "reactants": {
183
- "foo" : { "qty": 2 }
184
- },
185
- "products": {
186
- "bar" : { }
187
- },
188
- "scaling factor": 2.5
189
- }
190
- ]
191
- }
192
- ]
193
- }
@@ -1,142 +0,0 @@
1
- camp-data:
2
- - name: music box interactive configuration
3
- reactions:
4
- - MUSICA name: foo
5
- products:
6
- bar:
7
- yield: 1
8
- buz:
9
- yield: 1
10
- reactants:
11
- foo: {}
12
- scaling factor: 1
13
- type: PHOTOLYSIS
14
- - A: 6.0e-34
15
- B: -2.4
16
- D: 300
17
- E: 0
18
- Ea: 0
19
- products:
20
- M:
21
- yield: 1
22
- baz:
23
- yield: 1
24
- reactants:
25
- M:
26
- qty: 1
27
- bar:
28
- qty: 1
29
- quuz:
30
- qty: 1
31
- type: ARRHENIUS
32
- - Fc: 0.6
33
- N: 1
34
- k0_A: 2.5e-31
35
- k0_B: -1.8
36
- k0_C: 0
37
- kinf_A: 2.2e-11
38
- kinf_B: -0.7
39
- kinf_C: 0
40
- products:
41
- baz:
42
- yield: 1
43
- reactants:
44
- bar:
45
- qty: 1
46
- foo:
47
- qty: 1
48
- type: TROE
49
- - MUSICA name: buz
50
- scaling factor: 1
51
- species: buz
52
- type: EMISSION
53
- - MUSICA name: bar
54
- scaling factor: 2.5
55
- species: bar
56
- type: FIRST_ORDER_LOSS
57
- - Fc: 1.3
58
- N: 32.1
59
- k0_A: 32.1
60
- k0_B: -2.3
61
- k0_C: 102.3
62
- kinf_A: 63.4
63
- kinf_B: -1.3
64
- kinf_C: 908.5
65
- products:
66
- bar:
67
- yield: 0.5
68
- foo: {}
69
- reactants:
70
- bar: {}
71
- baz: {}
72
- type: TERNARY_CHEMICAL_ACTIVATION
73
- - X: 12.3
74
- Y: 42.3
75
- a0: 1.0e-05
76
- alkoxy products:
77
- bar:
78
- yield: 1.0
79
- baz:
80
- yield: 3.2
81
- n: 3
82
- nitrate products:
83
- quz:
84
- yield: 1.0
85
- reactants:
86
- foo: {}
87
- quz:
88
- qty: 2
89
- type: BRANCHED
90
- - X: 0.32
91
- Y: 230000000.0
92
- a0: 0.423
93
- alkoxy products:
94
- baz: {}
95
- n: 6
96
- nitrate products:
97
- bar:
98
- yield: 0.5
99
- foo: {}
100
- reactants:
101
- bar: {}
102
- baz: {}
103
- type: WENNBERG_NO_RO2
104
- - A: 32.1
105
- B: -2.3
106
- C: 102.3
107
- products:
108
- bar:
109
- yield: 0.5
110
- foo: {}
111
- reactants:
112
- bar: {}
113
- baz: {}
114
- type: TUNNELING
115
- - A: 2.1
116
- B: -1.3
117
- C: 12.3
118
- products:
119
- bar2:
120
- yield: 0.5
121
- foo2: {}
122
- reactants:
123
- bar2: {}
124
- baz2: {}
125
- type: WENNBERG_TUNNELING
126
- - MUSICA name: kbar
127
- gas-phase products:
128
- bar:
129
- yield: 0.5
130
- foo: {}
131
- gas-phase reactant: bar
132
- reaction probability: 0.5
133
- type: SURFACE
134
- - MUSICA name: bar
135
- products:
136
- bar: {}
137
- reactants:
138
- foo:
139
- qty: 2
140
- scaling factor: 2.5
141
- type: USER_DEFINED
142
- type: MECHANISM
@@ -1,40 +0,0 @@
1
- {
2
- "camp-data": [
3
- {
4
- "name": "foo",
5
- "type": "CHEM_SPEC"
6
- },
7
- {
8
- "name": "bar",
9
- "type": "CHEM_SPEC"
10
- },
11
- {
12
- "name": "buz",
13
- "type": "CHEM_SPEC"
14
- },
15
- {
16
- "name": "quuz",
17
- "type": "CHEM_SPEC"
18
- },
19
- {
20
- "name": "foo2",
21
- "type": "CHEM_SPEC"
22
- },
23
- {
24
- "name": "bar2",
25
- "type": "CHEM_SPEC"
26
- },
27
- {
28
- "name": "baz",
29
- "type": "CHEM_SPEC"
30
- },
31
- {
32
- "name": "baz2",
33
- "type": "CHEM_SPEC"
34
- },
35
- {
36
- "name": "M",
37
- "type": "CHEM_SPEC"
38
- }
39
- ]
40
- }
@@ -1,19 +0,0 @@
1
- camp-data:
2
- - name: foo
3
- type: CHEM_SPEC
4
- - name: bar
5
- type: CHEM_SPEC
6
- - name: buz
7
- type: CHEM_SPEC
8
- - name: quuz
9
- type: CHEM_SPEC
10
- - name: foo2
11
- type: CHEM_SPEC
12
- - name: bar2
13
- type: CHEM_SPEC
14
- - name: baz
15
- type: CHEM_SPEC
16
- - name: baz2
17
- type: CHEM_SPEC
18
- - name: M
19
- type: CHEM_SPEC