constants.yaml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. constants:
  2. - name: STATE_UNSET
  3. type: str
  4. value: STATE_UNSET
  5. - name: STATE_UNSET_INT
  6. type: int
  7. value: -1
  8. - name: BOND_UNBOUND
  9. type: int
  10. value: -1
  11. doc: Represents cases when a component must not be bound in a pattern.
  12. - name: BOND_BOUND
  13. type: int
  14. value: -2
  15. doc: Represents bond type !+ in a pattern.
  16. - name: BOND_ANY
  17. type: int
  18. value: -3
  19. doc: Represents bond type !? in a pattern.
  20. - name: PARTITION_EDGE_EXTRA_MARGIN_UM
  21. type: float
  22. value: 0.01
  23. doc: Internal constant used to match partition setup when comparing models against their MDL variant.
  24. - name: DEFAULT_COUNT_BUFFER_SIZE
  25. type: int
  26. value: 100
  27. doc: Internal constant used to initialize buffer size for molecule and reaction counts.
  28. - name: ALL_MOLECULES
  29. type: str
  30. value: "ALL_MOLECULES"
  31. - name: ALL_VOLUME_MOLECULES
  32. type: str
  33. value: "ALL_VOLUME_MOLECULES"
  34. - name: ALL_SURFACE_MOLECULES
  35. type: str
  36. value: "ALL_SURFACE_MOLECULES"
  37. - name: DEFAULT_CHECKPOINTS_DIR
  38. type: str
  39. value: "checkpoints"
  40. - name: DEFAULT_SEED_DIR_PREFIX
  41. type: str
  42. value: "seed_"
  43. - name: DEFAULT_SEED_DIR_DIGITS
  44. type: int
  45. value: 5
  46. - name: DEFAULT_ITERATION_DIR_PREFIX
  47. type: str
  48. value: "it_"
  49. # TODO: maybe rename to AllSpecies ...
  50. - name: AllMolecules
  51. type: Species
  52. value: AllMolecules # object from api/globals.cpp
  53. - name: AllVolumeMolecules
  54. type: Species
  55. value: AllVolumeMolecules # object from api/globals.cpp
  56. - name: AllSurfaceMolecules
  57. type: Species
  58. value: AllSurfaceMolecules # object from api/globals.cpp
  59. - name: ID_INVALID
  60. type: int
  61. value: -1
  62. - name: NUMBER_OF_TRAINS_UNLIMITED
  63. type: int
  64. value: -1
  65. - name: TIME_INFINITY
  66. type: float
  67. value: 1e140
  68. - name: INT_UNSET
  69. type: int
  70. value: INT32_MAX
  71. doc: |
  72. This is a special integer value that means that an argument was not set,
  73. its value is 2147483647.
  74. - name: FLT_UNSET
  75. type: float
  76. value: FLT_MAX
  77. doc: |
  78. This is a special floating-point value that means that an argument was not set,
  79. its value is 3.40282346638528859812e+38F.
  80. - name: RNG_SIZE
  81. type: int
  82. value: 256
  83. doc: |
  84. Size of arrays of
  85. enums:
  86. - name: Orientation
  87. doc: Orientation of a Complex.
  88. # TODO: consider adding/changing orientation don't care, this might make things a bit clearer
  89. values:
  90. - name: DOWN
  91. value: -1
  92. - name: NONE
  93. value: 0
  94. - name: UP
  95. value: 1
  96. - name: NOT_SET
  97. value: 2
  98. - name: ANY
  99. value: 3
  100. - name: DEFAULT
  101. value: 4
  102. doc: Value DEFAULT means NONE for volume complexes and UP for surface complexes.
  103. - name: Notification
  104. values:
  105. - name: NONE
  106. value: 0
  107. - name: BRIEF
  108. value: 1
  109. - name: FULL
  110. value: 2
  111. - name: WarningLevel
  112. values:
  113. - name: IGNORE
  114. value: 0
  115. doc: Do something sensible and continue silently.
  116. - name: WARNING
  117. value: 1
  118. doc: Do something sensible but emit a warning message.
  119. - name: ERROR
  120. value: 2
  121. doc: Treat the warning as an error and stop.
  122. - name: VizMode
  123. values:
  124. - name: ASCII
  125. value: 0
  126. doc: Readable molecule visualization output.
  127. - name: CELLBLENDER_V1
  128. value: 1
  129. doc: |
  130. Binary molecule visualization output used by MCell3, format v1.
  131. Allows only limited length of species name (256 chars) and
  132. does not contain molecule IDs.
  133. - name: CELLBLENDER
  134. value: 2
  135. doc: Binary molecule visualization output, format v2.
  136. # other shapes are defined in in release_shape_t but only the spherical one is supported by mcell4 now
  137. - name: Shape
  138. values:
  139. - name: UNSET
  140. value: 0
  141. - name: SPHERICAL
  142. value: 1
  143. - name: REGION_EXPR
  144. value: 2
  145. - name: LIST
  146. value: 3
  147. - name: COMPARTMENT
  148. value: 4
  149. - name: SurfacePropertyType
  150. values:
  151. - name: UNSET
  152. value: 0
  153. - name: REACTIVE
  154. value: 1
  155. doc: |
  156. This surface class does not do anything by itself, but it can be used as a reactant in
  157. reaction rules.
  158. - name: REFLECTIVE
  159. value: 2
  160. doc: |
  161. If used as a surface property for a volume molecule it is reflected by any surface with
  162. this surface class. This is the default behavior for volume molecules.
  163. If used for a surface molecule it is reflected by the border of the
  164. surface with this surface class.
  165. Setting orientation in affected_complex_pattern allows selective reflection of volume
  166. molecules from only the front or back of a surface or selective reflection of surface
  167. molecules with only a certain orientation from the surface’s border.
  168. Using m.ALL_MOLECULES as affected_complex_pattern has the effect that all
  169. volume molecules are reflected by surfaces with this surface class and all surface molecules
  170. are reflected by the border of the surfaces with this surface class.
  171. Using m.ALL_VOLUME_MOLECULES as affected_complex_pattern has the effect that all
  172. volume molecules are reflected by surfaces with this surface class.
  173. Using m.ALL_SURFACE_MOLECULES as affected_complex_pattern has the effect that all
  174. surface molecules are reflected by the border of the surface with this surface class.
  175. - name: TRANSPARENT
  176. value: 3
  177. doc: |
  178. If used as a surface property for a volume molecule it passes through all surfaces with
  179. this surface class.
  180. If used for a surface molecule it passes through the border of the surface with this surface
  181. class. This is the default behavior for surface molecules.
  182. Setting orientation in affected_complex_pattern allows selective transparency of volume
  183. molecules from only the front or back of a surface or selective transparency for surface
  184. molecules with only a certain orientation from the surface’s border.
  185. To make a surface with this surface class transparent to all volume molecules,
  186. use m.ALL_VOLUME_MOLECULES for affected_complex_pattern.
  187. To make a border of the surface with this surface class transparent to all surface molecules,
  188. use m.ALL_SURFACE_MOLECULES for the affected_complex_pattern.
  189. Using m.ALL_MOLECULES for affected_complex_pattern has the effect that surfaces with this surface class
  190. are transparent to all volume molecules and borders of the surfaces with this surface class are
  191. transparent to all surface molecules.
  192. - name: ABSORPTIVE
  193. value: 4
  194. doc: |
  195. If affected_complex_pattern refers to a volume molecule it is destroyed if it touches surfaces with this surface class.
  196. If affected_complex_pattern refers to a surface molecule it is destroyed if it touches the border of the surface with
  197. this surface class, i.e., it is allowed to release surface molecules on absorptive surfaces, they get destroyed only
  198. when they touch the border of this surface.
  199. Tick marks on name allow destruction from only one side of the surface for volume molecules or selective destruction
  200. for surface molecules on the surfaces’s border based on their orientation.
  201. To make a surface with this surface class absorptive to all volume molecules, m.ALL_VOLUME_MOLECULES
  202. can be used for affected_complex_pattern.
  203. To make a border of the surface with this surface class absorptive to all surface molecules,
  204. m.ALL_SURFACE_MOLECULES can be used for name.
  205. Using m.ALL_MOLECULES as affected_complex_pattern has the effect that surfaces with this surface
  206. class are absorptive for all volume molecules and borders of the surfaces with this surface class
  207. are absorptive for all surface molecules.
  208. - name: CONCENTRATION_CLAMP
  209. value: 5
  210. doc: |
  211. Clamps concentration at a surface by periodically releasing molecules that correspond
  212. to the wall being a transparent boundary to the area with given concentration,
  213. and by absorbing all molecules that hit this surface.
  214. The molecules matching affected_complex_pattern are destroyed if they touch the surface (as if they
  215. had passed through), and new molecules are created at the surface, as if molecules had passed through
  216. from the other side at a concentration value (units = M).
  217. Orientation marks may be used; in this case, the other side of the surface is reflective.
  218. Note that this command is only used to set the effective concentration of a volume molecule at a surface;
  219. it is not valid to specify a surface molecule.
  220. - name: FLUX_CLAMP
  221. value: 6
  222. doc: |
  223. Clamps flux at a surface by periodically releasing molecules that correspond
  224. to the wall being a transparent boundary to the area with given concentration.
  225. The clamped surface reflects these molecules.
  226. - name: ExprNodeType
  227. doc: Used internally to represent expression trees.
  228. values:
  229. - name: UNSET
  230. value: 0
  231. - name: LEAF
  232. value: 1
  233. - name: ADD
  234. value: 2
  235. - name: SUB
  236. value: 3
  237. - name: RegionNodeType
  238. doc: Used internally to represent region trees.
  239. values:
  240. - name: UNSET
  241. value: 0
  242. - name: LEAF_GEOMETRY_OBJECT
  243. value: 1
  244. - name: LEAF_SURFACE_REGION
  245. value: 2
  246. - name: UNION
  247. value: 3
  248. - name: DIFFERENCE
  249. value: 4
  250. - name: INTERSECT
  251. value: 5
  252. - name: ReactionType
  253. doc: Used in reaction callbacks.
  254. values:
  255. - name: UNSET
  256. value: 0
  257. - name: UNIMOL_VOLUME
  258. value: 1
  259. - name: UNIMOL_SURFACE
  260. value: 2
  261. - name: VOLUME_VOLUME
  262. value: 3
  263. - name: VOLUME_SURFACE
  264. value: 4
  265. - name: SURFACE_SURFACE
  266. value: 5
  267. - name: MoleculeType
  268. doc: Used in molecule introspection and internally in checkpointing.
  269. values:
  270. - name: UNSET
  271. value: 0
  272. - name: VOLUME
  273. value: 1
  274. - name: SURFACE
  275. value: 2
  276. - name: BNGSimulationMethod
  277. doc: Specifies simulation method in exported BNGL, used in Model.export_to_bngl.
  278. values:
  279. - name: NONE
  280. value: 0
  281. - name: ODE
  282. value: 1
  283. - name: SSA
  284. value: 2
  285. - name: PLA
  286. value: 3
  287. - name: NF
  288. value: 4
  289. - name: CountOutputFormat
  290. values:
  291. - name: UNSET
  292. value: 0
  293. doc: Invalid value.
  294. - name: AUTOMATIC_FROM_EXTENSION
  295. value: 1
  296. doc: |
  297. Output format is determined fom extension - .dat selects DAT file format
  298. and .gdat selects GDAT file format.
  299. - name: DAT
  300. value: 2
  301. doc: |
  302. A two-column file with columns time and observable value is created.
  303. Each count must have its own unique file name.
  304. - name: GDAT
  305. value: 3
  306. doc: |
  307. A multi-column file with time and observable values is created.
  308. The first line of the file is a header that starts with a comment
  309. character followed by time and then by the observable names.
  310. The order of observables is given by the order in which they were added
  311. to the model.
  312. Can specify the same output file name for multiple observables.