sysmledgraph 0.7.0

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 (309) hide show
  1. package/README.md +71 -0
  2. package/dist/bin/cli.d.ts +6 -0
  3. package/dist/bin/cli.d.ts.map +1 -0
  4. package/dist/bin/cli.js +61 -0
  5. package/dist/bin/cli.js.map +1 -0
  6. package/dist/mcp/index.d.ts +3 -0
  7. package/dist/mcp/index.d.ts.map +1 -0
  8. package/dist/mcp/index.js +8 -0
  9. package/dist/mcp/index.js.map +1 -0
  10. package/dist/src/cli/commands.d.ts +22 -0
  11. package/dist/src/cli/commands.d.ts.map +1 -0
  12. package/dist/src/cli/commands.js +87 -0
  13. package/dist/src/cli/commands.js.map +1 -0
  14. package/dist/src/discovery/find-sysml.d.ts +16 -0
  15. package/dist/src/discovery/find-sysml.d.ts.map +1 -0
  16. package/dist/src/discovery/find-sysml.js +30 -0
  17. package/dist/src/discovery/find-sysml.js.map +1 -0
  18. package/dist/src/discovery/load-order.d.ts +11 -0
  19. package/dist/src/discovery/load-order.d.ts.map +1 -0
  20. package/dist/src/discovery/load-order.js +85 -0
  21. package/dist/src/discovery/load-order.js.map +1 -0
  22. package/dist/src/graph/connection.d.ts +6 -0
  23. package/dist/src/graph/connection.d.ts.map +1 -0
  24. package/dist/src/graph/connection.js +7 -0
  25. package/dist/src/graph/connection.js.map +1 -0
  26. package/dist/src/graph/graph-store.d.ts +37 -0
  27. package/dist/src/graph/graph-store.d.ts.map +1 -0
  28. package/dist/src/graph/graph-store.js +108 -0
  29. package/dist/src/graph/graph-store.js.map +1 -0
  30. package/dist/src/graph/schema.d.ts +13 -0
  31. package/dist/src/graph/schema.d.ts.map +1 -0
  32. package/dist/src/graph/schema.js +21 -0
  33. package/dist/src/graph/schema.js.map +1 -0
  34. package/dist/src/index.d.ts +14 -0
  35. package/dist/src/index.d.ts.map +1 -0
  36. package/dist/src/index.js +14 -0
  37. package/dist/src/index.js.map +1 -0
  38. package/dist/src/indexer/indexer.d.ts +20 -0
  39. package/dist/src/indexer/indexer.d.ts.map +1 -0
  40. package/dist/src/indexer/indexer.js +56 -0
  41. package/dist/src/indexer/indexer.js.map +1 -0
  42. package/dist/src/indexer/pipeline-phases.d.ts +8 -0
  43. package/dist/src/indexer/pipeline-phases.d.ts.map +1 -0
  44. package/dist/src/indexer/pipeline-phases.js +14 -0
  45. package/dist/src/indexer/pipeline-phases.js.map +1 -0
  46. package/dist/src/mcp/resources/context.d.ts +6 -0
  47. package/dist/src/mcp/resources/context.d.ts.map +1 -0
  48. package/dist/src/mcp/resources/context.js +45 -0
  49. package/dist/src/mcp/resources/context.js.map +1 -0
  50. package/dist/src/mcp/resources/schema.d.ts +6 -0
  51. package/dist/src/mcp/resources/schema.d.ts.map +1 -0
  52. package/dist/src/mcp/resources/schema.js +14 -0
  53. package/dist/src/mcp/resources/schema.js.map +1 -0
  54. package/dist/src/mcp/server.d.ts +8 -0
  55. package/dist/src/mcp/server.d.ts.map +1 -0
  56. package/dist/src/mcp/server.js +175 -0
  57. package/dist/src/mcp/server.js.map +1 -0
  58. package/dist/src/mcp/tools/clean-index.d.ts +12 -0
  59. package/dist/src/mcp/tools/clean-index.d.ts.map +1 -0
  60. package/dist/src/mcp/tools/clean-index.js +22 -0
  61. package/dist/src/mcp/tools/clean-index.js.map +1 -0
  62. package/dist/src/mcp/tools/context.d.ts +14 -0
  63. package/dist/src/mcp/tools/context.d.ts.map +1 -0
  64. package/dist/src/mcp/tools/context.js +51 -0
  65. package/dist/src/mcp/tools/context.js.map +1 -0
  66. package/dist/src/mcp/tools/cypher.d.ts +13 -0
  67. package/dist/src/mcp/tools/cypher.d.ts.map +1 -0
  68. package/dist/src/mcp/tools/cypher.js +25 -0
  69. package/dist/src/mcp/tools/cypher.js.map +1 -0
  70. package/dist/src/mcp/tools/generate-map.d.ts +13 -0
  71. package/dist/src/mcp/tools/generate-map.d.ts.map +1 -0
  72. package/dist/src/mcp/tools/generate-map.js +96 -0
  73. package/dist/src/mcp/tools/generate-map.js.map +1 -0
  74. package/dist/src/mcp/tools/impact.d.ts +14 -0
  75. package/dist/src/mcp/tools/impact.d.ts.map +1 -0
  76. package/dist/src/mcp/tools/impact.js +47 -0
  77. package/dist/src/mcp/tools/impact.js.map +1 -0
  78. package/dist/src/mcp/tools/index-db-graph.d.ts +14 -0
  79. package/dist/src/mcp/tools/index-db-graph.d.ts.map +1 -0
  80. package/dist/src/mcp/tools/index-db-graph.js +32 -0
  81. package/dist/src/mcp/tools/index-db-graph.js.map +1 -0
  82. package/dist/src/mcp/tools/list-indexed.d.ts +9 -0
  83. package/dist/src/mcp/tools/list-indexed.d.ts.map +1 -0
  84. package/dist/src/mcp/tools/list-indexed.js +14 -0
  85. package/dist/src/mcp/tools/list-indexed.js.map +1 -0
  86. package/dist/src/mcp/tools/query.d.ts +14 -0
  87. package/dist/src/mcp/tools/query.d.ts.map +1 -0
  88. package/dist/src/mcp/tools/query.js +47 -0
  89. package/dist/src/mcp/tools/query.js.map +1 -0
  90. package/dist/src/mcp/tools/rename.d.ts +19 -0
  91. package/dist/src/mcp/tools/rename.d.ts.map +1 -0
  92. package/dist/src/mcp/tools/rename.js +46 -0
  93. package/dist/src/mcp/tools/rename.js.map +1 -0
  94. package/dist/src/parser/lsp-client.d.ts +52 -0
  95. package/dist/src/parser/lsp-client.d.ts.map +1 -0
  96. package/dist/src/parser/lsp-client.js +230 -0
  97. package/dist/src/parser/lsp-client.js.map +1 -0
  98. package/dist/src/parser/lsp-server-path.d.ts +10 -0
  99. package/dist/src/parser/lsp-server-path.d.ts.map +1 -0
  100. package/dist/src/parser/lsp-server-path.js +29 -0
  101. package/dist/src/parser/lsp-server-path.js.map +1 -0
  102. package/dist/src/parser/symbols.d.ts +13 -0
  103. package/dist/src/parser/symbols.d.ts.map +1 -0
  104. package/dist/src/parser/symbols.js +150 -0
  105. package/dist/src/parser/symbols.js.map +1 -0
  106. package/dist/src/parser/sysml-mcp-client.d.ts +109 -0
  107. package/dist/src/parser/sysml-mcp-client.d.ts.map +1 -0
  108. package/dist/src/parser/sysml-mcp-client.js +185 -0
  109. package/dist/src/parser/sysml-mcp-client.js.map +1 -0
  110. package/dist/src/storage/clean.d.ts +15 -0
  111. package/dist/src/storage/clean.d.ts.map +1 -0
  112. package/dist/src/storage/clean.js +44 -0
  113. package/dist/src/storage/clean.js.map +1 -0
  114. package/dist/src/storage/list.d.ts +9 -0
  115. package/dist/src/storage/list.d.ts.map +1 -0
  116. package/dist/src/storage/list.js +12 -0
  117. package/dist/src/storage/list.js.map +1 -0
  118. package/dist/src/storage/location.d.ts +22 -0
  119. package/dist/src/storage/location.d.ts.map +1 -0
  120. package/dist/src/storage/location.js +36 -0
  121. package/dist/src/storage/location.js.map +1 -0
  122. package/dist/src/storage/registry.d.ts +14 -0
  123. package/dist/src/storage/registry.d.ts.map +1 -0
  124. package/dist/src/storage/registry.js +59 -0
  125. package/dist/src/storage/registry.js.map +1 -0
  126. package/dist/src/symbol-to-graph/mapping.d.ts +17 -0
  127. package/dist/src/symbol-to-graph/mapping.d.ts.map +1 -0
  128. package/dist/src/symbol-to-graph/mapping.js +102 -0
  129. package/dist/src/symbol-to-graph/mapping.js.map +1 -0
  130. package/dist/src/types.d.ts +40 -0
  131. package/dist/src/types.d.ts.map +1 -0
  132. package/dist/src/types.js +35 -0
  133. package/dist/src/types.js.map +1 -0
  134. package/dist/src/worker/client.d.ts +21 -0
  135. package/dist/src/worker/client.d.ts.map +1 -0
  136. package/dist/src/worker/client.js +126 -0
  137. package/dist/src/worker/client.js.map +1 -0
  138. package/dist/src/worker/gateway.d.ts +79 -0
  139. package/dist/src/worker/gateway.d.ts.map +1 -0
  140. package/dist/src/worker/gateway.js +93 -0
  141. package/dist/src/worker/gateway.js.map +1 -0
  142. package/dist/src/worker/graph-worker.d.ts +7 -0
  143. package/dist/src/worker/graph-worker.d.ts.map +1 -0
  144. package/dist/src/worker/graph-worker.js +91 -0
  145. package/dist/src/worker/graph-worker.js.map +1 -0
  146. package/dist/src/worker/protocol.d.ts +21 -0
  147. package/dist/src/worker/protocol.d.ts.map +1 -0
  148. package/dist/src/worker/protocol.js +9 -0
  149. package/dist/src/worker/protocol.js.map +1 -0
  150. package/docs/INSTALL.md +16 -0
  151. package/docs/MCP_CLIENT_TEMPLATE_ANALYSIS.md +196 -0
  152. package/docs/MCP_INTERACTION_GUIDE.md +201 -0
  153. package/docs/MCP_SERVER_FOR_CURSOR.md +124 -0
  154. package/docs/PLAN.md +58 -0
  155. package/docs/PLAN_INDEPENDENT_LSP.md +145 -0
  156. package/docs/SKILL_DESIGN_PATTERNS.md +305 -0
  157. package/docs/TOOLS.md +317 -0
  158. package/lsp/README.md +41 -0
  159. package/lsp/node_modules/.bin/sysml-mcp +12 -0
  160. package/lsp/node_modules/.bin/sysml-mcp.cmd +9 -0
  161. package/lsp/node_modules/.bin/sysml-mcp.ps1 +16 -0
  162. package/lsp/node_modules/.package-lock.json +22 -0
  163. package/lsp/node_modules/sysml-v2-lsp/CHANGELOG.md +188 -0
  164. package/lsp/node_modules/sysml-v2-lsp/LICENSE +21 -0
  165. package/lsp/node_modules/sysml-v2-lsp/README.md +172 -0
  166. package/lsp/node_modules/sysml-v2-lsp/dist/server/mcpServer.js +167 -0
  167. package/lsp/node_modules/sysml-v2-lsp/dist/server/server.js +142 -0
  168. package/lsp/node_modules/sysml-v2-lsp/index.cjs +23 -0
  169. package/lsp/node_modules/sysml-v2-lsp/package.json +131 -0
  170. package/lsp/node_modules/sysml-v2-lsp/sysml.library/.project +17 -0
  171. package/lsp/node_modules/sysml-v2-lsp/sysml.library/.settings/org.eclipse.jdt.core.prefs +11 -0
  172. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.meta.json +10 -0
  173. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.project.json +27 -0
  174. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/AnalysisTooling.sysml +34 -0
  175. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/SampledFunctions.sysml +119 -0
  176. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/StateSpaceRepresentation.sysml +143 -0
  177. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/TradeStudies.sysml +171 -0
  178. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.meta.json +8 -0
  179. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.project.json +23 -0
  180. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CausationConnections.sysml +83 -0
  181. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CauseAndEffect.sysml +81 -0
  182. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.meta.json +8 -0
  183. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.project.json +27 -0
  184. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/ShapeItems.sysml +899 -0
  185. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/SpatialItems.sysml +168 -0
  186. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.meta.json +10 -0
  187. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.project.json +19 -0
  188. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ImageMetadata.sysml +78 -0
  189. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ModelingMetadata.sysml +143 -0
  190. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ParametersOfInterestMetadata.sysml +39 -0
  191. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/RiskMetadata.sysml +100 -0
  192. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.meta.json +29 -0
  193. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.project.json +23 -0
  194. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQ.sysml +42 -0
  195. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAcoustics.sysml +439 -0
  196. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAtomicNuclear.sysml +2726 -0
  197. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQBase.sysml +206 -0
  198. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -0
  199. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQChemistryMolecular.sysml +1353 -0
  200. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCondensedMatter.sysml +1223 -0
  201. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQElectromagnetism.sysml +2333 -0
  202. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQInformation.sysml +958 -0
  203. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQLight.sysml +1537 -0
  204. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQMechanics.sysml +1564 -0
  205. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQSpaceTime.sysml +1169 -0
  206. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQThermodynamics.sysml +1256 -0
  207. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementRefCalculations.sysml +30 -0
  208. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementReferences.sysml +526 -0
  209. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Quantities.sysml +107 -0
  210. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/QuantityCalculations.sysml +70 -0
  211. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SI.sysml +378 -0
  212. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SIPrefixes.sysml +48 -0
  213. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/TensorCalculations.sysml +50 -0
  214. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Time.sysml +274 -0
  215. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/USCustomaryUnits.sysml +260 -0
  216. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml +62 -0
  217. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +8 -0
  218. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.project.json +19 -0
  219. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml +63 -0
  220. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml +39 -0
  221. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.meta.json +9 -0
  222. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.project.json +11 -0
  223. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/Collections.kerml +147 -0
  224. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/ScalarValues.kerml +23 -0
  225. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/VectorValues.kerml +64 -0
  226. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.meta.json +23 -0
  227. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.project.json +15 -0
  228. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BaseFunctions.kerml +80 -0
  229. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BooleanFunctions.kerml +22 -0
  230. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/CollectionFunctions.kerml +68 -0
  231. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ComplexFunctions.kerml +47 -0
  232. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ControlFunctions.kerml +117 -0
  233. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/DataFunctions.kerml +43 -0
  234. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/IntegerFunctions.kerml +43 -0
  235. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NaturalFunctions.kerml +27 -0
  236. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NumericalFunctions.kerml +43 -0
  237. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/OccurrenceFunctions.kerml +154 -0
  238. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RationalFunctions.kerml +49 -0
  239. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RealFunctions.kerml +56 -0
  240. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ScalarFunctions.kerml +33 -0
  241. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/SequenceFunctions.kerml +111 -0
  242. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/StringFunctions.kerml +25 -0
  243. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/TrigFunctions.kerml +35 -0
  244. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/VectorFunctions.kerml +273 -0
  245. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.meta.json +22 -0
  246. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.project.json +15 -0
  247. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Base.kerml +95 -0
  248. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Clocks.kerml +156 -0
  249. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/ControlPerformances.kerml +135 -0
  250. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/FeatureReferencingPerformances.kerml +190 -0
  251. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/KerML.kerml +483 -0
  252. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Links.kerml +67 -0
  253. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Metaobjects.kerml +58 -0
  254. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Objects.kerml +212 -0
  255. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Observation.kerml +161 -0
  256. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml +992 -0
  257. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Performances.kerml +293 -0
  258. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/SpatialFrames.kerml +197 -0
  259. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/StatePerformances.kerml +145 -0
  260. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Transfers.kerml +281 -0
  261. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/TransitionPerformances.kerml +66 -0
  262. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Triggers.kerml +188 -0
  263. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.meta.json +27 -0
  264. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.project.json +19 -0
  265. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Actions.sysml +552 -0
  266. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Allocations.sysml +29 -0
  267. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/AnalysisCases.sysml +38 -0
  268. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Attributes.sysml +25 -0
  269. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Calculations.sysml +37 -0
  270. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Cases.sysml +71 -0
  271. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Connections.sysml +60 -0
  272. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Constraints.sysml +44 -0
  273. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Flows.sysml +126 -0
  274. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Interfaces.sysml +89 -0
  275. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Items.sysml +153 -0
  276. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Metadata.sysml +32 -0
  277. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Parts.sysml +81 -0
  278. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Ports.sysml +54 -0
  279. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Requirements.sysml +194 -0
  280. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/StandardViewDefinitions.sysml +123 -0
  281. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/States.sysml +103 -0
  282. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/SysML.sysml +539 -0
  283. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/UseCases.sysml +57 -0
  284. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/VerificationCases.sysml +103 -0
  285. package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Views.sysml +164 -0
  286. package/lsp/package-lock.json +30 -0
  287. package/lsp/package.json +15 -0
  288. package/lsp/test-server.mjs +120 -0
  289. package/package.json +61 -0
  290. package/scripts/access-sysml-mcp.mjs +45 -0
  291. package/scripts/check-sysml-v2-lsp-version.mjs +39 -0
  292. package/scripts/clean.mjs +14 -0
  293. package/scripts/compare-mcp-vs-lsp-symbols.mjs +76 -0
  294. package/scripts/debug-index.mjs +23 -0
  295. package/scripts/debug-lsp-symbols.mjs +62 -0
  296. package/scripts/deploy-skills.mjs +43 -0
  297. package/scripts/example-sysml-mcp.mjs +27 -0
  298. package/scripts/export-graph.mjs +80 -0
  299. package/scripts/generate-map.mjs +110 -0
  300. package/scripts/index-and-map.mjs +43 -0
  301. package/scripts/index-and-query.mjs +39 -0
  302. package/scripts/query-one.mjs +34 -0
  303. package/scripts/setup-lsp.mjs +36 -0
  304. package/scripts/test-lsp.mjs +55 -0
  305. package/scripts/test-mcp-debug.mjs +32 -0
  306. package/scripts/test-mcp-sysml.mjs +75 -0
  307. package/scripts/test-mcp-tools.mjs +185 -0
  308. package/scripts/test-sysml-mcp-from-node_modules.mjs +56 -0
  309. package/scripts/validate-sysml-file.mjs +69 -0
@@ -0,0 +1,1223 @@
1
+ standard library package ISQCondensedMatter {
2
+ doc
3
+ /*
4
+ * International System of Quantities and Units
5
+ * Generated on 2025-03-13T15:00:05Z from standard ISO-80000-12:2019 "Condensed matter physics"
6
+ * see also https://www.iso.org/standard/63480.html
7
+ *
8
+ * Note 1: In documentation comments, AsciiMath notation (see http://asciimath.org/) is used for mathematical concepts,
9
+ * with Greek letters in Unicode encoding. In running text, AsciiMath is placed between backticks.
10
+ * Note 2: For vector and tensor quantities currently the unit and quantity value type for their (scalar) magnitude is
11
+ * defined, as well as their typical Cartesian 3d VectorMeasurementReference (i.e. coordinate system)
12
+ * or TensorMeasurementReference.
13
+ */
14
+
15
+ private import ScalarValues::Real;
16
+ private import Quantities::*;
17
+ private import MeasurementReferences::*;
18
+ private import ISQBase::*;
19
+
20
+ /* Quantity definitions referenced from other ISQ packages */
21
+ private import ISQElectromagnetism::ElectricPotentialDifferenceValue;
22
+ private import ISQElectromagnetism::MagneticFluxDensityValue;
23
+ private import ISQElectromagnetism::ResistivityValue;
24
+ private import ISQSpaceTime::CartesianSpatial3dCoordinateFrame;
25
+ private import ISQSpaceTime::AngularFrequencyValue;
26
+ private import ISQSpaceTime::AngularMeasureValue;
27
+ private import ISQSpaceTime::RepetencyValue;
28
+ private import ISQThermodynamics::EnergyValue;
29
+
30
+ /* ISO-80000-12 item 12-1.1 lattice vector */
31
+ attribute def CartesianLattice3dVector :> '3dVectorQuantityValue' {
32
+ doc
33
+ /*
34
+ * source: item 12-1.1 lattice vector
35
+ * symbol(s): `vec(R)`
36
+ * application domain: generic
37
+ * name: LatticeVector (specializes Displacement)
38
+ * quantity dimension: L^1
39
+ * measurement unit(s): m
40
+ * tensor order: 1
41
+ * definition: translation vector that maps the crystal lattice on itself
42
+ * remarks: The non-SI unit ångström (Å) is widely used by x-ray crystallographers and structural chemists.
43
+ */
44
+ attribute :>> isBound = false;
45
+ attribute :>> mRef: CartesianSpatial3dCoordinateFrame[1];
46
+ }
47
+
48
+ attribute cartesianLattice3dVector: CartesianLattice3dVector :> vectorQuantities;
49
+
50
+ /* ISO-80000-12 item 12-1.2 fundamental lattice vector */
51
+ attribute def CartesianFundamentalLattice3dVector :> '3dVectorQuantityValue' {
52
+ doc
53
+ /*
54
+ * source: item 12-1.2 fundamental lattice vector
55
+ * symbol(s): `vec(a_1),vec(a_2),vec(a_3)`, `vec(a),vec(b),vec(c)`
56
+ * application domain: generic
57
+ * name: FundamentalLatticeVector (specializes Displacement)
58
+ * quantity dimension: L^1
59
+ * measurement unit(s): m
60
+ * tensor order: 1
61
+ * definition: fundamental translation vectors for the crystal lattice
62
+ * remarks: The lattice vector (item 12-1.1) can be given as `vec(R) = n_1 vec(a_1) + n_2 vec(a_2) + n_3 vec(a_3)` where `n_1`, `n_2` and `n_3` are integers.
63
+ */
64
+ attribute :>> isBound = false;
65
+ attribute :>> mRef: CartesianSpatial3dCoordinateFrame[1];
66
+ }
67
+
68
+ attribute cartesianFundamentalLattice3dVector: CartesianFundamentalLattice3dVector :> vectorQuantities;
69
+
70
+ /* ISO-80000-12 item 12-2.1 angular reciprocal lattice vector */
71
+ attribute def AngularReciprocalLatticeVectorMagnitudeValue :> ScalarQuantityValue {
72
+ doc
73
+ /*
74
+ * source: item 12-2.1 angular reciprocal lattice vector (magnitude)
75
+ * symbol(s): `G`
76
+ * application domain: generic
77
+ * name: AngularReciprocalLatticeVectorMagnitude
78
+ * quantity dimension: L^-1
79
+ * measurement unit(s): m^-1
80
+ * tensor order: 0
81
+ * definition: vector whose scalar products with all fundamental lattice vectors are integral multiples of `2π`
82
+ * remarks: In crystallography, however, the quantity `G/(2π)` is sometimes used.
83
+ */
84
+ attribute :>> num: Real;
85
+ attribute :>> mRef: AngularReciprocalLatticeVectorMagnitudeUnit[1];
86
+ }
87
+
88
+ attribute angularReciprocalLatticeVectorMagnitude: AngularReciprocalLatticeVectorMagnitudeValue[*] nonunique :> scalarQuantities;
89
+
90
+ attribute def AngularReciprocalLatticeVectorMagnitudeUnit :> DerivedUnit {
91
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
92
+ attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
93
+ }
94
+
95
+ attribute def CartesianAngularReciprocalLattice3dVector :> '3dVectorQuantityValue' {
96
+ doc
97
+ /*
98
+ * source: item 12-2.1 angular reciprocal lattice vector
99
+ * symbol(s): `vec(G)`
100
+ * application domain: generic
101
+ * name: AngularReciprocalLatticeVector
102
+ * quantity dimension: L^-1
103
+ * measurement unit(s): m^-1
104
+ * tensor order: 1
105
+ * definition: vector whose scalar products with all fundamental lattice vectors are integral multiples of `2π`
106
+ * remarks: In crystallography, however, the quantity `G/(2π)` is sometimes used.
107
+ */
108
+ attribute :>> isBound = false;
109
+ attribute :>> mRef: CartesianAngularReciprocalLattice3dCoordinateFrame[1];
110
+ }
111
+
112
+ attribute cartesianAngularReciprocalLattice3dVector: CartesianAngularReciprocalLattice3dVector :> vectorQuantities;
113
+
114
+ attribute def CartesianAngularReciprocalLattice3dCoordinateFrame :> '3dCoordinateFrame' {
115
+ attribute :>> isBound = false;
116
+ attribute :>> isOrthogonal = true;
117
+ attribute :>> mRefs: AngularReciprocalLatticeVectorMagnitudeUnit[3];
118
+ }
119
+
120
+ /* ISO-80000-12 item 12-2.2 fundamental reciprocal lattice vector */
121
+ attribute def FundamentalReciprocalLatticeVectorMagnitudeValue :> ScalarQuantityValue {
122
+ doc
123
+ /*
124
+ * source: item 12-2.2 fundamental reciprocal lattice vector (magnitude)
125
+ * symbol(s): `b_1,b_2,b_3`
126
+ * application domain: generic
127
+ * name: FundamentalReciprocalLatticeVectorMagnitude
128
+ * quantity dimension: L^-1
129
+ * measurement unit(s): m^-1
130
+ * tensor order: 0
131
+ * definition: fundamental translation vectors for the reciprocal lattice
132
+ * remarks: `vec(a_i) * vec(b_i) = 2π δ_(ij)`. In crystallography, however, the quantities `vec(b_j)/(2π)` are also often used.
133
+ */
134
+ attribute :>> num: Real;
135
+ attribute :>> mRef: FundamentalReciprocalLatticeVectorMagnitudeUnit[1];
136
+ }
137
+
138
+ attribute fundamentalReciprocalLatticeVectorMagnitude: FundamentalReciprocalLatticeVectorMagnitudeValue[*] nonunique :> scalarQuantities;
139
+
140
+ attribute def FundamentalReciprocalLatticeVectorMagnitudeUnit :> DerivedUnit {
141
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
142
+ attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
143
+ }
144
+
145
+ attribute def CartesianFundamentalReciprocalLattice3dVector :> '3dVectorQuantityValue' {
146
+ doc
147
+ /*
148
+ * source: item 12-2.2 fundamental reciprocal lattice vector
149
+ * symbol(s): `vec(b_1),vec(b_2),vec(b_3)`
150
+ * application domain: generic
151
+ * name: FundamentalReciprocalLatticeVector
152
+ * quantity dimension: L^-1
153
+ * measurement unit(s): m^-1
154
+ * tensor order: 1
155
+ * definition: fundamental translation vectors for the reciprocal lattice
156
+ * remarks: `vec(a_i) * vec(b_i) = 2π δ_(ij)`. In crystallography, however, the quantities `vec(b_j)/(2π)` are also often used.
157
+ */
158
+ attribute :>> isBound = false;
159
+ attribute :>> mRef: CartesianFundamentalReciprocalLattice3dCoordinateFrame[1];
160
+ }
161
+
162
+ attribute cartesianFundamentalReciprocalLattice3dVector: CartesianFundamentalReciprocalLattice3dVector :> vectorQuantities;
163
+
164
+ attribute def CartesianFundamentalReciprocalLattice3dCoordinateFrame :> '3dCoordinateFrame' {
165
+ attribute :>> isBound = false;
166
+ attribute :>> isOrthogonal = true;
167
+ attribute :>> mRefs: FundamentalReciprocalLatticeVectorMagnitudeUnit[3];
168
+ }
169
+
170
+ /* ISO-80000-12 item 12-3 lattice plane spacing */
171
+ attribute latticePlaneSpacing: LengthValue :> scalarQuantities {
172
+ doc
173
+ /*
174
+ * source: item 12-3 lattice plane spacing
175
+ * symbol(s): `d`
176
+ * application domain: generic
177
+ * name: LatticePlaneSpacing (specializes Length)
178
+ * quantity dimension: L^1
179
+ * measurement unit(s): m
180
+ * tensor order: 0
181
+ * definition: distance (ISO 80000-3) between successive lattice planes
182
+ * remarks: The non-SI unit ångström (Å) is widely used by x-ray crystallographers and structural chemists.
183
+ */
184
+ }
185
+
186
+ /* ISO-80000-12 item 12-4 Bragg angle */
187
+ attribute braggAngle: AngularMeasureValue :> scalarQuantities {
188
+ doc
189
+ /*
190
+ * source: item 12-4 Bragg angle
191
+ * symbol(s): `ϑ`
192
+ * application domain: generic
193
+ * name: BraggAngle (specializes AngularMeasure)
194
+ * quantity dimension: 1
195
+ * measurement unit(s): °, 1
196
+ * tensor order: 0
197
+ * definition: angle between the scattered ray and the lattice plane
198
+ * remarks: Bragg angle `ϑ` is given by `2d sin ϑ = nλ`, where `d` is the lattice plane spacing (item 12-3), `λ` is the wavelength (ISO 80000-7) of the radiation, and `n` is the order of reflexion which is an integer.
199
+ */
200
+ }
201
+
202
+ /* ISO-80000-12 item 12-5.1 short-range order parameter */
203
+ attribute def ShortRangeOrderParameterValue :> DimensionOneValue {
204
+ doc
205
+ /*
206
+ * source: item 12-5.1 short-range order parameter
207
+ * symbol(s): `r`, `σ`
208
+ * application domain: generic
209
+ * name: ShortRangeOrderParameter (specializes DimensionOneQuantity)
210
+ * quantity dimension: 1
211
+ * measurement unit(s): 1
212
+ * tensor order: 0
213
+ * definition: fraction of nearest-neighbour atom pairs in an Ising ferromagnet having magnetic moments in one direction, minus the fraction having magnetic moments in the opposite direction
214
+ * remarks: Similar definitions apply to other order-disorder phenomena. Other symbols are frequently used.
215
+ */
216
+ }
217
+ attribute shortRangeOrderParameter: ShortRangeOrderParameterValue :> scalarQuantities;
218
+
219
+ /* ISO-80000-12 item 12-5.2 long-range order parameter */
220
+ attribute def LongRangeOrderParameterValue :> DimensionOneValue {
221
+ doc
222
+ /*
223
+ * source: item 12-5.2 long-range order parameter
224
+ * symbol(s): `R`, `s`
225
+ * application domain: generic
226
+ * name: LongRangeOrderParameter (specializes DimensionOneQuantity)
227
+ * quantity dimension: 1
228
+ * measurement unit(s): 1
229
+ * tensor order: 0
230
+ * definition: fraction of atoms in an Ising ferromagnet having magnetic moments in one direction, minus the fraction having magnetic moments in the opposite direction
231
+ * remarks: Similar definitions apply to other order-disorder phenomena. Other symbols are frequently used.
232
+ */
233
+ }
234
+ attribute longRangeOrderParameter: LongRangeOrderParameterValue :> scalarQuantities;
235
+
236
+ /* ISO-80000-12 item 12-5.3 atomic scattering factor */
237
+ attribute def AtomicScatteringFactorValue :> DimensionOneValue {
238
+ doc
239
+ /*
240
+ * source: item 12-5.3 atomic scattering factor
241
+ * symbol(s): `f`
242
+ * application domain: generic
243
+ * name: AtomicScatteringFactor (specializes DimensionOneQuantity)
244
+ * quantity dimension: 1
245
+ * measurement unit(s): 1
246
+ * tensor order: 0
247
+ * definition: quotient of radiation amplitude scattered by the atom and radiation amplitude scattered by a single electron
248
+ * remarks: The atomic scattering factor can be expressed by: `f = E_a/(E_e`, where `E_a` is the radiation amplitude scattered by the atom and `E_e` is the radiation amplitude scattered by a single electron.
249
+ */
250
+ }
251
+ attribute atomicScatteringFactor: AtomicScatteringFactorValue :> scalarQuantities;
252
+
253
+ /* ISO-80000-12 item 12-5.4 structure factor */
254
+ attribute def StructureFactorValue :> DimensionOneValue {
255
+ doc
256
+ /*
257
+ * source: item 12-5.4 structure factor
258
+ * symbol(s): `F(h,k,l)`
259
+ * application domain: generic
260
+ * name: StructureFactor (specializes DimensionOneQuantity)
261
+ * quantity dimension: 1
262
+ * measurement unit(s): 1
263
+ * tensor order: 0
264
+ * definition: quantity given by: `F(h,k,l) = sum_(n=1)^N f_n exp[2π i (h x_n + k y_n + l z_n)]`, where `f_n` is the atomic scattering factor (item 12-5.3) for atom `n`, `x_n`, `y_n`, `z_n` are fractional coordinates of its position, `N` is the total number of atoms in the unit cell and `h`, `k`, `l` are the Miller indices
265
+ * remarks: For the Miller indices `h`, `k`, `l`, see Annex A.
266
+ */
267
+ }
268
+ attribute structureFactor: StructureFactorValue :> scalarQuantities;
269
+
270
+ /* ISO-80000-12 item 12-6 Burgers vector */
271
+ attribute def CartesianBurgers3dVector :> '3dVectorQuantityValue' {
272
+ doc
273
+ /*
274
+ * source: item 12-6 Burgers vector
275
+ * symbol(s): `vec(b)`
276
+ * application domain: generic
277
+ * name: BurgersVector (specializes Displacement)
278
+ * quantity dimension: L^1
279
+ * measurement unit(s): m
280
+ * tensor order: 1
281
+ * definition: closing vector in a sequence of vectors encircling a dislocation
282
+ * remarks: None.
283
+ */
284
+ attribute :>> isBound = false;
285
+ attribute :>> mRef: CartesianSpatial3dCoordinateFrame[1];
286
+ }
287
+
288
+ attribute cartesianBurgers3dVector: CartesianBurgers3dVector :> vectorQuantities;
289
+
290
+ /* ISO-80000-12 item 12-7.1 particle position vector */
291
+ attribute def CartesianParticlePosition3dVector :> '3dVectorQuantityValue' {
292
+ doc
293
+ /*
294
+ * source: item 12-7.1 particle position vector
295
+ * symbol(s): `vec(r)`, `vec(R)`
296
+ * application domain: generic
297
+ * name: ParticlePositionVector (specializes PositionVector)
298
+ * quantity dimension: L^1
299
+ * measurement unit(s): m
300
+ * tensor order: 1
301
+ * definition: position vector (ISO 80000-3) of a particle
302
+ * remarks: Often, `r` is used for electrons and `R` is used for atoms and other heavier particles.
303
+ */
304
+ attribute :>> isBound = true;
305
+ attribute :>> mRef: CartesianSpatial3dCoordinateFrame[1];
306
+ }
307
+
308
+ attribute cartesianParticlePosition3dVector: CartesianParticlePosition3dVector :> vectorQuantities;
309
+
310
+ /* ISO-80000-12 item 12-7.2 equilibrium position vector */
311
+ attribute def CartesianEquilibriumPosition3dVector :> '3dVectorQuantityValue' {
312
+ doc
313
+ /*
314
+ * source: item 12-7.2 equilibrium position vector
315
+ * symbol(s): `vec(R_0)`
316
+ * application domain: condensed matter physics
317
+ * name: EquilibriumPositionVector (specializes PositionVector)
318
+ * quantity dimension: L^1
319
+ * measurement unit(s): m
320
+ * tensor order: 1
321
+ * definition: position vector (ISO 80000-3) of an ion or atom in equilibrium
322
+ * remarks: None.
323
+ */
324
+ attribute :>> isBound = true;
325
+ attribute :>> mRef: CartesianSpatial3dCoordinateFrame[1];
326
+ }
327
+
328
+ attribute cartesianEquilibriumPosition3dVector: CartesianEquilibriumPosition3dVector :> vectorQuantities;
329
+
330
+ /* ISO-80000-12 item 12-7.3 displacement vector */
331
+ attribute def CartesianDisplacement3dVector :> '3dVectorQuantityValue' {
332
+ doc
333
+ /*
334
+ * source: item 12-7.3 displacement vector
335
+ * symbol(s): `vec(u)`
336
+ * application domain: condensed matter physics
337
+ * name: DisplacementVector (specializes Displacement)
338
+ * quantity dimension: L^1
339
+ * measurement unit(s): m
340
+ * tensor order: 1
341
+ * definition: difference between the position vector (ISO 80000-3) of an ion or atom and its position vector in equilibrium
342
+ * remarks: The displacement vector can be expressed by: `vec(u) = vec(R) − vec(R_0)`, where `vec(R)` is particle position vector (item 12-7.1) and `vec(R_0)` is position vector of an ion or atom in equilibrium (item 12-7.2).
343
+ */
344
+ attribute :>> isBound = false;
345
+ attribute :>> mRef: CartesianSpatial3dCoordinateFrame[1];
346
+ }
347
+
348
+ attribute cartesianDisplacement3dVector: CartesianDisplacement3dVector :> vectorQuantities;
349
+
350
+ /* ISO-80000-12 item 12-8 Debye-Waller factor */
351
+ attribute def DebyeWallerFactorValue :> DimensionOneValue {
352
+ doc
353
+ /*
354
+ * source: item 12-8 Debye-Waller factor
355
+ * symbol(s): `D`, `B`
356
+ * application domain: generic
357
+ * name: DebyeWallerFactor (specializes DimensionOneQuantity)
358
+ * quantity dimension: 1
359
+ * measurement unit(s): 1
360
+ * tensor order: 0
361
+ * definition: factor by which the intensity of a diffraction line is reduced because of the lattice vibrations
362
+ * remarks: `D` is sometimes expressed as `D = exp(−2W)`; in Mössbauer spectroscopy, it is also called the `f` factor and denoted by `f`.
363
+ */
364
+ }
365
+ attribute debyeWallerFactor: DebyeWallerFactorValue :> scalarQuantities;
366
+
367
+ /* ISO-80000-12 item 12-9.1 angular wavenumber, angular repetency */
368
+ attribute angularWavenumber: RepetencyValue :> scalarQuantities {
369
+ doc
370
+ /*
371
+ * source: item 12-9.1 angular wavenumber, angular repetency
372
+ * symbol(s): `k`, `q`
373
+ * application domain: condensed matter physics
374
+ * name: AngularWavenumber (specializes Repetency)
375
+ * quantity dimension: L^-1
376
+ * measurement unit(s): m^-1
377
+ * tensor order: 0
378
+ * definition: quotient of momentum (ISO 80000-4) and the reduced Planck constant (ISO 80000-1)
379
+ * remarks: The corresponding vector (ISO 80000-2) quantity is called wave vector (ISO 80000-3), expressed by: `vec(k) = vec(p)/ħ`, where `vec(p)` is the momentum (ISO 80000-4) of quasi free electrons in an electron gas, and `ħ` is the reduced Planck constant (ISO 80000-1); for phonons, its magnitude is `k = 2π/λ`, where `λ` is the wavelength (ISO 80000-3) of the lattice vibrations. When a distinction is needed between `k` and the symbol for the Boltzmann constant (ISO 80000-1), `k_B` can be used for the latter. When a distinction is needed, `q` should be used for phonons, and `k` for particles such as electrons and neutrons. The method of cut-off must be specified. In condensed matter physics, angular wavenumber is often called wavenumber.
380
+ */
381
+ }
382
+
383
+ alias angularRepetency for angularWavenumber;
384
+
385
+ /* ISO-80000-12 item 12-9.2 Fermi angular wavenumber, Fermi angular repetency */
386
+ attribute fermiAngularWavenumber: RepetencyValue :> scalarQuantities {
387
+ doc
388
+ /*
389
+ * source: item 12-9.2 Fermi angular wavenumber, Fermi angular repetency
390
+ * symbol(s): `k_F`
391
+ * application domain: generic
392
+ * name: FermiAngularWavenumber (specializes Repetency)
393
+ * quantity dimension: L^-1
394
+ * measurement unit(s): m^-1
395
+ * tensor order: 0
396
+ * definition: angular wavenumber (item 12-9.1) of electrons in states on the Fermi sphere
397
+ * remarks: In condensed matter physics, angular wavenumber is often called wavenumber.
398
+ */
399
+ }
400
+
401
+ alias fermiAngularRepetency for fermiAngularWavenumber;
402
+
403
+ /* ISO-80000-12 item 12-9.3 Debye angular wavenumber, Debye angular repetency */
404
+ attribute debyeAngularWavenumber: RepetencyValue :> scalarQuantities {
405
+ doc
406
+ /*
407
+ * source: item 12-9.3 Debye angular wavenumber, Debye angular repetency
408
+ * symbol(s): `q_D`
409
+ * application domain: generic
410
+ * name: DebyeAngularWavenumber (specializes Repetency)
411
+ * quantity dimension: L^-1
412
+ * measurement unit(s): m^-1
413
+ * tensor order: 0
414
+ * definition: cut-off angular wavenumber (item 12-9.1) in the Debye model of the vibrational spectrum of a solid
415
+ * remarks: The method of cut-off must be specified. In condensed matter physics, angular wavenumber is often called wavenumber.
416
+ */
417
+ }
418
+
419
+ alias debyeAngularRepetency for debyeAngularWavenumber;
420
+
421
+ /* ISO-80000-12 item 12-10 Debye angular frequency */
422
+ attribute debyeAngularFrequency: AngularFrequencyValue :> scalarQuantities {
423
+ doc
424
+ /*
425
+ * source: item 12-10 Debye angular frequency
426
+ * symbol(s): `ω_D`
427
+ * application domain: generic
428
+ * name: DebyeAngularFrequency (specializes AngularFrequency)
429
+ * quantity dimension: T^-1
430
+ * measurement unit(s): s^-1
431
+ * tensor order: 0
432
+ * definition: cut-off angular frequency (ISO 80000-3) in the Debye model of the vibrational spectrum of a solid
433
+ * remarks: The method of cut-off must be specified.
434
+ */
435
+ }
436
+
437
+ /* ISO-80000-12 item 12-11 Debye temperature */
438
+ attribute debyeTemperature: ThermodynamicTemperatureValue :> scalarQuantities {
439
+ doc
440
+ /*
441
+ * source: item 12-11 Debye temperature
442
+ * symbol(s): `Θ_D`
443
+ * application domain: generic
444
+ * name: DebyeTemperature (specializes ThermodynamicTemperature)
445
+ * quantity dimension: Θ^1
446
+ * measurement unit(s): K
447
+ * tensor order: 0
448
+ * definition: in the Debye model, quantity given by: `Θ_D = ħ*ω_D/k`, where `k` is the Boltzmann constant, (ISO 80000-1), `ħ` is the reduced Planck constant (ISO 80000-1), and `ω_D` is Debye angular frequency (item 12-10)
449
+ * remarks: A Debye temperature can also be defined by fitting a Debye model result to a certain quantity, for instance, the heat capacity at a certain temperature.
450
+ */
451
+ }
452
+
453
+ /* ISO-80000-12 item 12-12 density of vibrational states */
454
+ attribute def DensityOfVibrationalStatesValue :> ScalarQuantityValue {
455
+ doc
456
+ /*
457
+ * source: item 12-12 density of vibrational states
458
+ * symbol(s): `g`
459
+ * application domain: angular frequency
460
+ * name: DensityOfVibrationalStates
461
+ * quantity dimension: L^-3*T^1
462
+ * measurement unit(s): m^-3*s
463
+ * tensor order: 0
464
+ * definition: quotient of the number of vibrational modes in an infinitesimal interval of angular frequency (ISO 80000-3), and the product of the width of that interval and volume (ISO 80000-3)
465
+ * remarks: `g(ω) = n_ω = (dn(ω))/(dω)`, where `n(ω)` is the total number of vibrational modes per volume with angular frequency less than `ω`. The density of states may also be normalized in other ways instead of with respect to volume. See also item 12-16.
466
+ */
467
+ attribute :>> num: Real;
468
+ attribute :>> mRef: DensityOfVibrationalStatesUnit[1];
469
+ }
470
+
471
+ attribute densityOfVibrationalStates: DensityOfVibrationalStatesValue[*] nonunique :> scalarQuantities;
472
+
473
+ attribute def DensityOfVibrationalStatesUnit :> DerivedUnit {
474
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
475
+ private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
476
+ attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF); }
477
+ }
478
+
479
+ /* ISO-80000-12 item 12-13 thermodynamic Grüneisen parameter */
480
+ attribute def 'ThermodynamicGrüneisenParameterValue' :> DimensionOneValue {
481
+ doc
482
+ /*
483
+ * source: item 12-13 thermodynamic Grüneisen parameter
484
+ * symbol(s): `γ_G`, `Γ_G`
485
+ * application domain: generic
486
+ * name: ThermodynamicGrüneisenParameter (specializes DimensionOneQuantity)
487
+ * quantity dimension: 1
488
+ * measurement unit(s): 1
489
+ * tensor order: 0
490
+ * definition: quantity given by: `γ_G = (α_V)/(κ_T c_V ρ)`, where `α_V` is cubic expansion coefficient (ISO 80000-5), `κ_T` is isothermal compressibility (ISO 80000-5), `c_V` is specific heat capacity at constant volume (ISO 80000-5), and `ρ` is mass density (ISO 80000-4)
491
+ * remarks: None.
492
+ */
493
+ }
494
+ attribute 'thermodynamicGrüneisenParameter': 'ThermodynamicGrüneisenParameterValue' :> scalarQuantities;
495
+
496
+ /* ISO-80000-12 item 12-14 Grüneisen parameter */
497
+ attribute def 'GrüneisenParameterValue' :> DimensionOneValue {
498
+ doc
499
+ /*
500
+ * source: item 12-14 Grüneisen parameter
501
+ * symbol(s): `γ`
502
+ * application domain: generic
503
+ * name: GrüneisenParameter (specializes DimensionOneQuantity)
504
+ * quantity dimension: 1
505
+ * measurement unit(s): 1
506
+ * tensor order: 0
507
+ * definition: quantity given by minus the partial differential quotient: `γ = -(del ln ω)/(del ln V)`, where `ω` is a lattice vibration frequency (ISO 80000-3), and `V` is volume (ISO 80000-3)
508
+ * remarks: `ω` can also refer to an average of the vibrational spectrum, for instance as represented by a Debye angular frequency (item 12-10).
509
+ */
510
+ }
511
+ attribute 'grüneisenParameter': 'GrüneisenParameterValue' :> scalarQuantities;
512
+
513
+ /* ISO-80000-12 item 12-15.1 mean free path of phonons */
514
+ attribute meanFreePathOfPhonons: LengthValue :> scalarQuantities {
515
+ doc
516
+ /*
517
+ * source: item 12-15.1 mean free path of phonons
518
+ * symbol(s): `l_p`
519
+ * application domain: generic
520
+ * name: MeanFreePathOfPhonons (specializes Length)
521
+ * quantity dimension: L^1
522
+ * measurement unit(s): m
523
+ * tensor order: 0
524
+ * definition: average distance (ISO 80000-3) that phonons travel between two successive interactions
525
+ * remarks: None.
526
+ */
527
+ }
528
+
529
+ /* ISO-80000-12 item 12-15.2 mean free path of electrons */
530
+ attribute meanFreePathOfElectrons: LengthValue :> scalarQuantities {
531
+ doc
532
+ /*
533
+ * source: item 12-15.2 mean free path of electrons
534
+ * symbol(s): `l_e`
535
+ * application domain: generic
536
+ * name: MeanFreePathOfElectrons (specializes Length)
537
+ * quantity dimension: L^1
538
+ * measurement unit(s): m
539
+ * tensor order: 0
540
+ * definition: average distance (ISO 80000-3) that electrons travel between two successive interactions
541
+ * remarks: None.
542
+ */
543
+ }
544
+
545
+ /* ISO-80000-12 item 12-16 energy density of states */
546
+ attribute def EnergyDensityOfStatesValue :> ScalarQuantityValue {
547
+ doc
548
+ /*
549
+ * source: item 12-16 energy density of states
550
+ * symbol(s): `n_E(E)`, `ρ(E)`
551
+ * application domain: generic
552
+ * name: EnergyDensityOfStates
553
+ * quantity dimension: L^-5*M^-1*T^2
554
+ * measurement unit(s): J^-1*m^-3*eV^-1*m^-3, kg^-1*m^-5*s^2
555
+ * tensor order: 0
556
+ * definition: quantity given by the differential quotient with respect to energy: `n_E(E) = (dn(E))/(dE)`, where `n_E(E)` is the total number of one-electron states per volume (ISO 80000-3) with energy less than `E` (ISO 80000-5)
557
+ * remarks: Density of states refers to electrons or other entities, e.g. phonons. It may be normalized in other ways instead of with respect to volume, e.g. with respect to amount of substance. See also item 12-12.
558
+ */
559
+ attribute :>> num: Real;
560
+ attribute :>> mRef: EnergyDensityOfStatesUnit[1];
561
+ }
562
+
563
+ attribute energyDensityOfStates: EnergyDensityOfStatesValue[*] nonunique :> scalarQuantities;
564
+
565
+ attribute def EnergyDensityOfStatesUnit :> DerivedUnit {
566
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -5; }
567
+ private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
568
+ private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 2; }
569
+ attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF); }
570
+ }
571
+
572
+ /* ISO-80000-12 item 12-17 residual resistivity */
573
+ attribute residualResistivity: ResistivityValue :> scalarQuantities {
574
+ doc
575
+ /*
576
+ * source: item 12-17 residual resistivity
577
+ * symbol(s): `ρ_0`
578
+ * application domain: generic
579
+ * name: ResidualResistivity (specializes Resistivity)
580
+ * quantity dimension: L^3*M^1*T^-3*I^-2
581
+ * measurement unit(s): Ω*m, kg*m^3*s^-3*A^-2
582
+ * tensor order: 0
583
+ * definition: for metals, the resistivity (IEC 80000-6) extrapolated to zero thermodynamic temperature (ISO 80000-5)
584
+ * remarks: None.
585
+ */
586
+ }
587
+
588
+ /* ISO-80000-12 item 12-18 Lorenz coefficient */
589
+ attribute def LorenzCoefficientValue :> ScalarQuantityValue {
590
+ doc
591
+ /*
592
+ * source: item 12-18 Lorenz coefficient
593
+ * symbol(s): `L`
594
+ * application domain: generic
595
+ * name: LorenzCoefficient
596
+ * quantity dimension: L^4*M^2*T^-6*I^-2*Θ^-2
597
+ * measurement unit(s): V^2/K^2, kg^2*m^4*s^-6*A^-2*K^-2
598
+ * tensor order: 0
599
+ * definition: quotient of thermal conductivity (ISO 80000-5), and the product of electric conductivity (IEC 80000-6) and thermodynamic temperature (ISO 80000-3)
600
+ * remarks: The Lorenz coefficient can be expressed by `L = λ/(σT)`, where `λ` is thermal conductivity (ISO 80000-5), `σ` is electric conductivity (IEC 80000-6), and `T` is thermodynamic temperature (ISO 80000-5).
601
+ */
602
+ attribute :>> num: Real;
603
+ attribute :>> mRef: LorenzCoefficientUnit[1];
604
+ }
605
+
606
+ attribute lorenzCoefficient: LorenzCoefficientValue[*] nonunique :> scalarQuantities;
607
+
608
+ attribute def LorenzCoefficientUnit :> DerivedUnit {
609
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 4; }
610
+ private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 2; }
611
+ private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -6; }
612
+ private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
613
+ private attribute thermodynamicTemperaturePF: QuantityPowerFactor[1] { :>> quantity = isq.'Θ'; :>> exponent = -2; }
614
+ attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF, thermodynamicTemperaturePF); }
615
+ }
616
+
617
+ /* ISO-80000-12 item 12-19 Hall coefficient */
618
+ attribute def HallCoefficientValue :> ScalarQuantityValue {
619
+ doc
620
+ /*
621
+ * source: item 12-19 Hall coefficient
622
+ * symbol(s): `R_H`, `A_H`
623
+ * application domain: generic
624
+ * name: HallCoefficient
625
+ * quantity dimension: L^3*T^-1*I^-1
626
+ * measurement unit(s): m^3/C, m^3*s^-1*A^-1
627
+ * tensor order: 0
628
+ * definition: in an isotropic conductor, relation between electric field strength, `vec(E)`, (IEC 80000-6) and electric current density, `vec(J)`, (IEC 80000-6) expressed as: `vec(E) = ρ vec(J) + R_H (vec(B) xx vec(J))`, where `ρ` is resistivity (IEC 80000-6), and `vec(B)` is magnetic flux density (IEC 80000-6)
629
+ * remarks: None.
630
+ */
631
+ attribute :>> num: Real;
632
+ attribute :>> mRef: HallCoefficientUnit[1];
633
+ }
634
+
635
+ attribute hallCoefficient: HallCoefficientValue[*] nonunique :> scalarQuantities;
636
+
637
+ attribute def HallCoefficientUnit :> DerivedUnit {
638
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 3; }
639
+ private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
640
+ private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
641
+ attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF, electricCurrentPF); }
642
+ }
643
+
644
+ /* ISO-80000-12 item 12-20 thermoelectric voltage (between substances a and b) */
645
+ attribute thermoelectricVoltageBetweenSubstancesAAndB: ElectricPotentialDifferenceValue :> scalarQuantities {
646
+ doc
647
+ /*
648
+ * source: item 12-20 thermoelectric voltage (between substances a and b)
649
+ * symbol(s): `E_(ab)`
650
+ * application domain: generic
651
+ * name: ThermoelectricVoltageBetweenSubstancesAAndB (specializes ElectricPotentialDifference)
652
+ * quantity dimension: L^2*M^1*T^-3*I^-1
653
+ * measurement unit(s): V, kg*m^2*s^-3*A^-1
654
+ * tensor order: 0
655
+ * definition: voltage (IEC 80000-6) between substances `a` and `b` caused by the thermoelectric effect
656
+ * remarks: None.
657
+ */
658
+ }
659
+
660
+ /* ISO-80000-12 item 12-21 Seebeck coefficient (for substances a and b) */
661
+ attribute def SeebeckCoefficientForSubstancesAAndBValue :> ScalarQuantityValue {
662
+ doc
663
+ /*
664
+ * source: item 12-21 Seebeck coefficient (for substances a and b)
665
+ * symbol(s): `S_(ab)`
666
+ * application domain: generic
667
+ * name: SeebeckCoefficientForSubstancesAAndB
668
+ * quantity dimension: L^2*M^1*T^-3*I^-1*Θ^-1
669
+ * measurement unit(s): V/K, kg*m^2*s^-3*A^-1*K^-1
670
+ * tensor order: 0
671
+ * definition: differential quotient of thermoelectric voltage with respect to thermodynamic temperature: `S_(ab) = (dE_(ab))/(dT)`, where `E_(ab)` is the thermoelectric voltage between substances `a` and `b` (item 12-20) and `T` is thermodynamic temperature (ISO 80000-5)
672
+ * remarks: This term is also called "thermoelectric power".
673
+ */
674
+ attribute :>> num: Real;
675
+ attribute :>> mRef: SeebeckCoefficientForSubstancesAAndBUnit[1];
676
+ }
677
+
678
+ attribute seebeckCoefficientForSubstancesAAndB: SeebeckCoefficientForSubstancesAAndBValue[*] nonunique :> scalarQuantities;
679
+
680
+ attribute def SeebeckCoefficientForSubstancesAAndBUnit :> DerivedUnit {
681
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
682
+ private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
683
+ private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
684
+ private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
685
+ private attribute thermodynamicTemperaturePF: QuantityPowerFactor[1] { :>> quantity = isq.'Θ'; :>> exponent = -1; }
686
+ attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF, thermodynamicTemperaturePF); }
687
+ }
688
+
689
+ /* ISO-80000-12 item 12-22 Peltier coefficient (for substances a and b) */
690
+ attribute peltierCoefficientForSubstancesAAndB: ElectricPotentialDifferenceValue :> scalarQuantities {
691
+ doc
692
+ /*
693
+ * source: item 12-22 Peltier coefficient (for substances a and b)
694
+ * symbol(s): `Π_(ab)`
695
+ * application domain: generic
696
+ * name: PeltierCoefficientForSubstancesAAndB (specializes ElectricPotentialDifference)
697
+ * quantity dimension: L^2*M^1*T^-3*I^-1
698
+ * measurement unit(s): V, kg*m^2*s^-3*A^-1
699
+ * tensor order: 0
700
+ * definition: quotient of Peltier heat power (ISO 80000-5) developed at a junction, and the electric current (IEC 80000-6) flowing from substance `a` to substance `b`
701
+ * remarks: `Π_(ab) = Π_a - Π_b`, where `Π_a` and `Π_b` are the Peltier coefficients of substances `a` and `b`, respectively.
702
+ */
703
+ }
704
+
705
+ /* ISO-80000-12 item 12-23 Thomson coefficient */
706
+ attribute def ThomsonCoefficientValue :> ScalarQuantityValue {
707
+ doc
708
+ /*
709
+ * source: item 12-23 Thomson coefficient
710
+ * symbol(s): `μ`
711
+ * application domain: generic
712
+ * name: ThomsonCoefficient
713
+ * quantity dimension: L^2*M^1*T^-3*I^-1*Θ^-1
714
+ * measurement unit(s): V/K, kg*m^2*s^-3*A^-1*K^-1
715
+ * tensor order: 0
716
+ * definition: quotient of Thomson heat power (ISO 80000-5) developed, and the electric current (IEC 80000-6) and temperature (ISO 80000-5) difference
717
+ * remarks: `μ` is positive if heat is developed when the temperature decreases in the direction of the electric current.
718
+ */
719
+ attribute :>> num: Real;
720
+ attribute :>> mRef: ThomsonCoefficientUnit[1];
721
+ }
722
+
723
+ attribute thomsonCoefficient: ThomsonCoefficientValue[*] nonunique :> scalarQuantities;
724
+
725
+ attribute def ThomsonCoefficientUnit :> DerivedUnit {
726
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
727
+ private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
728
+ private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
729
+ private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
730
+ private attribute thermodynamicTemperaturePF: QuantityPowerFactor[1] { :>> quantity = isq.'Θ'; :>> exponent = -1; }
731
+ attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF, thermodynamicTemperaturePF); }
732
+ }
733
+
734
+ /* ISO-80000-12 item 12-24.1 work function */
735
+ attribute workFunction: EnergyValue :> scalarQuantities {
736
+ doc
737
+ /*
738
+ * source: item 12-24.1 work function
739
+ * symbol(s): `ϕ`
740
+ * application domain: generic
741
+ * name: WorkFunction (specializes Energy)
742
+ * quantity dimension: L^2*M^1*T^-2
743
+ * measurement unit(s): J, eV, kg*m^2*s^-2
744
+ * tensor order: 0
745
+ * definition: difference between energy (ISO 80000-5) of an electron at rest at infinity and the Fermi energy (item 12-27.1)
746
+ * remarks: The term "energy level" is often used for the state of the electron, not only for its energy. The contact potential difference between substances `a` and `b` is given by `V_a - V_b = (ϕ_a - ϕ_b)/e`, where `e` is the elementary charge (ISO 80000-1). A set of energy levels, the energies of which occupy an interval practically continuously, is called an energy band. In semi-conductors `E_d` and `E_a` are used for donors and acceptors, respectively.
747
+ */
748
+ }
749
+
750
+ /* ISO-80000-12 item 12-24.2 ionization energy */
751
+ attribute ionizationEnergy: EnergyValue :> scalarQuantities {
752
+ doc
753
+ /*
754
+ * source: item 12-24.2 ionization energy
755
+ * symbol(s): `E_i`
756
+ * application domain: generic
757
+ * name: IonizationEnergy (specializes Energy)
758
+ * quantity dimension: L^2*M^1*T^-2
759
+ * measurement unit(s): J, eV, kg*m^2*s^-2
760
+ * tensor order: 0
761
+ * definition: difference between energy (ISO 80000-5) of an electron at rest at infinity and a certain energy level which is the energy of an electron in the interior of a substance
762
+ * remarks: None.
763
+ */
764
+ }
765
+
766
+ /* ISO-80000-12 item 12-25 electron affinity */
767
+ attribute electronAffinity: EnergyValue :> scalarQuantities {
768
+ doc
769
+ /*
770
+ * source: item 12-25 electron affinity
771
+ * symbol(s): `χ`
772
+ * application domain: condensed matter physics
773
+ * name: ElectronAffinity (specializes Energy)
774
+ * quantity dimension: L^2*M^1*T^-2
775
+ * measurement unit(s): J, eV, kg*m^2*s^-2
776
+ * tensor order: 0
777
+ * definition: energy (ISO 80000-5) difference between an electron at rest at infinity and an electron at the lowest level of the conduction band in an insulator or semiconductor
778
+ * remarks: None.
779
+ */
780
+ }
781
+
782
+ /* ISO-80000-12 item 12-26 Richardson constant */
783
+ attribute def RichardsonConstantValue :> ScalarQuantityValue {
784
+ doc
785
+ /*
786
+ * source: item 12-26 Richardson constant
787
+ * symbol(s): `A`
788
+ * application domain: generic
789
+ * name: RichardsonConstant
790
+ * quantity dimension: L^-2*I^1*Θ^-2
791
+ * measurement unit(s): A*m^-2*K^-2
792
+ * tensor order: 0
793
+ * definition: parameter in the expression for the thermionic emission current density `J` (IEC 80000-6) for a metal in terms of the thermodynamic temperature `T` (ISO 80000-5) and work function `ϕ`, (item 12-24.1): `J = AT^2 exp(ϕ/(kT))`, where `k` is the Boltzmann constant (ISO 80000-1)
794
+ * remarks: None.
795
+ */
796
+ attribute :>> num: Real;
797
+ attribute :>> mRef: RichardsonConstantUnit[1];
798
+ }
799
+
800
+ attribute richardsonConstant: RichardsonConstantValue[*] nonunique :> scalarQuantities;
801
+
802
+ attribute def RichardsonConstantUnit :> DerivedUnit {
803
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
804
+ private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
805
+ private attribute thermodynamicTemperaturePF: QuantityPowerFactor[1] { :>> quantity = isq.'Θ'; :>> exponent = -2; }
806
+ attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF, thermodynamicTemperaturePF); }
807
+ }
808
+
809
+ /* ISO-80000-12 item 12-27.1 Fermi energy */
810
+ attribute fermiEnergy: EnergyValue :> scalarQuantities {
811
+ doc
812
+ /*
813
+ * source: item 12-27.1 Fermi energy
814
+ * symbol(s): `E_F`
815
+ * application domain: generic
816
+ * name: FermiEnergy (specializes Energy)
817
+ * quantity dimension: L^2*M^1*T^-2
818
+ * measurement unit(s): J, eV, kg*m^2*s^-2
819
+ * tensor order: 0
820
+ * definition: in a metal, highest occupied energy level at zero thermodynamic temperature (ISO 80000-5), where energy level means the energy (ISO 80000-5) of an electron in the interior of a substance
821
+ * remarks: The term "energy level" is often used for the state of the electron, not only for its energy. At `T = 0 [K]`, `E_F` is equal to the chemical potential per electron. In condensed matter physics, the reference level for the energy is sometimes chosen so that, for instance, `E_F = 0`.
822
+ */
823
+ }
824
+
825
+ /* ISO-80000-12 item 12-27.2 gap energy */
826
+ attribute gapEnergy: EnergyValue :> scalarQuantities {
827
+ doc
828
+ /*
829
+ * source: item 12-27.2 gap energy
830
+ * symbol(s): `E_g`
831
+ * application domain: generic
832
+ * name: GapEnergy (specializes Energy)
833
+ * quantity dimension: L^2*M^1*T^-2
834
+ * measurement unit(s): J, eV, kg*m^2*s^-2
835
+ * tensor order: 0
836
+ * definition: difference in energy (ISO 80000-5) between the lowest level of conduction band and the highest level of valence band at zero thermodynamic temperature (ISO 80000-5)
837
+ * remarks: None.
838
+ */
839
+ }
840
+
841
+ /* ISO-80000-12 item 12-28 Fermi temperature */
842
+ attribute fermiTemperature: ThermodynamicTemperatureValue :> scalarQuantities {
843
+ doc
844
+ /*
845
+ * source: item 12-28 Fermi temperature
846
+ * symbol(s): `T_F`
847
+ * application domain: generic
848
+ * name: FermiTemperature (specializes ThermodynamicTemperature)
849
+ * quantity dimension: Θ^1
850
+ * measurement unit(s): K
851
+ * tensor order: 0
852
+ * definition: in the free electron model, the Fermi energy (item 12-27.1) divided by the Boltzmann constant (ISO 80000-1)
853
+ * remarks: The Fermi temperature is expressed by: `T_F = E_F/k`, where `E_F` is Fermi energy (item 12-27.1) and `k` is the Boltzmann constant (ISO 80000-1). `E_F` is relative to the lowest occupied state.
854
+ */
855
+ }
856
+
857
+ /* ISO-80000-12 item 12-29.1 electron density */
858
+ attribute def ElectronDensityValue :> ScalarQuantityValue {
859
+ doc
860
+ /*
861
+ * source: item 12-29.1 electron density
862
+ * symbol(s): `n`
863
+ * application domain: generic
864
+ * name: ElectronDensity
865
+ * quantity dimension: L^-3
866
+ * measurement unit(s): m^-3
867
+ * tensor order: 0
868
+ * definition: quotient of number of electrons in conduction band and volume (ISO 80000-3)
869
+ * remarks: Subscripts `n` and `p` or `-` and `+` are often used to denote electrons and holes, respectively. `n_n` and `n_p` are also used for electron densities, and `p_n` and `p_p` for hole densities, in `n`-type and `p`-type regions, respectively, of a `n`-`p` junction.
870
+ */
871
+ attribute :>> num: Real;
872
+ attribute :>> mRef: ElectronDensityUnit[1];
873
+ }
874
+
875
+ attribute electronDensity: ElectronDensityValue[*] nonunique :> scalarQuantities;
876
+
877
+ attribute def ElectronDensityUnit :> DerivedUnit {
878
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
879
+ attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
880
+ }
881
+
882
+ /* ISO-80000-12 item 12-29.2 hole density */
883
+ attribute def HoleDensityValue :> ScalarQuantityValue {
884
+ doc
885
+ /*
886
+ * source: item 12-29.2 hole density
887
+ * symbol(s): `p`
888
+ * application domain: generic
889
+ * name: HoleDensity
890
+ * quantity dimension: L^-3
891
+ * measurement unit(s): m^-3
892
+ * tensor order: 0
893
+ * definition: quotient of number of holes in valence band and volume (ISO 80000-3)
894
+ * remarks: Subscripts `n` and `p` or `-` and `+` are often used to denote electrons and holes, respectively. `n_n` and `n_p` are also used for electron densities, and `p_n` and `p_p` for hole densities, in `n`-type and `p`-type regions, respectively, of a `n`-`p` junction.
895
+ */
896
+ attribute :>> num: Real;
897
+ attribute :>> mRef: HoleDensityUnit[1];
898
+ }
899
+
900
+ attribute holeDensity: HoleDensityValue[*] nonunique :> scalarQuantities;
901
+
902
+ attribute def HoleDensityUnit :> DerivedUnit {
903
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
904
+ attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
905
+ }
906
+
907
+ /* ISO-80000-12 item 12-29.3 intrinsic carrier density */
908
+ attribute def IntrinsicCarrierDensityValue :> ScalarQuantityValue {
909
+ doc
910
+ /*
911
+ * source: item 12-29.3 intrinsic carrier density
912
+ * symbol(s): `n_i`
913
+ * application domain: generic
914
+ * name: IntrinsicCarrierDensity
915
+ * quantity dimension: L^-3
916
+ * measurement unit(s): m^-3
917
+ * tensor order: 0
918
+ * definition: quantity given by: `n_i = sqrt(n p)`, where `n` is electron density (item 12-29.1), and `p` is hole
919
+ * remarks: Subscripts `n` and `p` or `-` and `+` are often used to denote electrons and holes, respectively. `n_n` and `n_p` are also used for electron densities, and `p_n` and `p_p` for hole densities, in `n`-type and `p`-type regions, respectively, of a `n`-`p` junction.
920
+ */
921
+ attribute :>> num: Real;
922
+ attribute :>> mRef: IntrinsicCarrierDensityUnit[1];
923
+ }
924
+
925
+ attribute intrinsicCarrierDensity: IntrinsicCarrierDensityValue[*] nonunique :> scalarQuantities;
926
+
927
+ attribute def IntrinsicCarrierDensityUnit :> DerivedUnit {
928
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
929
+ attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
930
+ }
931
+
932
+ /* ISO-80000-12 item 12-29.4 donor density */
933
+ attribute def DonorDensityValue :> ScalarQuantityValue {
934
+ doc
935
+ /*
936
+ * source: item 12-29.4 donor density
937
+ * symbol(s): `n_d`
938
+ * application domain: generic
939
+ * name: DonorDensity
940
+ * quantity dimension: L^-3
941
+ * measurement unit(s): m^-3
942
+ * tensor order: 0
943
+ * definition: quotient of number of donor levels and volume (ISO 80000-3)
944
+ * remarks: None.
945
+ */
946
+ attribute :>> num: Real;
947
+ attribute :>> mRef: DonorDensityUnit[1];
948
+ }
949
+
950
+ attribute donorDensity: DonorDensityValue[*] nonunique :> scalarQuantities;
951
+
952
+ attribute def DonorDensityUnit :> DerivedUnit {
953
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
954
+ attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
955
+ }
956
+
957
+ /* ISO-80000-12 item 12-29.5 acceptor density */
958
+ attribute def AcceptorDensityValue :> ScalarQuantityValue {
959
+ doc
960
+ /*
961
+ * source: item 12-29.5 acceptor density
962
+ * symbol(s): `n_a`
963
+ * application domain: generic
964
+ * name: AcceptorDensity
965
+ * quantity dimension: L^-3
966
+ * measurement unit(s): m^-3
967
+ * tensor order: 0
968
+ * definition: quotient of number of acceptor levels and volume (ISO 80000-3)
969
+ * remarks: None.
970
+ */
971
+ attribute :>> num: Real;
972
+ attribute :>> mRef: AcceptorDensityUnit[1];
973
+ }
974
+
975
+ attribute acceptorDensity: AcceptorDensityValue[*] nonunique :> scalarQuantities;
976
+
977
+ attribute def AcceptorDensityUnit :> DerivedUnit {
978
+ private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
979
+ attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
980
+ }
981
+
982
+ /* ISO-80000-12 item 12-30 effective mass */
983
+ attribute effectiveMass: MassValue :> scalarQuantities {
984
+ doc
985
+ /*
986
+ * source: item 12-30 effective mass
987
+ * symbol(s): `m"*"`
988
+ * application domain: generic
989
+ * name: EffectiveMass (specializes Mass)
990
+ * quantity dimension: M^1
991
+ * measurement unit(s): kg
992
+ * tensor order: 0
993
+ * definition: quantity given by: `m^"*" = (ħ^2 k) / ((dε)/(dk))`, where `k` is wavenumber (ISO 80000-3), `ε` is the energy (ISO 80000-5) of an electron in the interior of a substance, and `ħ` is the reduced Planck constant (ISO 80000-1)
994
+ * remarks: When `k` refers to a state where `ε` has an extremum, `m"*" = (ħ^2 k) / ((d^2ε)/(dk^2))`. The effective mass can be generalized to refer to an anisotropic system with `ε = ε(k)`.
995
+ */
996
+ }
997
+
998
+ /* ISO-80000-12 item 12-31 mobility ratio */
999
+ attribute def MobilityRatioValue :> DimensionOneValue {
1000
+ doc
1001
+ /*
1002
+ * source: item 12-31 mobility ratio
1003
+ * symbol(s): `b`
1004
+ * application domain: generic
1005
+ * name: MobilityRatio (specializes DimensionOneQuantity)
1006
+ * quantity dimension: 1
1007
+ * measurement unit(s): 1
1008
+ * tensor order: 0
1009
+ * definition: quotient of mobilities (ISO 80000-10) of electrons and holes, respectively
1010
+ * remarks: The mobility ratio can be expressed by: `b = μ_n/μ_p`, where `μ_n` and `μ_p` are mobilities (ISO 80000-10) for electrons and holes, respectively.
1011
+ */
1012
+ }
1013
+ attribute mobilityRatio: MobilityRatioValue :> scalarQuantities;
1014
+
1015
+ /* ISO-80000-12 item 12-32.1 relaxation time */
1016
+ attribute relaxationTime: DurationValue :> scalarQuantities {
1017
+ doc
1018
+ /*
1019
+ * source: item 12-32.1 relaxation time
1020
+ * symbol(s): `τ`
1021
+ * application domain: condensed matter physics
1022
+ * name: RelaxationTime (specializes Duration)
1023
+ * quantity dimension: T^1
1024
+ * measurement unit(s): s
1025
+ * tensor order: 0
1026
+ * definition: time constant (ISO 80000-3) for scattering, trapping or annihilation of charge carriers, phonons or other quasiparticles
1027
+ * remarks: For electrons in metals, `τ = l/v_F`, where `l` is mean free path (item 12-15.2) and `v_F` is speed (ISO 80000-3) of electrons on the Fermi surface.
1028
+ */
1029
+ }
1030
+
1031
+ /* ISO-80000-12 item 12-32.2 carrier lifetime */
1032
+ attribute carrierLifetime: DurationValue :> scalarQuantities {
1033
+ doc
1034
+ /*
1035
+ * source: item 12-32.2 carrier lifetime
1036
+ * symbol(s): `τ`, `τ_n`, `τ_p`
1037
+ * application domain: semiconductors
1038
+ * name: CarrierLifetime (specializes Duration)
1039
+ * quantity dimension: T^1
1040
+ * measurement unit(s): s
1041
+ * tensor order: 0
1042
+ * definition: time constant (ISO 80000-3) for recombination or trapping of minority charge carriers in semiconductors
1043
+ * remarks: Indices "n" and "p" denote negative and positive charge carriers, respectively. Positive charge carriers can also be holes.
1044
+ */
1045
+ }
1046
+
1047
+ /* ISO-80000-12 item 12-33 diffusion length */
1048
+ attribute diffusionLengthForCondensedMatterPhysics: LengthValue :> scalarQuantities {
1049
+ doc
1050
+ /*
1051
+ * source: item 12-33 diffusion length
1052
+ * symbol(s): `L`, `L_n`, `L_p`
1053
+ * application domain: condensed matter physics
1054
+ * name: DiffusionLength (specializes Length)
1055
+ * quantity dimension: L^1
1056
+ * measurement unit(s): m
1057
+ * tensor order: 0
1058
+ * definition: square root of the product of diffusion coefficient (ISO 80000-10) and lifetime (ISO 80000-10)
1059
+ * remarks: The diffusion length can be expressed by: `L = sqrt(Dτ)`, where `D` is the diffusion coefficient (ISO 80000-9) and `τ` is lifetime (ISO 80000-3).
1060
+ */
1061
+ }
1062
+
1063
+ /* ISO-80000-12 item 12-34 exchange integral */
1064
+ attribute exchangeIntegral: EnergyValue :> scalarQuantities {
1065
+ doc
1066
+ /*
1067
+ * source: item 12-34 exchange integral
1068
+ * symbol(s): `K`, `J`
1069
+ * application domain: generic
1070
+ * name: ExchangeIntegral (specializes Energy)
1071
+ * quantity dimension: L^2*M^1*T^-2
1072
+ * measurement unit(s): J, eV, kg*m^2*s^-2
1073
+ * tensor order: 0
1074
+ * definition: constituent of the interaction energy (ISO 80000-5) between the spins of adjacent electrons in matter arising from the overlap of electron state functions
1075
+ * remarks: None.
1076
+ */
1077
+ }
1078
+
1079
+ /* ISO-80000-12 item 12-35.1 Curie temperature */
1080
+ attribute curieTemperature: ThermodynamicTemperatureValue :> scalarQuantities {
1081
+ doc
1082
+ /*
1083
+ * source: item 12-35.1 Curie temperature
1084
+ * symbol(s): `T_C`
1085
+ * application domain: generic
1086
+ * name: CurieTemperature (specializes ThermodynamicTemperature)
1087
+ * quantity dimension: Θ^1
1088
+ * measurement unit(s): K
1089
+ * tensor order: 0
1090
+ * definition: critical thermodynamic temperature (ISO 80000-5) of a ferromagnet
1091
+ * remarks: `T_(cr)` is used for critical thermodynamic temperature in general.
1092
+ */
1093
+ }
1094
+
1095
+ /* ISO-80000-12 item 12-35.2 Néel temperature */
1096
+ attribute 'néelTemperature': ThermodynamicTemperatureValue :> scalarQuantities {
1097
+ doc
1098
+ /*
1099
+ * source: item 12-35.2 Néel temperature
1100
+ * symbol(s): `T_N`
1101
+ * application domain: generic
1102
+ * name: NéelTemperature (specializes ThermodynamicTemperature)
1103
+ * quantity dimension: Θ^1
1104
+ * measurement unit(s): K
1105
+ * tensor order: 0
1106
+ * definition: critical thermodynamic temperature (ISO 80000-5) of an antiferromagnet
1107
+ * remarks: None.
1108
+ */
1109
+ }
1110
+
1111
+ /* ISO-80000-12 item 12-35.3 superconduction transition temperature */
1112
+ attribute superconductionTransitionTemperature: ThermodynamicTemperatureValue :> scalarQuantities {
1113
+ doc
1114
+ /*
1115
+ * source: item 12-35.3 superconduction transition temperature
1116
+ * symbol(s): `T_c`
1117
+ * application domain: generic
1118
+ * name: SuperconductionTransitionTemperature (specializes ThermodynamicTemperature)
1119
+ * quantity dimension: Θ^1
1120
+ * measurement unit(s): K
1121
+ * tensor order: 0
1122
+ * definition: critical thermodynamic temperature (ISO 80000-5) of a superconductor
1123
+ * remarks: None.
1124
+ */
1125
+ }
1126
+
1127
+ /* ISO-80000-12 item 12-36.1 thermodynamic critical magnetic flux density */
1128
+ attribute thermodynamicCriticalMagneticFluxDensity: MagneticFluxDensityValue :> scalarQuantities {
1129
+ doc
1130
+ /*
1131
+ * source: item 12-36.1 thermodynamic critical magnetic flux density
1132
+ * symbol(s): `B_c`
1133
+ * application domain: generic
1134
+ * name: ThermodynamicCriticalMagneticFluxDensity (specializes MagneticFluxDensity)
1135
+ * quantity dimension: M^1*T^-2*I^-1
1136
+ * measurement unit(s): T, kg*s^-2*A^-1
1137
+ * tensor order: 0
1138
+ * definition: quantity given by: `B_c = sqrt((2μ_0 (G_n - G_s))/V)`, where `G_n` and `G_s` are the Gibbs energies (ISO 80000-5) at zero magnetic flux density (IEC 80000-6) in a normal conductor and superconductor, respectively, `μ_0` is the magnetic constant (IEC 80000-6), and `V` is volume (ISO 80000-3)
1139
+ * remarks: In type I superconductors, `B_c` is the critical magnetic flux density for disappearance of superconductivity. The symbol `B_(c3)` is used for the critical magnetic flux density for disappearance of surface superconductivity.
1140
+ */
1141
+ }
1142
+
1143
+ /* ISO-80000-12 item 12-36.2 lower critical magnetic flux density */
1144
+ attribute lowerCriticalMagneticFluxDensity: MagneticFluxDensityValue :> scalarQuantities {
1145
+ doc
1146
+ /*
1147
+ * source: item 12-36.2 lower critical magnetic flux density
1148
+ * symbol(s): `B_(c1)`
1149
+ * application domain: generic
1150
+ * name: LowerCriticalMagneticFluxDensity (specializes MagneticFluxDensity)
1151
+ * quantity dimension: M^1*T^-2*I^-1
1152
+ * measurement unit(s): T, kg*s^-2*A^-1
1153
+ * tensor order: 0
1154
+ * definition: for type II superconductors, the threshold magnetic flux density (IEC 80000-6) for magnetic flux (IEC 80000-6) entering the superconductor
1155
+ * remarks: None.
1156
+ */
1157
+ }
1158
+
1159
+ /* ISO-80000-12 item 12-36.3 upper critical magnetic flux density */
1160
+ attribute upperCriticalMagneticFluxDensity: MagneticFluxDensityValue :> scalarQuantities {
1161
+ doc
1162
+ /*
1163
+ * source: item 12-36.3 upper critical magnetic flux density
1164
+ * symbol(s): `B_(c2)`
1165
+ * application domain: generic
1166
+ * name: UpperCriticalMagneticFluxDensity (specializes MagneticFluxDensity)
1167
+ * quantity dimension: M^1*T^-2*I^-1
1168
+ * measurement unit(s): T, kg*s^-2*A^-1
1169
+ * tensor order: 0
1170
+ * definition: for type II superconductors, the threshold magnetic flux density (IEC 80000-6) for disappearance of bulk superconductivity
1171
+ * remarks: None.
1172
+ */
1173
+ }
1174
+
1175
+ /* ISO-80000-12 item 12-37 superconductor energy gap */
1176
+ attribute superconductorEnergyGap: EnergyValue :> scalarQuantities {
1177
+ doc
1178
+ /*
1179
+ * source: item 12-37 superconductor energy gap
1180
+ * symbol(s): `Δ`
1181
+ * application domain: generic
1182
+ * name: SuperconductorEnergyGap (specializes Energy)
1183
+ * quantity dimension: L^2*M^1*T^-2
1184
+ * measurement unit(s): J, eV, kg*m^2*s^-2
1185
+ * tensor order: 0
1186
+ * definition: width of the forbidden energy band (item 12-24.2) in a superconductor
1187
+ * remarks: None.
1188
+ */
1189
+ }
1190
+
1191
+ /* ISO-80000-12 item 12-38.1 London penetration depth */
1192
+ attribute londonPenetrationDepth: LengthValue :> scalarQuantities {
1193
+ doc
1194
+ /*
1195
+ * source: item 12-38.1 London penetration depth
1196
+ * symbol(s): `λ_L`
1197
+ * application domain: generic
1198
+ * name: LondonPenetrationDepth (specializes Length)
1199
+ * quantity dimension: L^1
1200
+ * measurement unit(s): m
1201
+ * tensor order: 0
1202
+ * definition: distance (ISO 80000-3) a magnetic field penetrates the plane surface of a semi-finite superconductor according to the expression: `B(x) = B(0) exp(-x/λ_L)`, where `B` is magnetic flux density (IEC 80000-6) and `x` is distance (ISO 80000-3) from the surface
1203
+ * remarks: None.
1204
+ */
1205
+ }
1206
+
1207
+ /* ISO-80000-12 item 12-38.2 coherence length */
1208
+ attribute coherenceLength: LengthValue :> scalarQuantities {
1209
+ doc
1210
+ /*
1211
+ * source: item 12-38.2 coherence length
1212
+ * symbol(s): `ξ`
1213
+ * application domain: generic
1214
+ * name: CoherenceLength (specializes Length)
1215
+ * quantity dimension: L^1
1216
+ * measurement unit(s): m
1217
+ * tensor order: 0
1218
+ * definition: distance (ISO 80000-3) in a superconductor over which the effect of a perturbation is appreciable at zero thermodynamic temperature (ISO 80000-5)
1219
+ * remarks: None.
1220
+ */
1221
+ }
1222
+
1223
+ }