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.
- package/README.md +71 -0
- package/dist/bin/cli.d.ts +6 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +61 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +8 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/src/cli/commands.d.ts +22 -0
- package/dist/src/cli/commands.d.ts.map +1 -0
- package/dist/src/cli/commands.js +87 -0
- package/dist/src/cli/commands.js.map +1 -0
- package/dist/src/discovery/find-sysml.d.ts +16 -0
- package/dist/src/discovery/find-sysml.d.ts.map +1 -0
- package/dist/src/discovery/find-sysml.js +30 -0
- package/dist/src/discovery/find-sysml.js.map +1 -0
- package/dist/src/discovery/load-order.d.ts +11 -0
- package/dist/src/discovery/load-order.d.ts.map +1 -0
- package/dist/src/discovery/load-order.js +85 -0
- package/dist/src/discovery/load-order.js.map +1 -0
- package/dist/src/graph/connection.d.ts +6 -0
- package/dist/src/graph/connection.d.ts.map +1 -0
- package/dist/src/graph/connection.js +7 -0
- package/dist/src/graph/connection.js.map +1 -0
- package/dist/src/graph/graph-store.d.ts +37 -0
- package/dist/src/graph/graph-store.d.ts.map +1 -0
- package/dist/src/graph/graph-store.js +108 -0
- package/dist/src/graph/graph-store.js.map +1 -0
- package/dist/src/graph/schema.d.ts +13 -0
- package/dist/src/graph/schema.d.ts.map +1 -0
- package/dist/src/graph/schema.js +21 -0
- package/dist/src/graph/schema.js.map +1 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +14 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/indexer/indexer.d.ts +20 -0
- package/dist/src/indexer/indexer.d.ts.map +1 -0
- package/dist/src/indexer/indexer.js +56 -0
- package/dist/src/indexer/indexer.js.map +1 -0
- package/dist/src/indexer/pipeline-phases.d.ts +8 -0
- package/dist/src/indexer/pipeline-phases.d.ts.map +1 -0
- package/dist/src/indexer/pipeline-phases.js +14 -0
- package/dist/src/indexer/pipeline-phases.js.map +1 -0
- package/dist/src/mcp/resources/context.d.ts +6 -0
- package/dist/src/mcp/resources/context.d.ts.map +1 -0
- package/dist/src/mcp/resources/context.js +45 -0
- package/dist/src/mcp/resources/context.js.map +1 -0
- package/dist/src/mcp/resources/schema.d.ts +6 -0
- package/dist/src/mcp/resources/schema.d.ts.map +1 -0
- package/dist/src/mcp/resources/schema.js +14 -0
- package/dist/src/mcp/resources/schema.js.map +1 -0
- package/dist/src/mcp/server.d.ts +8 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js +175 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/tools/clean-index.d.ts +12 -0
- package/dist/src/mcp/tools/clean-index.d.ts.map +1 -0
- package/dist/src/mcp/tools/clean-index.js +22 -0
- package/dist/src/mcp/tools/clean-index.js.map +1 -0
- package/dist/src/mcp/tools/context.d.ts +14 -0
- package/dist/src/mcp/tools/context.d.ts.map +1 -0
- package/dist/src/mcp/tools/context.js +51 -0
- package/dist/src/mcp/tools/context.js.map +1 -0
- package/dist/src/mcp/tools/cypher.d.ts +13 -0
- package/dist/src/mcp/tools/cypher.d.ts.map +1 -0
- package/dist/src/mcp/tools/cypher.js +25 -0
- package/dist/src/mcp/tools/cypher.js.map +1 -0
- package/dist/src/mcp/tools/generate-map.d.ts +13 -0
- package/dist/src/mcp/tools/generate-map.d.ts.map +1 -0
- package/dist/src/mcp/tools/generate-map.js +96 -0
- package/dist/src/mcp/tools/generate-map.js.map +1 -0
- package/dist/src/mcp/tools/impact.d.ts +14 -0
- package/dist/src/mcp/tools/impact.d.ts.map +1 -0
- package/dist/src/mcp/tools/impact.js +47 -0
- package/dist/src/mcp/tools/impact.js.map +1 -0
- package/dist/src/mcp/tools/index-db-graph.d.ts +14 -0
- package/dist/src/mcp/tools/index-db-graph.d.ts.map +1 -0
- package/dist/src/mcp/tools/index-db-graph.js +32 -0
- package/dist/src/mcp/tools/index-db-graph.js.map +1 -0
- package/dist/src/mcp/tools/list-indexed.d.ts +9 -0
- package/dist/src/mcp/tools/list-indexed.d.ts.map +1 -0
- package/dist/src/mcp/tools/list-indexed.js +14 -0
- package/dist/src/mcp/tools/list-indexed.js.map +1 -0
- package/dist/src/mcp/tools/query.d.ts +14 -0
- package/dist/src/mcp/tools/query.d.ts.map +1 -0
- package/dist/src/mcp/tools/query.js +47 -0
- package/dist/src/mcp/tools/query.js.map +1 -0
- package/dist/src/mcp/tools/rename.d.ts +19 -0
- package/dist/src/mcp/tools/rename.d.ts.map +1 -0
- package/dist/src/mcp/tools/rename.js +46 -0
- package/dist/src/mcp/tools/rename.js.map +1 -0
- package/dist/src/parser/lsp-client.d.ts +52 -0
- package/dist/src/parser/lsp-client.d.ts.map +1 -0
- package/dist/src/parser/lsp-client.js +230 -0
- package/dist/src/parser/lsp-client.js.map +1 -0
- package/dist/src/parser/lsp-server-path.d.ts +10 -0
- package/dist/src/parser/lsp-server-path.d.ts.map +1 -0
- package/dist/src/parser/lsp-server-path.js +29 -0
- package/dist/src/parser/lsp-server-path.js.map +1 -0
- package/dist/src/parser/symbols.d.ts +13 -0
- package/dist/src/parser/symbols.d.ts.map +1 -0
- package/dist/src/parser/symbols.js +150 -0
- package/dist/src/parser/symbols.js.map +1 -0
- package/dist/src/parser/sysml-mcp-client.d.ts +109 -0
- package/dist/src/parser/sysml-mcp-client.d.ts.map +1 -0
- package/dist/src/parser/sysml-mcp-client.js +185 -0
- package/dist/src/parser/sysml-mcp-client.js.map +1 -0
- package/dist/src/storage/clean.d.ts +15 -0
- package/dist/src/storage/clean.d.ts.map +1 -0
- package/dist/src/storage/clean.js +44 -0
- package/dist/src/storage/clean.js.map +1 -0
- package/dist/src/storage/list.d.ts +9 -0
- package/dist/src/storage/list.d.ts.map +1 -0
- package/dist/src/storage/list.js +12 -0
- package/dist/src/storage/list.js.map +1 -0
- package/dist/src/storage/location.d.ts +22 -0
- package/dist/src/storage/location.d.ts.map +1 -0
- package/dist/src/storage/location.js +36 -0
- package/dist/src/storage/location.js.map +1 -0
- package/dist/src/storage/registry.d.ts +14 -0
- package/dist/src/storage/registry.d.ts.map +1 -0
- package/dist/src/storage/registry.js +59 -0
- package/dist/src/storage/registry.js.map +1 -0
- package/dist/src/symbol-to-graph/mapping.d.ts +17 -0
- package/dist/src/symbol-to-graph/mapping.d.ts.map +1 -0
- package/dist/src/symbol-to-graph/mapping.js +102 -0
- package/dist/src/symbol-to-graph/mapping.js.map +1 -0
- package/dist/src/types.d.ts +40 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +35 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/worker/client.d.ts +21 -0
- package/dist/src/worker/client.d.ts.map +1 -0
- package/dist/src/worker/client.js +126 -0
- package/dist/src/worker/client.js.map +1 -0
- package/dist/src/worker/gateway.d.ts +79 -0
- package/dist/src/worker/gateway.d.ts.map +1 -0
- package/dist/src/worker/gateway.js +93 -0
- package/dist/src/worker/gateway.js.map +1 -0
- package/dist/src/worker/graph-worker.d.ts +7 -0
- package/dist/src/worker/graph-worker.d.ts.map +1 -0
- package/dist/src/worker/graph-worker.js +91 -0
- package/dist/src/worker/graph-worker.js.map +1 -0
- package/dist/src/worker/protocol.d.ts +21 -0
- package/dist/src/worker/protocol.d.ts.map +1 -0
- package/dist/src/worker/protocol.js +9 -0
- package/dist/src/worker/protocol.js.map +1 -0
- package/docs/INSTALL.md +16 -0
- package/docs/MCP_CLIENT_TEMPLATE_ANALYSIS.md +196 -0
- package/docs/MCP_INTERACTION_GUIDE.md +201 -0
- package/docs/MCP_SERVER_FOR_CURSOR.md +124 -0
- package/docs/PLAN.md +58 -0
- package/docs/PLAN_INDEPENDENT_LSP.md +145 -0
- package/docs/SKILL_DESIGN_PATTERNS.md +305 -0
- package/docs/TOOLS.md +317 -0
- package/lsp/README.md +41 -0
- package/lsp/node_modules/.bin/sysml-mcp +12 -0
- package/lsp/node_modules/.bin/sysml-mcp.cmd +9 -0
- package/lsp/node_modules/.bin/sysml-mcp.ps1 +16 -0
- package/lsp/node_modules/.package-lock.json +22 -0
- package/lsp/node_modules/sysml-v2-lsp/CHANGELOG.md +188 -0
- package/lsp/node_modules/sysml-v2-lsp/LICENSE +21 -0
- package/lsp/node_modules/sysml-v2-lsp/README.md +172 -0
- package/lsp/node_modules/sysml-v2-lsp/dist/server/mcpServer.js +167 -0
- package/lsp/node_modules/sysml-v2-lsp/dist/server/server.js +142 -0
- package/lsp/node_modules/sysml-v2-lsp/index.cjs +23 -0
- package/lsp/node_modules/sysml-v2-lsp/package.json +131 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/.project +17 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/.settings/org.eclipse.jdt.core.prefs +11 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.meta.json +10 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/.project.json +27 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/AnalysisTooling.sysml +34 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/SampledFunctions.sysml +119 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/StateSpaceRepresentation.sysml +143 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Analysis/TradeStudies.sysml +171 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.meta.json +8 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/.project.json +23 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CausationConnections.sysml +83 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Cause and Effect/CauseAndEffect.sysml +81 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.meta.json +8 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/.project.json +27 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/ShapeItems.sysml +899 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Geometry/SpatialItems.sysml +168 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.meta.json +10 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/.project.json +19 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ImageMetadata.sysml +78 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ModelingMetadata.sysml +143 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/ParametersOfInterestMetadata.sysml +39 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Metadata/RiskMetadata.sysml +100 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.meta.json +29 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/.project.json +23 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQ.sysml +42 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAcoustics.sysml +439 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQAtomicNuclear.sysml +2726 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQBase.sysml +206 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQChemistryMolecular.sysml +1353 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQCondensedMatter.sysml +1223 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQElectromagnetism.sysml +2333 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQInformation.sysml +958 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQLight.sysml +1537 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQMechanics.sysml +1564 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQSpaceTime.sysml +1169 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/ISQThermodynamics.sysml +1256 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementRefCalculations.sysml +30 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/MeasurementReferences.sysml +526 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Quantities.sysml +107 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/QuantityCalculations.sysml +70 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SI.sysml +378 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/SIPrefixes.sysml +48 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/TensorCalculations.sysml +50 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/Time.sysml +274 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/USCustomaryUnits.sysml +260 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Quantities and Units/VectorCalculations.sysml +62 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.meta.json +8 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/.project.json +19 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/DerivationConnections.sysml +63 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Domain Libraries/Requirement Derivation/RequirementDerivation.sysml +39 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.meta.json +9 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/.project.json +11 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/Collections.kerml +147 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/ScalarValues.kerml +23 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Data Type Library/VectorValues.kerml +64 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.meta.json +23 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/.project.json +15 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BaseFunctions.kerml +80 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/BooleanFunctions.kerml +22 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/CollectionFunctions.kerml +68 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ComplexFunctions.kerml +47 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ControlFunctions.kerml +117 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/DataFunctions.kerml +43 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/IntegerFunctions.kerml +43 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NaturalFunctions.kerml +27 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/NumericalFunctions.kerml +43 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/OccurrenceFunctions.kerml +154 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RationalFunctions.kerml +49 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/RealFunctions.kerml +56 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/ScalarFunctions.kerml +33 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/SequenceFunctions.kerml +111 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/StringFunctions.kerml +25 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/TrigFunctions.kerml +35 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Function Library/VectorFunctions.kerml +273 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.meta.json +22 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/.project.json +15 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Base.kerml +95 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Clocks.kerml +156 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/ControlPerformances.kerml +135 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/FeatureReferencingPerformances.kerml +190 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/KerML.kerml +483 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Links.kerml +67 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Metaobjects.kerml +58 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Objects.kerml +212 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Observation.kerml +161 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Occurrences.kerml +992 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Performances.kerml +293 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/SpatialFrames.kerml +197 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/StatePerformances.kerml +145 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Transfers.kerml +281 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/TransitionPerformances.kerml +66 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Kernel Libraries/Kernel Semantic Library/Triggers.kerml +188 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.meta.json +27 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/.project.json +19 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Actions.sysml +552 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Allocations.sysml +29 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/AnalysisCases.sysml +38 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Attributes.sysml +25 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Calculations.sysml +37 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Cases.sysml +71 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Connections.sysml +60 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Constraints.sysml +44 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Flows.sysml +126 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Interfaces.sysml +89 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Items.sysml +153 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Metadata.sysml +32 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Parts.sysml +81 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Ports.sysml +54 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Requirements.sysml +194 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/StandardViewDefinitions.sysml +123 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/States.sysml +103 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/SysML.sysml +539 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/UseCases.sysml +57 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/VerificationCases.sysml +103 -0
- package/lsp/node_modules/sysml-v2-lsp/sysml.library/Systems Library/Views.sysml +164 -0
- package/lsp/package-lock.json +30 -0
- package/lsp/package.json +15 -0
- package/lsp/test-server.mjs +120 -0
- package/package.json +61 -0
- package/scripts/access-sysml-mcp.mjs +45 -0
- package/scripts/check-sysml-v2-lsp-version.mjs +39 -0
- package/scripts/clean.mjs +14 -0
- package/scripts/compare-mcp-vs-lsp-symbols.mjs +76 -0
- package/scripts/debug-index.mjs +23 -0
- package/scripts/debug-lsp-symbols.mjs +62 -0
- package/scripts/deploy-skills.mjs +43 -0
- package/scripts/example-sysml-mcp.mjs +27 -0
- package/scripts/export-graph.mjs +80 -0
- package/scripts/generate-map.mjs +110 -0
- package/scripts/index-and-map.mjs +43 -0
- package/scripts/index-and-query.mjs +39 -0
- package/scripts/query-one.mjs +34 -0
- package/scripts/setup-lsp.mjs +36 -0
- package/scripts/test-lsp.mjs +55 -0
- package/scripts/test-mcp-debug.mjs +32 -0
- package/scripts/test-mcp-sysml.mjs +75 -0
- package/scripts/test-mcp-tools.mjs +185 -0
- package/scripts/test-sysml-mcp-from-node_modules.mjs +56 -0
- package/scripts/validate-sysml-file.mjs +69 -0
|
@@ -0,0 +1,1169 @@
|
|
|
1
|
+
standard library package ISQSpaceTime {
|
|
2
|
+
doc
|
|
3
|
+
/*
|
|
4
|
+
* International System of Quantities and Units
|
|
5
|
+
* Generated on 2025-03-13T15:00:05Z from standard ISO-80000-3:2019 "Space and Time"
|
|
6
|
+
* see also https://www.iso.org/standard/64974.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
|
+
/* ISO-80000-3 item 3-1.1 length */
|
|
21
|
+
/* See package ISQBase for the declarations of LengthValue and LengthUnit */
|
|
22
|
+
|
|
23
|
+
/* ISO-80000-3 item 3-1.2 width, breadth */
|
|
24
|
+
attribute width: LengthValue :> scalarQuantities {
|
|
25
|
+
doc
|
|
26
|
+
/*
|
|
27
|
+
* source: item 3-1.2 width, breadth
|
|
28
|
+
* symbol(s): `b`, `B`
|
|
29
|
+
* application domain: generic
|
|
30
|
+
* name: Width (specializes Length)
|
|
31
|
+
* quantity dimension: L^1
|
|
32
|
+
* measurement unit(s): m
|
|
33
|
+
* tensor order: 0
|
|
34
|
+
* definition: minimum length of a straight line segment between two parallel straight lines (in two dimensions) or planes (in three dimensions) that enclose a given geometrical shape
|
|
35
|
+
* remarks: This quantity is non-negative.
|
|
36
|
+
*/
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
alias breadth for width;
|
|
40
|
+
|
|
41
|
+
/* ISO-80000-3 item 3-1.3 height, depth, altitude */
|
|
42
|
+
attribute height: LengthValue :> scalarQuantities {
|
|
43
|
+
doc
|
|
44
|
+
/*
|
|
45
|
+
* source: item 3-1.3 height, depth, altitude
|
|
46
|
+
* symbol(s): `h`, `H`
|
|
47
|
+
* application domain: generic
|
|
48
|
+
* name: Height (specializes Length)
|
|
49
|
+
* quantity dimension: L^1
|
|
50
|
+
* measurement unit(s): m
|
|
51
|
+
* tensor order: 0
|
|
52
|
+
* definition: minimum length of a straight line segment between a point and a reference line or reference surface
|
|
53
|
+
* remarks: This quantity is usually signed. The sign expresses the position of the particular point with respect to the reference line or surface and is chosen by convention. The symbol `H` is often used to denote altitude, i.e. height above sea level.
|
|
54
|
+
*/
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
alias depth for height;
|
|
58
|
+
|
|
59
|
+
alias altitude for height;
|
|
60
|
+
|
|
61
|
+
/* ISO-80000-3 item 3-1.4 thickness */
|
|
62
|
+
attribute thickness: LengthValue :> scalarQuantities {
|
|
63
|
+
doc
|
|
64
|
+
/*
|
|
65
|
+
* source: item 3-1.4 thickness
|
|
66
|
+
* symbol(s): `d`, `δ`
|
|
67
|
+
* application domain: generic
|
|
68
|
+
* name: Thickness (specializes Length)
|
|
69
|
+
* quantity dimension: L^1
|
|
70
|
+
* measurement unit(s): m
|
|
71
|
+
* tensor order: 0
|
|
72
|
+
* definition: width (item 3-1.2)
|
|
73
|
+
* remarks: This quantity is non-negative.
|
|
74
|
+
*/
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/* ISO-80000-3 item 3-1.5 diameter */
|
|
78
|
+
attribute diameter: LengthValue :> scalarQuantities {
|
|
79
|
+
doc
|
|
80
|
+
/*
|
|
81
|
+
* source: item 3-1.5 diameter
|
|
82
|
+
* symbol(s): `d`, `D`
|
|
83
|
+
* application domain: generic
|
|
84
|
+
* name: Diameter (specializes Length)
|
|
85
|
+
* quantity dimension: L^1
|
|
86
|
+
* measurement unit(s): m
|
|
87
|
+
* tensor order: 0
|
|
88
|
+
* definition: width (item 3-1.2) of a circle, cylinder or sphere
|
|
89
|
+
* remarks: This quantity is non-negative.
|
|
90
|
+
*/
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* ISO-80000-3 item 3-1.6 radius */
|
|
94
|
+
attribute radius: LengthValue :> scalarQuantities {
|
|
95
|
+
doc
|
|
96
|
+
/*
|
|
97
|
+
* source: item 3-1.6 radius
|
|
98
|
+
* symbol(s): `r`, `R`
|
|
99
|
+
* application domain: generic
|
|
100
|
+
* name: Radius (specializes Length)
|
|
101
|
+
* quantity dimension: L^1
|
|
102
|
+
* measurement unit(s): m
|
|
103
|
+
* tensor order: 0
|
|
104
|
+
* definition: half of a diameter (item 3-1.5)
|
|
105
|
+
* remarks: This quantity is non-negative.
|
|
106
|
+
*/
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* ISO-80000-3 item 3-1.7 path length, arc length */
|
|
110
|
+
attribute pathLength: LengthValue :> scalarQuantities {
|
|
111
|
+
doc
|
|
112
|
+
/*
|
|
113
|
+
* source: item 3-1.7 path length, arc length
|
|
114
|
+
* symbol(s): `s`
|
|
115
|
+
* application domain: generic
|
|
116
|
+
* name: PathLength (specializes Length)
|
|
117
|
+
* quantity dimension: L^1
|
|
118
|
+
* measurement unit(s): m
|
|
119
|
+
* tensor order: 0
|
|
120
|
+
* definition: length of a rectifiable curve between two of its points
|
|
121
|
+
* remarks: The differential path length at a given point of a curve is: `ds = sqrt(dx^2 + dy^2 + dz^2)` where `x`, `y`, and `z` denote the Cartesian coordinates (ISO 80000-2) of the particular point. There are curves which are not rectifiable, for example fractal curves.
|
|
122
|
+
*/
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
alias arcLength for pathLength;
|
|
126
|
+
|
|
127
|
+
/* ISO-80000-3 item 3-1.8 distance */
|
|
128
|
+
attribute distance: LengthValue :> scalarQuantities {
|
|
129
|
+
doc
|
|
130
|
+
/*
|
|
131
|
+
* source: item 3-1.8 distance
|
|
132
|
+
* symbol(s): `d`, `r`
|
|
133
|
+
* application domain: generic
|
|
134
|
+
* name: Distance (specializes Length)
|
|
135
|
+
* quantity dimension: L^1
|
|
136
|
+
* measurement unit(s): m
|
|
137
|
+
* tensor order: 0
|
|
138
|
+
* definition: shortest path length (item 3-1.7) between two points in a metric space
|
|
139
|
+
* remarks: A metric space might be curved. An example of a curved metric space is the surface of the Earth. In this case, distances are measured along great circles. A metric is not necessarily Euclidean.
|
|
140
|
+
*/
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/* ISO-80000-3 item 3-1.9 radial distance */
|
|
144
|
+
attribute radialDistance: LengthValue :> scalarQuantities {
|
|
145
|
+
doc
|
|
146
|
+
/*
|
|
147
|
+
* source: item 3-1.9 radial distance
|
|
148
|
+
* symbol(s): `r_Q`, `ρ`
|
|
149
|
+
* application domain: generic
|
|
150
|
+
* name: RadialDistance (specializes Length)
|
|
151
|
+
* quantity dimension: L^1
|
|
152
|
+
* measurement unit(s): m
|
|
153
|
+
* tensor order: 0
|
|
154
|
+
* definition: distance (item 3-1.8), where one point is located on an axis or within a closed non self-intersecting curve or surface
|
|
155
|
+
* remarks: The subscript Q denotes the point from which the radial distance is measured. Examples of closed non self-intersecting curves are circles or ellipses. Examples of closed non self-intersecting surfaces are surfaces of spheres or egg-shaped objects.
|
|
156
|
+
*/
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/* Spatial coordinate frames */
|
|
160
|
+
|
|
161
|
+
attribute def Spatial3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
162
|
+
doc
|
|
163
|
+
/*
|
|
164
|
+
* Most general spatial 3D coordinate frame
|
|
165
|
+
*/
|
|
166
|
+
attribute :>> isBound = true;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
attribute def CartesianSpatial3dCoordinateFrame :> Spatial3dCoordinateFrame {
|
|
170
|
+
doc
|
|
171
|
+
/*
|
|
172
|
+
* Cartesian spatial 3D coordinate frame
|
|
173
|
+
*
|
|
174
|
+
* source: ISO 80000-2 item 2-17.1 Cartesian coordinates
|
|
175
|
+
*
|
|
176
|
+
* The components of a vector expressed on a Cartesian spatial coordinate frame are all LengthValues, and denoted with symbols `x`, `y`, `z`.
|
|
177
|
+
*
|
|
178
|
+
* Note 1: The Cartesian basis vectors `vec(e_x)`, `vec(e_y)` and `vec(e_z)` form an orthonormal right-handed coordinate frame.
|
|
179
|
+
* Note 2: The measurement units for the 3 dimensions are typically the same, but may be different.
|
|
180
|
+
*/
|
|
181
|
+
attribute xUnit : LengthUnit = mRefs#(1);
|
|
182
|
+
attribute yUnit : LengthUnit = mRefs#(2);
|
|
183
|
+
attribute zUnit : LengthUnit = mRefs#(3);
|
|
184
|
+
attribute :>> mRefs : LengthUnit[3];
|
|
185
|
+
attribute :>> isOrthogonal = true;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
attribute universalCartesianSpatial3dCoordinateFrame : CartesianSpatial3dCoordinateFrame[1] {
|
|
189
|
+
doc
|
|
190
|
+
/*
|
|
191
|
+
* A singleton CartesianSpatial3dCoordinateFrame that can be used as a default universal Cartesian 3D coordinate frame.
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
attribute :>> mRefs default (SI::m, SI::m, SI::m) {
|
|
195
|
+
doc /*
|
|
196
|
+
* By default, the universalCartesianSpatial3dCoordinateFrame uses meters as the units on all three axes.
|
|
197
|
+
*/
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
attribute :>> transformation[0..0] {
|
|
201
|
+
doc /*
|
|
202
|
+
* The universalCartesianSpatial3dCoordinateFrame is the "top-level" coordinate frame, not nested in any other frame.
|
|
203
|
+
*/
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
attribute def CylindricalSpatial3dCoordinateFrame :> Spatial3dCoordinateFrame {
|
|
209
|
+
doc
|
|
210
|
+
/*
|
|
211
|
+
* Cylindrical spatial 3D coordinate frame
|
|
212
|
+
*
|
|
213
|
+
* source: ISO 80000-2 item 2-17.2 cylindrical coordinates
|
|
214
|
+
*
|
|
215
|
+
* The components of a (position) vector to a point P in a cylindrical coordinate frame are:
|
|
216
|
+
* - radialDistance (symbol `ρ`) defined by LengthValue, that is the radial distance from the cylinder axis to P
|
|
217
|
+
* - azimuth (symbol `φ`) defined by AngularMeasure, that is the angle between the azimuth reference direction and the line segment
|
|
218
|
+
* from the cylinder axis, in the plane that is orthogonal to the cylinder axis and intersects P
|
|
219
|
+
* - z coordinate (symbol `z`) defined by LengthValue, the coordinate along the clyinder axis.
|
|
220
|
+
*
|
|
221
|
+
* Note 1: The basis vectors `vec(e_ρ)(φ)`, `vec(e_φ)(φ)` and `vec(e_z)` form an orthonormal right-handed coordinate frame, where
|
|
222
|
+
* `vec(e_φ)` is tangent to the circular arc in the `φ` direction.
|
|
223
|
+
* Note 2: In order to enable transformation to and from a CartesianSpatial3dCoordinateFrame the `vec(e_x)` Cartesian basis vector is aligned
|
|
224
|
+
* with the `φ=0` direction in the cylindrical frame, and the `vec(e_z)` Cartesian basis vector is aligned with
|
|
225
|
+
* the `vec(e_z)` cylindrical basis vector.
|
|
226
|
+
* Note 3: If `z = 0`, then `ρ` and `φ` are polar coordinates in the XY-plane.
|
|
227
|
+
* Note 4: See also https://en.wikipedia.org/wiki/Cylindrical_coordinate_system .
|
|
228
|
+
*/
|
|
229
|
+
attribute radialDistanceUnit : LengthUnit;
|
|
230
|
+
attribute azimuthUnit : AngularMeasureUnit;
|
|
231
|
+
attribute zUnit : LengthUnit;
|
|
232
|
+
attribute :>> mRefs = (radialDistanceUnit, azimuthUnit, zUnit);
|
|
233
|
+
attribute :>> isOrthogonal = true;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
attribute def SphericalSpatial3dCoordinateFrame :> Spatial3dCoordinateFrame {
|
|
237
|
+
doc
|
|
238
|
+
/*
|
|
239
|
+
* Spherical spatial 3D coordinate frame
|
|
240
|
+
*
|
|
241
|
+
* source: ISO 80000-2 item 2-17.3 spherical coordinates
|
|
242
|
+
*
|
|
243
|
+
* The components of a (position) vector to a point P specified in a spherical coordinate frame are:
|
|
244
|
+
* - radialDistance (symbol `r`) defined by LengthValue, that is the distance from the origin to P
|
|
245
|
+
* - inclination (symbol `θ`) defined by AngularMeasure, that is the angle between the zenith direction and the line segment from origin to P
|
|
246
|
+
* - azimuth (symbol `φ`) defined by AngularMeasure, that is the angle between the azimuth reference direction and the line segment
|
|
247
|
+
* from the origin to the orthogonal projection of P on the reference plane, normal to the zenith direction.
|
|
248
|
+
*
|
|
249
|
+
* Note 1: The basis vectors `vec(e_r)(θ,φ)`, `vec(e_θ)(θ,φ)` and `vec(e_φ)(φ)` form an orthonormal right-handed frame, where
|
|
250
|
+
* `vec(e_θ)` and `vec(e_φ)` are tangent to the respective circular arcs in the `θ` and `φ` directions.
|
|
251
|
+
* Note 2: In order to transform to and from a CartesianSpatial3dCoordinateFrame the `vec(e_x)` Cartesian basis vector is aligned
|
|
252
|
+
* with the `θ=π/4` and `φ=0` direction in the spherical frame, and the `vec(e_z)` Cartesian basis vector is aligned
|
|
253
|
+
* with the `θ=0` zenith direction in the spherical frame.
|
|
254
|
+
* Note 3: If `θ = π/4`, then `ρ` and `φ` are polar coordinates in the XY-plane.
|
|
255
|
+
* Note 4: See also https://en.wikipedia.org/wiki/Spherical_coordinate_system .
|
|
256
|
+
*/
|
|
257
|
+
attribute radialDistanceUnit : LengthUnit;
|
|
258
|
+
attribute inclinationUnit : AngularMeasureUnit;
|
|
259
|
+
attribute azimuthUnit : AngularMeasureUnit;
|
|
260
|
+
attribute :>> mRefs = (radialDistanceUnit, inclinationUnit, azimuthUnit);
|
|
261
|
+
attribute :>> isOrthogonal = true;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
attribute def PlanetarySpatial3dCoordinateFrame :> Spatial3dCoordinateFrame {
|
|
265
|
+
doc
|
|
266
|
+
/*
|
|
267
|
+
* Planetary spatial 3D coordinate frame
|
|
268
|
+
*
|
|
269
|
+
* A planetary spatial 3D coordinate frame is a generalization for any planet of the geographic coordinate frame and geocentric coordinate
|
|
270
|
+
* for Earth. In such coordinate frames, typically the origin is located at the planet's centre of gravity, and the surface of the planet
|
|
271
|
+
* is approximated by a reference ellipsoid centred on the origin, with its major axes oriented along the south to north pole vector and
|
|
272
|
+
* the equatorial plane.
|
|
273
|
+
*
|
|
274
|
+
* The components of a (position) vector to a point P specified in a planetary coordinate frame are:
|
|
275
|
+
* - latitude (symbol `lat` or `φ`) defined by AngularMeasure, that is the angle between the equatorial plane and the vector from
|
|
276
|
+
* the origin to P, similar to the inclination in a spherical spatial coordinate frame. Typically, the zero reference latitude is chosen
|
|
277
|
+
* for positions in the equatorial plane, with positive latitude for positions in the northern hemisphere and negative latitude for positions
|
|
278
|
+
* in the southern hemisphere.
|
|
279
|
+
* - longitude (symbol `long` or `λ`) defined by AngularMeasure, that is the angle between a reference meridian and the meridian
|
|
280
|
+
* passing through P, similar to the azimuth of a spherical spatial coordinate frame. The convention is to connotate positive longitude
|
|
281
|
+
* with eastward direction and negative longitude with westward direction. The reference meridian for `long=0` is chosen to pass
|
|
282
|
+
* through a particular feature of the planet, e.g., for Earth typically the position of the British Royal Observatory in Greenwich, UK.
|
|
283
|
+
* - altitude (symbol `h`) defined by LengthValue, that is the distance between P and the reference ellipsoid
|
|
284
|
+
* in the normal direction to the ellipsoid. Positive altitude specifies a position above the reference ellipsoid surface,
|
|
285
|
+
* while a negative value specifies a position below.
|
|
286
|
+
*
|
|
287
|
+
* Note 1: The reference meridian is also called prime meridian.
|
|
288
|
+
* Note 2: The basis vectors `vec(e_φ)(φ)`, `vec(e_λ)(λ)` and `vec(e_h)(φ,λ)` form an orthonormal right-handed frame, where
|
|
289
|
+
* `vec(e_φ)` and `vec(e_λ)` are tangent to the reference ellipsoid in the respective latitude and longitude directions,
|
|
290
|
+
* and `vec(e_h)` is normal to the reference ellipsoid.
|
|
291
|
+
* Note 3: In order to transform to and from a CartesianSpatial3dCoordinateFrame the `vec(e_x)` Cartesian basis vector is aligned
|
|
292
|
+
* with the `φ=0` and `λ=0` direction in the planetary frame, and the `vec(e_z)` Cartesian basis vector is aligned
|
|
293
|
+
* with the `λ=π/2` (north pole) direction in the planetary frame.
|
|
294
|
+
* Note 4: See also https://en.wikipedia.org/wiki/Planetary_coordinate_system .
|
|
295
|
+
*/
|
|
296
|
+
attribute latitudeUnit : AngularMeasureUnit;
|
|
297
|
+
attribute longitudeUnit : AngularMeasureUnit;
|
|
298
|
+
attribute altitudeUnit : LengthUnit;
|
|
299
|
+
attribute :>> mRefs = (longitudeUnit, latitudeUnit, altitudeUnit);
|
|
300
|
+
attribute :>> isOrthogonal = true;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/* ISO-80000-3 item 3-1.10 position vector */
|
|
304
|
+
attribute def Position3dVector :> '3dVectorQuantityValue' {
|
|
305
|
+
doc
|
|
306
|
+
/*
|
|
307
|
+
* source: item 3-1.10 position vector
|
|
308
|
+
* symbol(s): `vec(r)`
|
|
309
|
+
* application domain: generic
|
|
310
|
+
* name: PositionVector
|
|
311
|
+
* quantity dimension: L^1
|
|
312
|
+
* measurement unit(s): m
|
|
313
|
+
* tensor order: 1
|
|
314
|
+
* definition: vector (ISO 80000-2) quantity from the origin of a coordinate system to a point in space
|
|
315
|
+
* remarks: Position vectors are so-called bounded vectors, i.e. their magnitude (ISO 80000-2) and direction depend on the particular coordinate system used.
|
|
316
|
+
*/
|
|
317
|
+
attribute :>> isBound = true;
|
|
318
|
+
attribute :>> mRef: Spatial3dCoordinateFrame[1];
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
attribute position3dVector: Position3dVector :> vectorQuantities;
|
|
322
|
+
|
|
323
|
+
attribute def CartesianPosition3dVector :> Position3dVector {
|
|
324
|
+
attribute x : LengthValue = num#(1) [mRef.mRefs#(1)];
|
|
325
|
+
attribute y : LengthValue = num#(2) [mRef.mRefs#(2)];
|
|
326
|
+
attribute z : LengthValue = num#(3) [mRef.mRefs#(3)];
|
|
327
|
+
attribute :>> mRef : CartesianSpatial3dCoordinateFrame[1];
|
|
328
|
+
}
|
|
329
|
+
attribute cartesianPosition3dVector : CartesianPosition3dVector :> position3dVector;
|
|
330
|
+
|
|
331
|
+
attribute def CylindricalPosition3dVector :> Position3dVector {
|
|
332
|
+
attribute <'ρ'> radialDistance : LengthValue = num#(1) [mRef.mRefs#(1)];
|
|
333
|
+
attribute <'φ'> azimuth : AngularMeasureUnit = num#(2) [mRef.mRefs#(2)];
|
|
334
|
+
attribute <h> height : LengthValue = num#(3) [mRef.mRefs#(3)];
|
|
335
|
+
attribute :>> mRef : CylindricalSpatial3dCoordinateFrame[1];
|
|
336
|
+
}
|
|
337
|
+
attribute cylindricalPosition3dVector : CylindricalPosition3dVector :> position3dVector;
|
|
338
|
+
|
|
339
|
+
attribute def SphericalPosition3dVector :> Position3dVector {
|
|
340
|
+
attribute <r> radialDistance : LengthValue = num#(1) [mRef.mRefs#(1)];
|
|
341
|
+
attribute <'θ'> inclination : AngularMeasureUnit = num#(2) [mRef.mRefs#(2)];
|
|
342
|
+
attribute <'φ'> azimuth : AngularMeasureUnit = num#(3) [mRef.mRefs#(3)];
|
|
343
|
+
attribute :>> mRef : SphericalSpatial3dCoordinateFrame[1];
|
|
344
|
+
}
|
|
345
|
+
attribute sphericalPosition3dVector : SphericalPosition3dVector :> position3dVector;
|
|
346
|
+
|
|
347
|
+
attribute def PlanetaryPosition3dVector :> Position3dVector {
|
|
348
|
+
attribute <lat> latitude : AngularMeasureUnit = num#(1) [mRef.mRefs#(1)];
|
|
349
|
+
attribute <long> longitude : AngularMeasureUnit = num#(2) [mRef.mRefs#(2)];
|
|
350
|
+
attribute <h> altitude : LengthValue = num#(3) [mRef.mRefs#(3)];
|
|
351
|
+
attribute :>> mRef : PlanetarySpatial3dCoordinateFrame[1];
|
|
352
|
+
}
|
|
353
|
+
attribute planetaryPosition3dVector : PlanetaryPosition3dVector :> position3dVector;
|
|
354
|
+
|
|
355
|
+
/* ISO-80000-3 item 3-1.11 displacement */
|
|
356
|
+
attribute def Displacement3dVector :> '3dVectorQuantityValue' {
|
|
357
|
+
doc
|
|
358
|
+
/*
|
|
359
|
+
* source: item 3-1.11 displacement
|
|
360
|
+
* symbol(s): `vec(Δr)`
|
|
361
|
+
* application domain: generic
|
|
362
|
+
* name: Displacement
|
|
363
|
+
* quantity dimension: L^1
|
|
364
|
+
* measurement unit(s): m
|
|
365
|
+
* tensor order: 1
|
|
366
|
+
* definition: vector (ISO 80000-2) quantity between any two points in space
|
|
367
|
+
* remarks: Displacement vectors are so-called free vectors, i.e. their magnitude (ISO 80000-2) and direction do not depend on a particular coordinate system. The magnitude of this vector is also called displacement.
|
|
368
|
+
*/
|
|
369
|
+
attribute :>> isBound = false;
|
|
370
|
+
attribute :>> mRef: Spatial3dCoordinateFrame[1];
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
attribute displacement3dVector: Displacement3dVector :> vectorQuantities;
|
|
374
|
+
|
|
375
|
+
attribute def CartesianDisplacement3dVector :> Displacement3dVector {
|
|
376
|
+
attribute x : LengthValue = num#(1) [mRef.mRefs#(1)];
|
|
377
|
+
attribute y : LengthValue = num#(2) [mRef.mRefs#(2)];
|
|
378
|
+
attribute z : LengthValue = num#(3) [mRef.mRefs#(3)];
|
|
379
|
+
attribute :>> mRef : CartesianSpatial3dCoordinateFrame[1];
|
|
380
|
+
}
|
|
381
|
+
attribute cartesianDisplacement3dVector : CartesianDisplacement3dVector :> displacement3dVector;
|
|
382
|
+
|
|
383
|
+
attribute def CylindricalDisplacement3dVector :> Displacement3dVector {
|
|
384
|
+
attribute <'ρ'> radialDistance : LengthValue = num#(1) [mRef.mRefs#(1)];
|
|
385
|
+
attribute <'φ'> azimuth : AngularMeasureUnit = num#(2) [mRef.mRefs#(2)];
|
|
386
|
+
attribute <h> height : LengthValue = num#(3) [mRef.mRefs#(3)];
|
|
387
|
+
attribute :>> mRef : CylindricalSpatial3dCoordinateFrame[1];
|
|
388
|
+
}
|
|
389
|
+
attribute cylindricalDisplacement3dVector : CylindricalDisplacement3dVector :> displacement3dVector;
|
|
390
|
+
|
|
391
|
+
attribute def SphericalDisplacement3dVector :> Displacement3dVector {
|
|
392
|
+
attribute <r> radialDistance : LengthValue = num#(1) [mRef.mRefs#(1)];
|
|
393
|
+
attribute <'θ'> inclination : AngularMeasureUnit = num#(2) [mRef.mRefs#(2)];
|
|
394
|
+
attribute <'φ'> azimuth : AngularMeasureUnit = num#(3) [mRef.mRefs#(3)];
|
|
395
|
+
attribute :>> mRef : SphericalSpatial3dCoordinateFrame[1];
|
|
396
|
+
}
|
|
397
|
+
attribute sphericalDisplacement3dVector : SphericalDisplacement3dVector :> displacement3dVector;
|
|
398
|
+
|
|
399
|
+
/* ISO-80000-3 item 3-1.12 radius of curvature */
|
|
400
|
+
attribute radiusOfCurvature: LengthValue :> scalarQuantities {
|
|
401
|
+
doc
|
|
402
|
+
/*
|
|
403
|
+
* source: item 3-1.12 radius of curvature
|
|
404
|
+
* symbol(s): `ρ`
|
|
405
|
+
* application domain: generic
|
|
406
|
+
* name: RadiusOfCurvature (specializes Length)
|
|
407
|
+
* quantity dimension: L^1
|
|
408
|
+
* measurement unit(s): m
|
|
409
|
+
* tensor order: 0
|
|
410
|
+
* definition: radius (item 3-1.6) of the osculating circle of a planar curve at a particular point of the curve
|
|
411
|
+
* remarks: The radius of curvature is only defined for curves which are at least twice continuously differentiable.
|
|
412
|
+
*/
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/* ISO-80000-3 item 3-2 curvature */
|
|
416
|
+
attribute def CurvatureValue :> ScalarQuantityValue {
|
|
417
|
+
doc
|
|
418
|
+
/*
|
|
419
|
+
* source: item 3-2 curvature
|
|
420
|
+
* symbol(s): `κ`
|
|
421
|
+
* application domain: generic
|
|
422
|
+
* name: Curvature
|
|
423
|
+
* quantity dimension: L^-1
|
|
424
|
+
* measurement unit(s): m^-1
|
|
425
|
+
* tensor order: 0
|
|
426
|
+
* definition: inverse of the radius of curvature (item 3-1.12)
|
|
427
|
+
* remarks: The curvature is given by: `κ = 1/ρ` where `ρ` denotes the radius of curvature (item 3-1.12).
|
|
428
|
+
*/
|
|
429
|
+
attribute :>> num: Real;
|
|
430
|
+
attribute :>> mRef: CurvatureUnit[1];
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
attribute curvature: CurvatureValue[*] nonunique :> scalarQuantities;
|
|
434
|
+
|
|
435
|
+
attribute def CurvatureUnit :> DerivedUnit {
|
|
436
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
437
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
/* ISO-80000-3 item 3-3 area */
|
|
441
|
+
attribute def AreaValue :> ScalarQuantityValue {
|
|
442
|
+
doc
|
|
443
|
+
/*
|
|
444
|
+
* source: item 3-3 area
|
|
445
|
+
* symbol(s): `A`, `S`
|
|
446
|
+
* application domain: generic
|
|
447
|
+
* name: Area
|
|
448
|
+
* quantity dimension: L^2
|
|
449
|
+
* measurement unit(s): m^2
|
|
450
|
+
* tensor order: 0
|
|
451
|
+
* definition: extent of a two-dimensional geometrical shape
|
|
452
|
+
* remarks: The surface element at a given point of a surface is given by: `dA = g du dv` where `u` and `v` denote the Gaussian surface coordinates and `g` denotes the determinant of the metric tensor (ISO 80000-2) at the particular point. The symbol `dσ` is also used for the surface element.
|
|
453
|
+
*/
|
|
454
|
+
attribute :>> num: Real;
|
|
455
|
+
attribute :>> mRef: AreaUnit[1];
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
attribute area: AreaValue[*] nonunique :> scalarQuantities;
|
|
459
|
+
|
|
460
|
+
attribute def AreaUnit :> DerivedUnit {
|
|
461
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
462
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/* ISO-80000-3 item 3-4 volume */
|
|
466
|
+
attribute def VolumeValue :> ScalarQuantityValue {
|
|
467
|
+
doc
|
|
468
|
+
/*
|
|
469
|
+
* source: item 3-4 volume
|
|
470
|
+
* symbol(s): `V`, `(S)`
|
|
471
|
+
* application domain: generic
|
|
472
|
+
* name: Volume
|
|
473
|
+
* quantity dimension: L^3
|
|
474
|
+
* measurement unit(s): m^3
|
|
475
|
+
* tensor order: 0
|
|
476
|
+
* definition: extent of a three-dimensional geometrical shape
|
|
477
|
+
* remarks: The volume element in Euclidean space is given by: `dV = dx dy dz` where `dx`, `dy`, and `dz` denote the differentials of the Cartesian coordinates (ISO 80000-2). The symbol `dτ` is also used for the volume element.
|
|
478
|
+
*/
|
|
479
|
+
attribute :>> num: Real;
|
|
480
|
+
attribute :>> mRef: VolumeUnit[1];
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
attribute volume: VolumeValue[*] nonunique :> scalarQuantities;
|
|
484
|
+
|
|
485
|
+
attribute def VolumeUnit :> DerivedUnit {
|
|
486
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 3; }
|
|
487
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
/* ISO-80000-3 item 3-5 angular measure, plane angle */
|
|
491
|
+
attribute def AngularMeasureValue :> ScalarQuantityValue {
|
|
492
|
+
doc
|
|
493
|
+
/*
|
|
494
|
+
* source: item 3-5 angular measure, plane angle
|
|
495
|
+
* symbol(s): `α`, `β`, `γ`
|
|
496
|
+
* application domain: generic
|
|
497
|
+
* name: AngularMeasure
|
|
498
|
+
* quantity dimension: 1
|
|
499
|
+
* measurement unit(s): rad, 1
|
|
500
|
+
* tensor order: 0
|
|
501
|
+
* definition: measure of a geometric figure, called plane angle, formed by two rays, called the sides of the plane angle, emanating from a common point, called the vertex of the plane angle
|
|
502
|
+
* remarks: The angular measure is given by: `α = s/r` where `s` denotes the arc length (item 3-1.7) of the included arc of a circle, centred at the vertex of the plane angle, and `r` the radius (item 3-1.6) of that circle. Other symbols are also used.
|
|
503
|
+
*/
|
|
504
|
+
attribute :>> num: Real;
|
|
505
|
+
attribute :>> mRef: AngularMeasureUnit[1];
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
attribute angularMeasure: AngularMeasureValue[*] nonunique :> scalarQuantities;
|
|
509
|
+
|
|
510
|
+
attribute def AngularMeasureUnit :> DimensionOneUnit {
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
alias PlaneAngleUnit for AngularMeasureUnit;
|
|
514
|
+
alias PlaneAngleValue for AngularMeasureValue;
|
|
515
|
+
alias planeAngle for angularMeasure;
|
|
516
|
+
|
|
517
|
+
/* ISO-80000-3 item 3-6 rotational displacement, angular displacement */
|
|
518
|
+
attribute rotationalDisplacement: AngularMeasureValue :> scalarQuantities {
|
|
519
|
+
doc
|
|
520
|
+
/*
|
|
521
|
+
* source: item 3-6 rotational displacement, angular displacement
|
|
522
|
+
* symbol(s): `ϑ`, `φ`
|
|
523
|
+
* application domain: generic
|
|
524
|
+
* name: RotationalDisplacement (specializes AngularMeasure)
|
|
525
|
+
* quantity dimension: 1
|
|
526
|
+
* measurement unit(s): rad, 1
|
|
527
|
+
* tensor order: 0
|
|
528
|
+
* definition: quotient of the traversed circular path length (item 3-1.7) of a point in space during a rotation and its distance (item 3-1.8) from the axis or centre of rotation
|
|
529
|
+
* remarks: The rotational displacement is given by: `φ = s/r` where `s` denotes the traversed path length (item 3-1.7) along the periphery of a circle, centred at the vertex of the plane angle, and `r` the radius (item 3-1.6) of that circle. The rotational displacement is signed. The sign denotes the direction of rotation and is chosen by convention. Other symbols are also used.
|
|
530
|
+
*/
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
alias angularDisplacement for rotationalDisplacement;
|
|
534
|
+
|
|
535
|
+
/* ISO-80000-3 item 3-7 phase angle */
|
|
536
|
+
attribute phaseAngle: AngularMeasureValue :> scalarQuantities {
|
|
537
|
+
doc
|
|
538
|
+
/*
|
|
539
|
+
* source: item 3-7 phase angle
|
|
540
|
+
* symbol(s): `φ`, `ϕ`
|
|
541
|
+
* application domain: generic
|
|
542
|
+
* name: PhaseAngle (specializes AngularMeasure)
|
|
543
|
+
* quantity dimension: 1
|
|
544
|
+
* measurement unit(s): rad, 1
|
|
545
|
+
* tensor order: 0
|
|
546
|
+
* definition: angular measure (item 3-5) between the positive real axis and the radius of the polar representation of the complex number in the complex plane
|
|
547
|
+
* remarks: The phase angle (often imprecisely referred to as the "phase") is the argument of a complex number. Other symbols are also used.
|
|
548
|
+
*/
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
/* ISO-80000-3 item 3-8 solid angular measure */
|
|
552
|
+
attribute def SolidAngularMeasureValue :> ScalarQuantityValue {
|
|
553
|
+
doc
|
|
554
|
+
/*
|
|
555
|
+
* source: item 3-8 solid angular measure
|
|
556
|
+
* symbol(s): `Ω`
|
|
557
|
+
* application domain: generic
|
|
558
|
+
* name: SolidAngularMeasure
|
|
559
|
+
* quantity dimension: 1
|
|
560
|
+
* measurement unit(s): sr, 1
|
|
561
|
+
* tensor order: 0
|
|
562
|
+
* definition: measure of a conical geometric figure, called solid angle, formed by all rays, originating from a common point, called the vertex of the solid angle, and passing through the points of a closed, non-self-intersecting curve in space considered as the border of a surface
|
|
563
|
+
* remarks: The differential solid angular measure expressed in spherical coordinates (ISO 80000-2) is given by: `dΩ = A/r^2 * sin(θ * dθ * dφ)` where `A` is area, `r` is radius, `θ` and `φ` are spherical coordinates.
|
|
564
|
+
*/
|
|
565
|
+
attribute :>> num: Real;
|
|
566
|
+
attribute :>> mRef: SolidAngularMeasureUnit[1];
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
attribute solidAngularMeasure: SolidAngularMeasureValue[*] nonunique :> scalarQuantities;
|
|
570
|
+
|
|
571
|
+
attribute def SolidAngularMeasureUnit :> DimensionOneUnit {
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
/* ISO-80000-3 item 3-9 duration, time */
|
|
575
|
+
/* See package ISQBase for the declarations of DurationValue and DurationUnit */
|
|
576
|
+
|
|
577
|
+
alias TimeUnit for DurationUnit;
|
|
578
|
+
alias TimeValue for DurationValue;
|
|
579
|
+
alias time for duration;
|
|
580
|
+
|
|
581
|
+
/* ISO-80000-3 item 3-10.1 velocity */
|
|
582
|
+
attribute def CartesianVelocity3dVector :> '3dVectorQuantityValue' {
|
|
583
|
+
doc
|
|
584
|
+
/*
|
|
585
|
+
* source: item 3-10.1 velocity
|
|
586
|
+
* symbol(s): `vec(v)`, `u,v,w`
|
|
587
|
+
* application domain: generic
|
|
588
|
+
* name: Velocity
|
|
589
|
+
* quantity dimension: L^1*T^-1
|
|
590
|
+
* measurement unit(s): m/s, m*s^-1
|
|
591
|
+
* tensor order: 1
|
|
592
|
+
* definition: vector (ISO 80000-2) quantity giving the rate of change of a position vector (item 3-1.10)
|
|
593
|
+
* remarks: The velocity vector is given by: `vec(v) = (d vec(r)) / (dt)` where `vec(r)` denotes the position vector (item 3-1.10) and `t` the duration (item 3-9). When the general symbol `vec(v)` is not used for the velocity, the symbols `u`, `v`, `w` may be used for the components (ISO 80000-2) of the velocity.
|
|
594
|
+
*/
|
|
595
|
+
attribute :>> isBound = false;
|
|
596
|
+
attribute :>> mRef: CartesianVelocity3dCoordinateFrame[1];
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
attribute cartesianVelocity3dVector: CartesianVelocity3dVector :> vectorQuantities;
|
|
600
|
+
|
|
601
|
+
attribute def CartesianVelocity3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
602
|
+
attribute :>> isBound = false;
|
|
603
|
+
attribute :>> isOrthogonal = true;
|
|
604
|
+
attribute :>> mRefs: SpeedUnit[3];
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
/* ISO-80000-3 item 3-10.2 speed */
|
|
608
|
+
attribute def SpeedValue :> ScalarQuantityValue {
|
|
609
|
+
doc
|
|
610
|
+
/*
|
|
611
|
+
* source: item 3-10.2 speed
|
|
612
|
+
* symbol(s): `v`
|
|
613
|
+
* application domain: generic
|
|
614
|
+
* name: Speed
|
|
615
|
+
* quantity dimension: L^1*T^-1
|
|
616
|
+
* measurement unit(s): m/s, m*s^-1
|
|
617
|
+
* tensor order: 0
|
|
618
|
+
* definition: magnitude (ISO 80000-2) of the velocity (item 3-10.1)
|
|
619
|
+
* remarks: None.
|
|
620
|
+
*/
|
|
621
|
+
attribute :>> num: Real;
|
|
622
|
+
attribute :>> mRef: SpeedUnit[1];
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
attribute speed: SpeedValue[*] nonunique :> scalarQuantities;
|
|
626
|
+
|
|
627
|
+
attribute def SpeedUnit :> DerivedUnit {
|
|
628
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
629
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
|
|
630
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF); }
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
/* ISO-80000-3 item 3-11 acceleration */
|
|
634
|
+
attribute def AccelerationValue :> ScalarQuantityValue {
|
|
635
|
+
doc
|
|
636
|
+
/*
|
|
637
|
+
* source: item 3-11 acceleration (magnitude)
|
|
638
|
+
* symbol(s): `a`
|
|
639
|
+
* application domain: generic
|
|
640
|
+
* name: Acceleration
|
|
641
|
+
* quantity dimension: L^1*T^-2
|
|
642
|
+
* measurement unit(s): m*s^-2
|
|
643
|
+
* tensor order: 0
|
|
644
|
+
* definition: vector (ISO 80000-2) quantity giving the rate of change of velocity (item 3-10)
|
|
645
|
+
* remarks: The acceleration vector is given by: `vec(a) = (d vec(v))/(dt)` where `vec(v)` denotes the velocity (item 3-10.1) and `t` the duration (item 3-9). The magnitude (ISO 80000-2) of the acceleration of free fall is usually denoted by `g`.
|
|
646
|
+
*/
|
|
647
|
+
attribute :>> num: Real;
|
|
648
|
+
attribute :>> mRef: AccelerationUnit[1];
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
attribute acceleration: AccelerationValue[*] nonunique :> scalarQuantities;
|
|
652
|
+
|
|
653
|
+
attribute def AccelerationUnit :> DerivedUnit {
|
|
654
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
655
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
656
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF); }
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
attribute def CartesianAcceleration3dVector :> '3dVectorQuantityValue' {
|
|
660
|
+
doc
|
|
661
|
+
/*
|
|
662
|
+
* source: item 3-11 acceleration (vector)
|
|
663
|
+
* symbol(s): `vec(a)`
|
|
664
|
+
* application domain: generic
|
|
665
|
+
* name: Acceleration
|
|
666
|
+
* quantity dimension: L^1*T^-2
|
|
667
|
+
* measurement unit(s): m*s^-2
|
|
668
|
+
* tensor order: 1
|
|
669
|
+
* definition: vector (ISO 80000-2) quantity giving the rate of change of velocity (item 3-10)
|
|
670
|
+
* remarks: The acceleration vector is given by: `vec(a) = (d vec(v))/(dt)` where `vec(v)` denotes the velocity (item 3-10.1) and `t` the duration (item 3-9). The magnitude (ISO 80000-2) of the acceleration of free fall is usually denoted by `g`.
|
|
671
|
+
*/
|
|
672
|
+
attribute :>> isBound = false;
|
|
673
|
+
attribute :>> mRef: CartesianAcceleration3dCoordinateFrame[1];
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
attribute cartesianAcceleration3dVector: CartesianAcceleration3dVector :> vectorQuantities;
|
|
677
|
+
|
|
678
|
+
attribute def CartesianAcceleration3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
679
|
+
attribute :>> isBound = false;
|
|
680
|
+
attribute :>> isOrthogonal = true;
|
|
681
|
+
attribute :>> mRefs: AccelerationUnit[3];
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
/* ISO-80000-3 item 3-12 angular velocity */
|
|
685
|
+
attribute def AngularVelocityValue :> ScalarQuantityValue {
|
|
686
|
+
doc
|
|
687
|
+
/*
|
|
688
|
+
* source: item 3-12 angular velocity (magnitude)
|
|
689
|
+
* symbol(s): `ω`
|
|
690
|
+
* application domain: generic
|
|
691
|
+
* name: AngularVelocity
|
|
692
|
+
* quantity dimension: T^-1
|
|
693
|
+
* measurement unit(s): rad*s^-1, s^-1
|
|
694
|
+
* tensor order: 0
|
|
695
|
+
* definition: vector (ISO 80000-2) quantity giving the rate of change of the rotational displacement (item 3-6) as its magnitude (ISO 80000-2) and with a direction equal to the direction of the axis of rotation
|
|
696
|
+
* remarks: The angular velocity vector is given by: `vec(ω) = (d φ) / (dt) vec(u)` where `φ` denotes the angular displacement (item 3-6), `t` the duration (item 3-9), and `vec(u)` the unit vector (ISO 80000-2) along the axis of rotation in the direction for which the rotation corresponds to a right-hand spiral.
|
|
697
|
+
*/
|
|
698
|
+
attribute :>> num: Real;
|
|
699
|
+
attribute :>> mRef: AngularVelocityUnit[1];
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
attribute angularVelocity: AngularVelocityValue[*] nonunique :> scalarQuantities;
|
|
703
|
+
|
|
704
|
+
attribute def AngularVelocityUnit :> DerivedUnit {
|
|
705
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
|
|
706
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = durationPF; }
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
attribute def CartesianAngularVelocity3dVector :> '3dVectorQuantityValue' {
|
|
710
|
+
doc
|
|
711
|
+
/*
|
|
712
|
+
* source: item 3-12 angular velocity (vector)
|
|
713
|
+
* symbol(s): `vec(ω)`
|
|
714
|
+
* application domain: generic
|
|
715
|
+
* name: AngularVelocity
|
|
716
|
+
* quantity dimension: T^-1
|
|
717
|
+
* measurement unit(s): rad*s^-1, s^-1
|
|
718
|
+
* tensor order: 1
|
|
719
|
+
* definition: vector (ISO 80000-2) quantity giving the rate of change of the rotational displacement (item 3-6) as its magnitude (ISO 80000-2) and with a direction equal to the direction of the axis of rotation
|
|
720
|
+
* remarks: The angular velocity vector is given by: `vec(ω) = (d φ) / (dt) vec(u)` where `φ` denotes the angular displacement (item 3-6), `t` the duration (item 3-9), and `vec(u)` the unit vector (ISO 80000-2) along the axis of rotation in the direction for which the rotation corresponds to a right-hand spiral.
|
|
721
|
+
*/
|
|
722
|
+
attribute :>> isBound = false;
|
|
723
|
+
attribute :>> mRef: CartesianAngularVelocity3dCoordinateFrame[1];
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
attribute cartesianAngularVelocity3dVector: CartesianAngularVelocity3dVector :> vectorQuantities;
|
|
727
|
+
|
|
728
|
+
attribute def CartesianAngularVelocity3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
729
|
+
attribute :>> isBound = false;
|
|
730
|
+
attribute :>> isOrthogonal = true;
|
|
731
|
+
attribute :>> mRefs: AngularVelocityUnit[3];
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
/* ISO-80000-3 item 3-13 angular acceleration */
|
|
735
|
+
attribute def AngularAccelerationValue :> ScalarQuantityValue {
|
|
736
|
+
doc
|
|
737
|
+
/*
|
|
738
|
+
* source: item 3-13 angular acceleration (magnitude)
|
|
739
|
+
* symbol(s): `α`
|
|
740
|
+
* application domain: generic
|
|
741
|
+
* name: AngularAcceleration
|
|
742
|
+
* quantity dimension: T^-2
|
|
743
|
+
* measurement unit(s): rad*s^-2, s^-2
|
|
744
|
+
* tensor order: 0
|
|
745
|
+
* definition: vector (ISO 80000-2) quantity giving the rate of change of angular velocity (item 3-12)
|
|
746
|
+
* remarks: The angular acceleration vector is given by: `vec α = (d vec(ω))/(dt)` Where `vec(ω)` denotes the angular velocity (item 3-12) and `t` the duration (item 3-9).
|
|
747
|
+
*/
|
|
748
|
+
attribute :>> num: Real;
|
|
749
|
+
attribute :>> mRef: AngularAccelerationUnit[1];
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
attribute angularAcceleration: AngularAccelerationValue[*] nonunique :> scalarQuantities;
|
|
753
|
+
|
|
754
|
+
attribute def AngularAccelerationUnit :> DerivedUnit {
|
|
755
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
756
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = durationPF; }
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
attribute def CartesianAngularAcceleration3dVector :> '3dVectorQuantityValue' {
|
|
760
|
+
doc
|
|
761
|
+
/*
|
|
762
|
+
* source: item 3-13 angular acceleration (vector)
|
|
763
|
+
* symbol(s): `vec(α)`
|
|
764
|
+
* application domain: generic
|
|
765
|
+
* name: AngularAcceleration
|
|
766
|
+
* quantity dimension: T^-2
|
|
767
|
+
* measurement unit(s): rad*s^-2, s^-2
|
|
768
|
+
* tensor order: 1
|
|
769
|
+
* definition: vector (ISO 80000-2) quantity giving the rate of change of angular velocity (item 3-12)
|
|
770
|
+
* remarks: The angular acceleration vector is given by: `vec α = (d vec(ω))/(dt)` Where `vec(ω)` denotes the angular velocity (item 3-12) and `t` the duration (item 3-9).
|
|
771
|
+
*/
|
|
772
|
+
attribute :>> isBound = false;
|
|
773
|
+
attribute :>> mRef: CartesianAngularAcceleration3dCoordinateFrame[1];
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
attribute cartesianAngularAcceleration3dVector: CartesianAngularAcceleration3dVector :> vectorQuantities;
|
|
777
|
+
|
|
778
|
+
attribute def CartesianAngularAcceleration3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
779
|
+
attribute :>> isBound = false;
|
|
780
|
+
attribute :>> isOrthogonal = true;
|
|
781
|
+
attribute :>> mRefs: AngularAccelerationUnit[3];
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
/* ISO-80000-3 item 3-14 period duration, period */
|
|
785
|
+
attribute periodDuration: DurationValue :> scalarQuantities {
|
|
786
|
+
doc
|
|
787
|
+
/*
|
|
788
|
+
* source: item 3-14 period duration, period
|
|
789
|
+
* symbol(s): `T`
|
|
790
|
+
* application domain: generic
|
|
791
|
+
* name: PeriodDuration (specializes Duration)
|
|
792
|
+
* quantity dimension: T^1
|
|
793
|
+
* measurement unit(s): s
|
|
794
|
+
* tensor order: 0
|
|
795
|
+
* definition: duration (item 3-9) of one cycle of a periodic event
|
|
796
|
+
* remarks: A periodic event is an event that occurs regularly with a fixed time interval.
|
|
797
|
+
*/
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
alias period for periodDuration;
|
|
801
|
+
|
|
802
|
+
/* ISO-80000-3 item 3-15 time constant */
|
|
803
|
+
attribute timeConstant: DurationValue :> scalarQuantities {
|
|
804
|
+
doc
|
|
805
|
+
/*
|
|
806
|
+
* source: item 3-15 time constant
|
|
807
|
+
* symbol(s): `τ`, `T`
|
|
808
|
+
* application domain: generic
|
|
809
|
+
* name: TimeConstant (specializes Duration)
|
|
810
|
+
* quantity dimension: T^1
|
|
811
|
+
* measurement unit(s): s
|
|
812
|
+
* tensor order: 0
|
|
813
|
+
* definition: parameter characterizing the response to a step input of a first-order, linear time-invariant system
|
|
814
|
+
* remarks: If a quantity is a function of the duration (item 3-9) expressed by: `F(t) prop e^(-t/τ)` where `t` denotes the duration (item 3-9), then `τ` denotes the time constant. Here the time constant `τ` applies to an exponentially decaying quantity.
|
|
815
|
+
*/
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
/* ISO-80000-3 item 3-16 rotation */
|
|
819
|
+
attribute rotation: CountValue :> scalarQuantities {
|
|
820
|
+
doc
|
|
821
|
+
/*
|
|
822
|
+
* source: item 3-16 rotation
|
|
823
|
+
* symbol(s): `N`
|
|
824
|
+
* application domain: generic
|
|
825
|
+
* name: Rotation (specializes Count)
|
|
826
|
+
* quantity dimension: 1
|
|
827
|
+
* measurement unit(s): 1
|
|
828
|
+
* tensor order: 0
|
|
829
|
+
* definition: number of revolutions
|
|
830
|
+
* remarks: `N` is the number (not necessarily an integer) of revolutions, for example, of a rotating body about a given axis. Its value is given by: `N = φ/(2 π)` where `φ` denotes the measure of rotational displacement (item 3-6).
|
|
831
|
+
*/
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
/* ISO-80000-3 item 3-17.1 frequency */
|
|
835
|
+
attribute def FrequencyValue :> ScalarQuantityValue {
|
|
836
|
+
doc
|
|
837
|
+
/*
|
|
838
|
+
* source: item 3-17.1 frequency
|
|
839
|
+
* symbol(s): `f`, `ν`
|
|
840
|
+
* application domain: generic
|
|
841
|
+
* name: Frequency
|
|
842
|
+
* quantity dimension: T^-1
|
|
843
|
+
* measurement unit(s): Hz, s^-1
|
|
844
|
+
* tensor order: 0
|
|
845
|
+
* definition: inverse of period duration (item 3-14)
|
|
846
|
+
* remarks: The frequency is given by: `f = 1/T` where `T` denotes the period duration (item 3-14).
|
|
847
|
+
*/
|
|
848
|
+
attribute :>> num: Real;
|
|
849
|
+
attribute :>> mRef: FrequencyUnit[1];
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
attribute frequency: FrequencyValue[*] nonunique :> scalarQuantities;
|
|
853
|
+
|
|
854
|
+
attribute def FrequencyUnit :> DerivedUnit {
|
|
855
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
|
|
856
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = durationPF; }
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
/* ISO-80000-3 item 3-17.2 rotational frequency */
|
|
860
|
+
attribute rotationalFrequency: FrequencyValue :> scalarQuantities {
|
|
861
|
+
doc
|
|
862
|
+
/*
|
|
863
|
+
* source: item 3-17.2 rotational frequency
|
|
864
|
+
* symbol(s): `n`
|
|
865
|
+
* application domain: generic
|
|
866
|
+
* name: RotationalFrequency (specializes Frequency)
|
|
867
|
+
* quantity dimension: T^-1
|
|
868
|
+
* measurement unit(s): s^-1
|
|
869
|
+
* tensor order: 0
|
|
870
|
+
* definition: duration (item 3-9) of one cycle of a periodic event
|
|
871
|
+
* remarks: The rotational frequency is given by: `n = (dN) / (dt)` where `N` denotes the rotation (item 3-16) and `t` is the duration (item 3-9).
|
|
872
|
+
*/
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
/* ISO-80000-3 item 3-18 angular frequency */
|
|
876
|
+
attribute def AngularFrequencyValue :> ScalarQuantityValue {
|
|
877
|
+
doc
|
|
878
|
+
/*
|
|
879
|
+
* source: item 3-18 angular frequency
|
|
880
|
+
* symbol(s): `ω`
|
|
881
|
+
* application domain: generic
|
|
882
|
+
* name: AngularFrequency
|
|
883
|
+
* quantity dimension: T^-1
|
|
884
|
+
* measurement unit(s): rad*s^-1, s^-1
|
|
885
|
+
* tensor order: 0
|
|
886
|
+
* definition: rate of change of the phase angle (item 3-7)
|
|
887
|
+
* remarks: The angular frequency is given by: `ω = 2 π f` where `f` denotes the frequency (item 3-17.1).
|
|
888
|
+
*/
|
|
889
|
+
attribute :>> num: Real;
|
|
890
|
+
attribute :>> mRef: AngularFrequencyUnit[1];
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
attribute angularFrequency: AngularFrequencyValue[*] nonunique :> scalarQuantities;
|
|
894
|
+
|
|
895
|
+
attribute def AngularFrequencyUnit :> DerivedUnit {
|
|
896
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
|
|
897
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = durationPF; }
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
/* ISO-80000-3 item 3-19 wavelength */
|
|
901
|
+
attribute wavelength: LengthValue :> scalarQuantities {
|
|
902
|
+
doc
|
|
903
|
+
/*
|
|
904
|
+
* source: item 3-19 wavelength
|
|
905
|
+
* symbol(s): `λ`
|
|
906
|
+
* application domain: generic
|
|
907
|
+
* name: Wavelength (specializes Length)
|
|
908
|
+
* quantity dimension: L^1
|
|
909
|
+
* measurement unit(s): m
|
|
910
|
+
* tensor order: 0
|
|
911
|
+
* definition: length (item 3-1.1) of the repetition interval of a wave
|
|
912
|
+
* remarks: None.
|
|
913
|
+
*/
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
/* ISO-80000-3 item 3-20 repetency, wavenumber */
|
|
917
|
+
attribute def RepetencyValue :> ScalarQuantityValue {
|
|
918
|
+
doc
|
|
919
|
+
/*
|
|
920
|
+
* source: item 3-20 repetency, wavenumber
|
|
921
|
+
* symbol(s): `σ`, `ṽ`
|
|
922
|
+
* application domain: generic
|
|
923
|
+
* name: Repetency
|
|
924
|
+
* quantity dimension: L^-1
|
|
925
|
+
* measurement unit(s): m^-1
|
|
926
|
+
* tensor order: 0
|
|
927
|
+
* definition: inverse of the wavelength (item 3-19)
|
|
928
|
+
* remarks: The repetency is given by: `σ = 1 / λ` where `λ` denotes the wavelength (item 3-19).
|
|
929
|
+
*/
|
|
930
|
+
attribute :>> num: Real;
|
|
931
|
+
attribute :>> mRef: RepetencyUnit[1];
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
attribute repetency: RepetencyValue[*] nonunique :> scalarQuantities;
|
|
935
|
+
|
|
936
|
+
attribute def RepetencyUnit :> DerivedUnit {
|
|
937
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
938
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
alias WavenumberUnit for RepetencyUnit;
|
|
942
|
+
alias WavenumberValue for RepetencyValue;
|
|
943
|
+
alias wavenumber for repetency;
|
|
944
|
+
|
|
945
|
+
/* ISO-80000-3 item 3-21 wave vector */
|
|
946
|
+
attribute def CartesianWave3dVector :> '3dVectorQuantityValue' {
|
|
947
|
+
doc
|
|
948
|
+
/*
|
|
949
|
+
* source: item 3-21 wave vector
|
|
950
|
+
* symbol(s): `vec(k)`
|
|
951
|
+
* application domain: generic
|
|
952
|
+
* name: WaveVector
|
|
953
|
+
* quantity dimension: L^-1
|
|
954
|
+
* measurement unit(s): m^-1
|
|
955
|
+
* tensor order: 1
|
|
956
|
+
* definition: vector normal to the surfaces of constant phase angle (item 3-7) of a wave, with the magnitude (ISO 80000-2) of repetency (item 3-20)
|
|
957
|
+
* remarks: None.
|
|
958
|
+
*/
|
|
959
|
+
attribute :>> isBound = false;
|
|
960
|
+
attribute :>> mRef: CartesianWaveVector3dCoordinateFrame[1];
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
attribute cartesianWave3dVector: CartesianWave3dVector :> vectorQuantities;
|
|
964
|
+
|
|
965
|
+
attribute def CartesianWaveVector3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
966
|
+
attribute :>> isBound = false;
|
|
967
|
+
attribute :>> isOrthogonal = true;
|
|
968
|
+
attribute :>> mRefs: RepetencyUnit[3];
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
/* ISO-80000-3 item 3-22 angular repetency, angular wavenumber */
|
|
972
|
+
attribute def AngularRepetencyValue :> ScalarQuantityValue {
|
|
973
|
+
doc
|
|
974
|
+
/*
|
|
975
|
+
* source: item 3-22 angular repetency, angular wavenumber
|
|
976
|
+
* symbol(s): `k`
|
|
977
|
+
* application domain: generic
|
|
978
|
+
* name: AngularRepetency
|
|
979
|
+
* quantity dimension: L^-1
|
|
980
|
+
* measurement unit(s): m^-1
|
|
981
|
+
* tensor order: 0
|
|
982
|
+
* definition: magnitude (ISO 80000-2) of the wave vector (item 3-21)
|
|
983
|
+
* remarks: The angular repetency is given by: `κ = (2 π)/λ` where `λ` denotes the wavelength (item 3-19).
|
|
984
|
+
*/
|
|
985
|
+
attribute :>> num: Real;
|
|
986
|
+
attribute :>> mRef: AngularRepetencyUnit[1];
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
attribute angularRepetency: AngularRepetencyValue[*] nonunique :> scalarQuantities;
|
|
990
|
+
|
|
991
|
+
attribute def AngularRepetencyUnit :> DerivedUnit {
|
|
992
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
993
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
alias AngularWavenumberUnit for AngularRepetencyUnit;
|
|
997
|
+
alias AngularWavenumberValue for AngularRepetencyValue;
|
|
998
|
+
alias angularWavenumber for angularRepetency;
|
|
999
|
+
|
|
1000
|
+
/* ISO-80000-3 item 3-23.1 phase velocity, phase speed */
|
|
1001
|
+
attribute def PhaseVelocityValue :> ScalarQuantityValue {
|
|
1002
|
+
doc
|
|
1003
|
+
/*
|
|
1004
|
+
* source: item 3-23.1 phase velocity, phase speed
|
|
1005
|
+
* symbol(s): `c`, `v`, `(ν)`, `c_φ`, `v_φ`, `(ν_φ)`
|
|
1006
|
+
* application domain: generic
|
|
1007
|
+
* name: PhaseVelocity
|
|
1008
|
+
* quantity dimension: L^1*T^-1
|
|
1009
|
+
* measurement unit(s): m*s^-1
|
|
1010
|
+
* tensor order: 0
|
|
1011
|
+
* definition: speed with which the phase angle (item 3-7) of a wave propagates in space
|
|
1012
|
+
* remarks: The phase velocity is given by: `c = ω/κ` where `ω` denotes the angular frequency (item 3-18) and `k` the angular repetency (item 3-22). If phase velocities of electromagnetic waves and other phase velocities are both involved, then `c` should be used for the former and `υ` for the latter. Phase velocity can also be written as `c = λ f`.
|
|
1013
|
+
*/
|
|
1014
|
+
attribute :>> num: Real;
|
|
1015
|
+
attribute :>> mRef: PhaseVelocityUnit[1];
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
attribute phaseVelocity: PhaseVelocityValue[*] nonunique :> scalarQuantities;
|
|
1019
|
+
|
|
1020
|
+
attribute def PhaseVelocityUnit :> DerivedUnit {
|
|
1021
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
1022
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
|
|
1023
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF); }
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
alias PhaseSpeedUnit for PhaseVelocityUnit;
|
|
1027
|
+
alias PhaseSpeedValue for PhaseVelocityValue;
|
|
1028
|
+
alias phaseSpeed for phaseVelocity;
|
|
1029
|
+
|
|
1030
|
+
/* ISO-80000-3 item 3-23.2 group velocity, group speed */
|
|
1031
|
+
attribute groupVelocity: SpeedValue :> scalarQuantities {
|
|
1032
|
+
doc
|
|
1033
|
+
/*
|
|
1034
|
+
* source: item 3-23.2 group velocity, group speed
|
|
1035
|
+
* symbol(s): `c_g`, `v_g`, `(ν_g)`
|
|
1036
|
+
* application domain: generic
|
|
1037
|
+
* name: GroupVelocity (specializes Speed)
|
|
1038
|
+
* quantity dimension: L^1*T^-1
|
|
1039
|
+
* measurement unit(s): m*s^-1
|
|
1040
|
+
* tensor order: 0
|
|
1041
|
+
* definition: speed with which the envelope of a wave propagates in space
|
|
1042
|
+
* remarks: The group velocity is given by: `c_g = (d ω)/ (dk)` where `ω` denotes the angular frequency (item 3-18) and `k` the angular repetency (item 3-22).
|
|
1043
|
+
*/
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
alias groupSpeed for groupVelocity;
|
|
1047
|
+
|
|
1048
|
+
/* ISO-80000-3 item 3-24 damping coefficient */
|
|
1049
|
+
attribute def DampingCoefficientValue :> ScalarQuantityValue {
|
|
1050
|
+
doc
|
|
1051
|
+
/*
|
|
1052
|
+
* source: item 3-24 damping coefficient
|
|
1053
|
+
* symbol(s): `δ`
|
|
1054
|
+
* application domain: generic
|
|
1055
|
+
* name: DampingCoefficient
|
|
1056
|
+
* quantity dimension: T^-1
|
|
1057
|
+
* measurement unit(s): s^-1
|
|
1058
|
+
* tensor order: 0
|
|
1059
|
+
* definition: inverse of the time constant (item 3-15) of an exponentially varying quantity
|
|
1060
|
+
* remarks: None.
|
|
1061
|
+
*/
|
|
1062
|
+
attribute :>> num: Real;
|
|
1063
|
+
attribute :>> mRef: DampingCoefficientUnit[1];
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
attribute dampingCoefficient: DampingCoefficientValue[*] nonunique :> scalarQuantities;
|
|
1067
|
+
|
|
1068
|
+
attribute def DampingCoefficientUnit :> DerivedUnit {
|
|
1069
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
|
|
1070
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = durationPF; }
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
/* ISO-80000-3 item 3-25 logarithmic decrement */
|
|
1074
|
+
attribute def LogarithmicDecrementValue :> DimensionOneValue {
|
|
1075
|
+
doc
|
|
1076
|
+
/*
|
|
1077
|
+
* source: item 3-25 logarithmic decrement
|
|
1078
|
+
* symbol(s): `Λ`
|
|
1079
|
+
* application domain: generic
|
|
1080
|
+
* name: LogarithmicDecrement (specializes DimensionOneQuantity)
|
|
1081
|
+
* quantity dimension: 1
|
|
1082
|
+
* measurement unit(s): 1
|
|
1083
|
+
* tensor order: 0
|
|
1084
|
+
* definition: product of damping coefficient (item 3-24) and period duration (item 3-14)
|
|
1085
|
+
* remarks: None.
|
|
1086
|
+
*/
|
|
1087
|
+
}
|
|
1088
|
+
attribute logarithmicDecrement: LogarithmicDecrementValue :> scalarQuantities;
|
|
1089
|
+
|
|
1090
|
+
/* ISO-80000-3 item 3-26.1 attenuation, extinction */
|
|
1091
|
+
attribute def AttenuationValue :> ScalarQuantityValue {
|
|
1092
|
+
doc
|
|
1093
|
+
/*
|
|
1094
|
+
* source: item 3-26.1 attenuation, extinction
|
|
1095
|
+
* symbol(s): `α`
|
|
1096
|
+
* application domain: generic
|
|
1097
|
+
* name: Attenuation
|
|
1098
|
+
* quantity dimension: L^-1
|
|
1099
|
+
* measurement unit(s): m^-1
|
|
1100
|
+
* tensor order: 0
|
|
1101
|
+
* definition: gradual decrease in magnitude (ISO 80000-2) of any kind of flux through a medium
|
|
1102
|
+
* remarks: If a quantity is a function of distance (item 3-1.8) expressed by: `f(x) prop e^(-α x)` where `x` denotes distance (item 3-1.8), then `α` denotes attenuation. The inverse of attenuation is called attenuation length.
|
|
1103
|
+
*/
|
|
1104
|
+
attribute :>> num: Real;
|
|
1105
|
+
attribute :>> mRef: AttenuationUnit[1];
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
attribute attenuation: AttenuationValue[*] nonunique :> scalarQuantities;
|
|
1109
|
+
|
|
1110
|
+
attribute def AttenuationUnit :> DerivedUnit {
|
|
1111
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
1112
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
alias ExtinctionUnit for AttenuationUnit;
|
|
1116
|
+
alias ExtinctionValue for AttenuationValue;
|
|
1117
|
+
alias extinction for attenuation;
|
|
1118
|
+
|
|
1119
|
+
/* ISO-80000-3 item 3-26.2 phase coefficient */
|
|
1120
|
+
attribute def PhaseCoefficientValue :> ScalarQuantityValue {
|
|
1121
|
+
doc
|
|
1122
|
+
/*
|
|
1123
|
+
* source: item 3-26.2 phase coefficient
|
|
1124
|
+
* symbol(s): `β`
|
|
1125
|
+
* application domain: generic
|
|
1126
|
+
* name: PhaseCoefficient
|
|
1127
|
+
* quantity dimension: L^-1
|
|
1128
|
+
* measurement unit(s): rad/m, m^-1
|
|
1129
|
+
* tensor order: 0
|
|
1130
|
+
* definition: change of phase angle (item 3-7) with the length (item 3-1.1) along the path travelled by a plane wave
|
|
1131
|
+
* remarks: If a quantity is a function of distance expressed by: `f(x) prop cos(β(x-x_0))` where `x` denotes distance (item 3-1.8), then `β` denotes the phase coefficient.
|
|
1132
|
+
*/
|
|
1133
|
+
attribute :>> num: Real;
|
|
1134
|
+
attribute :>> mRef: PhaseCoefficientUnit[1];
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
attribute phaseCoefficient: PhaseCoefficientValue[*] nonunique :> scalarQuantities;
|
|
1138
|
+
|
|
1139
|
+
attribute def PhaseCoefficientUnit :> DerivedUnit {
|
|
1140
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
1141
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
/* ISO-80000-3 item 3-26.3 propagation coefficient */
|
|
1145
|
+
attribute def PropagationCoefficientValue :> ScalarQuantityValue {
|
|
1146
|
+
doc
|
|
1147
|
+
/*
|
|
1148
|
+
* source: item 3-26.3 propagation coefficient
|
|
1149
|
+
* symbol(s): `γ`
|
|
1150
|
+
* application domain: generic
|
|
1151
|
+
* name: PropagationCoefficient
|
|
1152
|
+
* quantity dimension: L^-1
|
|
1153
|
+
* measurement unit(s): m^-1
|
|
1154
|
+
* tensor order: 0
|
|
1155
|
+
* definition: measure of the change of amplitude and phase angle (item 3-7) of a plane wave propagating in a given direction
|
|
1156
|
+
* remarks: The propagation coefficient is given by: `γ = α + iβ` where `α` denotes attenuation (item 3-26.1) and `β` the phase coefficient (item 3-26.2) of a plane wave.
|
|
1157
|
+
*/
|
|
1158
|
+
attribute :>> num: Real;
|
|
1159
|
+
attribute :>> mRef: PropagationCoefficientUnit[1];
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
attribute propagationCoefficient: PropagationCoefficientValue[*] nonunique :> scalarQuantities;
|
|
1163
|
+
|
|
1164
|
+
attribute def PropagationCoefficientUnit :> DerivedUnit {
|
|
1165
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
1166
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = lengthPF; }
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
}
|