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,2333 @@
|
|
|
1
|
+
standard library package ISQElectromagnetism {
|
|
2
|
+
doc
|
|
3
|
+
/*
|
|
4
|
+
* International System of Quantities and Units
|
|
5
|
+
* Generated on 2025-03-13T15:00:05Z from standard IEC-80000-6:2008 "Electromagnetism"
|
|
6
|
+
* see also https://www.iso.org/obp/ui/#iso:std:iec:80000:-6:ed-1:v1:en,fr
|
|
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 ISQMechanics::PowerValue;
|
|
22
|
+
private import ISQSpaceTime::AngularMeasureValue;
|
|
23
|
+
private import ISQThermodynamics::EnergyValue;
|
|
24
|
+
|
|
25
|
+
/* IEC-80000-6 item 6-1 electric current */
|
|
26
|
+
/* See package ISQBase for the declarations of ElectricCurrentValue and ElectricCurrentUnit */
|
|
27
|
+
|
|
28
|
+
/* IEC-80000-6 item 6-2 electric charge */
|
|
29
|
+
attribute def ElectricChargeValue :> ScalarQuantityValue {
|
|
30
|
+
doc
|
|
31
|
+
/*
|
|
32
|
+
* source: item 6-2 electric charge
|
|
33
|
+
* symbol(s): `Q`, `q`
|
|
34
|
+
* application domain: generic
|
|
35
|
+
* name: ElectricCharge
|
|
36
|
+
* quantity dimension: T^1*I^1
|
|
37
|
+
* measurement unit(s): C
|
|
38
|
+
* tensor order: 0
|
|
39
|
+
* definition: `d(Q) = I dt` where `I` is electric current (item 6-1) and `t` is time (ISO 80000-3, item 3-7)
|
|
40
|
+
* remarks: Electric charge is carried by discrete particles and can be positive or negative. The sign convention is such that the elementary electric charge `e`, i.e. the charge of the proton, is positive. See IEC 60050-121, item121-11-01. To denote a point charge `q` is often used, and that is done in the present document.
|
|
41
|
+
*/
|
|
42
|
+
attribute :>> num: Real;
|
|
43
|
+
attribute :>> mRef: ElectricChargeUnit[1];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
attribute electricCharge: ElectricChargeValue[*] nonunique :> scalarQuantities;
|
|
47
|
+
|
|
48
|
+
attribute def ElectricChargeUnit :> DerivedUnit {
|
|
49
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
|
|
50
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
51
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (durationPF, electricCurrentPF); }
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* IEC-80000-6 item 6-3 electric charge density, volumic electric charge */
|
|
55
|
+
attribute def ElectricChargeDensityValue :> ScalarQuantityValue {
|
|
56
|
+
doc
|
|
57
|
+
/*
|
|
58
|
+
* source: item 6-3 electric charge density, volumic electric charge
|
|
59
|
+
* symbol(s): `ρ`, `ρ_V`
|
|
60
|
+
* application domain: generic
|
|
61
|
+
* name: ElectricChargeDensity
|
|
62
|
+
* quantity dimension: L^-3*T^1*I^1
|
|
63
|
+
* measurement unit(s): C/m^3
|
|
64
|
+
* tensor order: 0
|
|
65
|
+
* definition: `ρ = (dQ)/(dV)` where `Q` is electric charge (item 6-2) and `V` is volume (ISO 80000-3, item 3-4)
|
|
66
|
+
* remarks: See IEC 60050-121, item 121-11-07.
|
|
67
|
+
*/
|
|
68
|
+
attribute :>> num: Real;
|
|
69
|
+
attribute :>> mRef: ElectricChargeDensityUnit[1];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
attribute electricChargeDensity: ElectricChargeDensityValue[*] nonunique :> scalarQuantities;
|
|
73
|
+
|
|
74
|
+
attribute def ElectricChargeDensityUnit :> DerivedUnit {
|
|
75
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
|
|
76
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
|
|
77
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
78
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF, electricCurrentPF); }
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
alias VolumicElectricChargeUnit for ElectricChargeDensityUnit;
|
|
82
|
+
alias VolumicElectricChargeValue for ElectricChargeDensityValue;
|
|
83
|
+
alias volumicElectricCharge for electricChargeDensity;
|
|
84
|
+
|
|
85
|
+
/* IEC-80000-6 item 6-4 surface density of electric charge, areic electric charge */
|
|
86
|
+
attribute def SurfaceDensityOfElectricChargeValue :> ScalarQuantityValue {
|
|
87
|
+
doc
|
|
88
|
+
/*
|
|
89
|
+
* source: item 6-4 surface density of electric charge, areic electric charge
|
|
90
|
+
* symbol(s): `ρ_A`, `sigma`
|
|
91
|
+
* application domain: generic
|
|
92
|
+
* name: SurfaceDensityOfElectricCharge
|
|
93
|
+
* quantity dimension: L^-2*T^1*I^1
|
|
94
|
+
* measurement unit(s): C/m^2
|
|
95
|
+
* tensor order: 0
|
|
96
|
+
* definition: `ρ_A = (dQ)/(dA)` where `Q` is electric charge (item 6-2) and `A` is area (ISO 80000-3, item 3-3)`
|
|
97
|
+
* remarks: See IEC 60050-121, item 121-11-08.
|
|
98
|
+
*/
|
|
99
|
+
attribute :>> num: Real;
|
|
100
|
+
attribute :>> mRef: SurfaceDensityOfElectricChargeUnit[1];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
attribute surfaceDensityOfElectricCharge: SurfaceDensityOfElectricChargeValue[*] nonunique :> scalarQuantities;
|
|
104
|
+
|
|
105
|
+
attribute def SurfaceDensityOfElectricChargeUnit :> DerivedUnit {
|
|
106
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
107
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
|
|
108
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
109
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF, electricCurrentPF); }
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
alias AreicElectricChargeUnit for SurfaceDensityOfElectricChargeUnit;
|
|
113
|
+
alias AreicElectricChargeValue for SurfaceDensityOfElectricChargeValue;
|
|
114
|
+
alias areicElectricCharge for surfaceDensityOfElectricCharge;
|
|
115
|
+
|
|
116
|
+
/* IEC-80000-6 item 6-5 linear density of electric charge, lineic electric charge */
|
|
117
|
+
attribute def LinearDensityOfElectricChargeValue :> ScalarQuantityValue {
|
|
118
|
+
doc
|
|
119
|
+
/*
|
|
120
|
+
* source: item 6-5 linear density of electric charge, lineic electric charge
|
|
121
|
+
* symbol(s): `ρ_l`, `tau`
|
|
122
|
+
* application domain: generic
|
|
123
|
+
* name: LinearDensityOfElectricCharge
|
|
124
|
+
* quantity dimension: L^-1*T^1*I^1
|
|
125
|
+
* measurement unit(s): C/m
|
|
126
|
+
* tensor order: 0
|
|
127
|
+
* definition: `ρ_l = (dQ)/(dl)` where `Q` is electric charge (item 6-2) and `l` is length (ISO 80000-3, item 3-1.1)
|
|
128
|
+
* remarks: See IEC 60050-121, item121-11-09.
|
|
129
|
+
*/
|
|
130
|
+
attribute :>> num: Real;
|
|
131
|
+
attribute :>> mRef: LinearDensityOfElectricChargeUnit[1];
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
attribute linearDensityOfElectricCharge: LinearDensityOfElectricChargeValue[*] nonunique :> scalarQuantities;
|
|
135
|
+
|
|
136
|
+
attribute def LinearDensityOfElectricChargeUnit :> DerivedUnit {
|
|
137
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
138
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
|
|
139
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
140
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF, electricCurrentPF); }
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
alias LineicElectricChargeUnit for LinearDensityOfElectricChargeUnit;
|
|
144
|
+
alias LineicElectricChargeValue for LinearDensityOfElectricChargeValue;
|
|
145
|
+
alias lineicElectricCharge for linearDensityOfElectricCharge;
|
|
146
|
+
|
|
147
|
+
/* IEC-80000-6 item 6-6 electric dipole moment */
|
|
148
|
+
attribute def ElectricDipoleMomentValue :> ScalarQuantityValue {
|
|
149
|
+
doc
|
|
150
|
+
/*
|
|
151
|
+
* source: item 6-6 electric dipole moment (magnitude)
|
|
152
|
+
* symbol(s): `p`
|
|
153
|
+
* application domain: generic
|
|
154
|
+
* name: ElectricDipoleMoment
|
|
155
|
+
* quantity dimension: L^1*T^1*I^1
|
|
156
|
+
* measurement unit(s): C*m
|
|
157
|
+
* tensor order: 0
|
|
158
|
+
* definition: `vec(p) = q (vec(r_+) - vec(r_-))` where `vec(r_+)` and `vec(r_-)` are the position vectors (ISO 80000-3, item 3-1.11) to carriers of electric charges `q` and `-q` (item 6-2), respectively
|
|
159
|
+
* remarks: The electric dipole moment of a substance within a domain is the vector sum of electric dipole moments of electric dipoles included in the domain. See IEC 60050-121, items 121-11-35 and 121-11-36.
|
|
160
|
+
*/
|
|
161
|
+
attribute :>> num: Real;
|
|
162
|
+
attribute :>> mRef: ElectricDipoleMomentUnit[1];
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
attribute electricDipoleMoment: ElectricDipoleMomentValue[*] nonunique :> scalarQuantities;
|
|
166
|
+
|
|
167
|
+
attribute def ElectricDipoleMomentUnit :> DerivedUnit {
|
|
168
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
169
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
|
|
170
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
171
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF, electricCurrentPF); }
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
attribute def CartesianElectricDipoleMoment3dVector :> '3dVectorQuantityValue' {
|
|
175
|
+
doc
|
|
176
|
+
/*
|
|
177
|
+
* source: item 6-6 electric dipole moment (vector)
|
|
178
|
+
* symbol(s): `vec(p)`
|
|
179
|
+
* application domain: generic
|
|
180
|
+
* name: ElectricDipoleMoment
|
|
181
|
+
* quantity dimension: L^1*T^1*I^1
|
|
182
|
+
* measurement unit(s): C*m
|
|
183
|
+
* tensor order: 1
|
|
184
|
+
* definition: `vec(p) = q (vec(r_+) - vec(r_-))` where `vec(r_+)` and `vec(r_-)` are the position vectors (ISO 80000-3, item 3-1.11) to carriers of electric charges `q` and `-q` (item 6-2), respectively
|
|
185
|
+
* remarks: The electric dipole moment of a substance within a domain is the vector sum of electric dipole moments of electric dipoles included in the domain. See IEC 60050-121, items 121-11-35 and 121-11-36.
|
|
186
|
+
*/
|
|
187
|
+
attribute :>> isBound = false;
|
|
188
|
+
attribute :>> mRef: CartesianElectricDipoleMoment3dCoordinateFrame[1];
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
attribute cartesianElectricDipoleMoment3dVector: CartesianElectricDipoleMoment3dVector :> vectorQuantities;
|
|
192
|
+
|
|
193
|
+
attribute def CartesianElectricDipoleMoment3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
194
|
+
attribute :>> isBound = false;
|
|
195
|
+
attribute :>> isOrthogonal = true;
|
|
196
|
+
attribute :>> mRefs: ElectricDipoleMomentUnit[3];
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* IEC-80000-6 item 6-7 electric polarization */
|
|
200
|
+
attribute def ElectricPolarizationValue :> ScalarQuantityValue {
|
|
201
|
+
doc
|
|
202
|
+
/*
|
|
203
|
+
* source: item 6-7 electric polarization (magnitude)
|
|
204
|
+
* symbol(s): `P`
|
|
205
|
+
* application domain: generic
|
|
206
|
+
* name: ElectricPolarization
|
|
207
|
+
* quantity dimension: L^-2*T^1*I^1
|
|
208
|
+
* measurement unit(s): C/m^2
|
|
209
|
+
* tensor order: 0
|
|
210
|
+
* definition: `vec(P) = (d vec(p))/(dV)` where `vec(p)` is electric dipole moment (item 6-6) of a substance within a domain with volume `V` (ISO 80000-3, item 3-4)
|
|
211
|
+
* remarks: See IEC 60050-121, item 121-11-37.
|
|
212
|
+
*/
|
|
213
|
+
attribute :>> num: Real;
|
|
214
|
+
attribute :>> mRef: ElectricPolarizationUnit[1];
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
attribute electricPolarization: ElectricPolarizationValue[*] nonunique :> scalarQuantities;
|
|
218
|
+
|
|
219
|
+
attribute def ElectricPolarizationUnit :> DerivedUnit {
|
|
220
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
221
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
|
|
222
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
223
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF, electricCurrentPF); }
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
attribute def CartesianElectricPolarization3dVector :> '3dVectorQuantityValue' {
|
|
227
|
+
doc
|
|
228
|
+
/*
|
|
229
|
+
* source: item 6-7 electric polarization (vector)
|
|
230
|
+
* symbol(s): `vec(P)`
|
|
231
|
+
* application domain: generic
|
|
232
|
+
* name: ElectricPolarization
|
|
233
|
+
* quantity dimension: L^-2*T^1*I^1
|
|
234
|
+
* measurement unit(s): C/m^2
|
|
235
|
+
* tensor order: 1
|
|
236
|
+
* definition: `vec(P) = (d vec(p))/(dV)` where `vec(p)` is electric dipole moment (item 6-6) of a substance within a domain with volume `V` (ISO 80000-3, item 3-4)
|
|
237
|
+
* remarks: See IEC 60050-121, item 121-11-37.
|
|
238
|
+
*/
|
|
239
|
+
attribute :>> isBound = false;
|
|
240
|
+
attribute :>> mRef: CartesianElectricPolarization3dCoordinateFrame[1];
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
attribute cartesianElectricPolarization3dVector: CartesianElectricPolarization3dVector :> vectorQuantities;
|
|
244
|
+
|
|
245
|
+
attribute def CartesianElectricPolarization3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
246
|
+
attribute :>> isBound = false;
|
|
247
|
+
attribute :>> isOrthogonal = true;
|
|
248
|
+
attribute :>> mRefs: ElectricPolarizationUnit[3];
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/* IEC-80000-6 item 6-8 electric current density, areic electric current */
|
|
252
|
+
attribute def ElectricCurrentDensityValue :> ScalarQuantityValue {
|
|
253
|
+
doc
|
|
254
|
+
/*
|
|
255
|
+
* source: item 6-8 electric current density, areic electric current (magnitude)
|
|
256
|
+
* symbol(s): `J`
|
|
257
|
+
* application domain: generic
|
|
258
|
+
* name: ElectricCurrentDensity
|
|
259
|
+
* quantity dimension: L^-2*I^1
|
|
260
|
+
* measurement unit(s): A/m^2
|
|
261
|
+
* tensor order: 0
|
|
262
|
+
* definition: `vec(J) = ρ vec(v)` where `ρ` is electric charge density (item 6-3) and `vec(v)` is velocity (ISO 80000-3, item 3-8.1)
|
|
263
|
+
* remarks: Electric current `I` (item 6-1) through a surface `S` is `I = int_S vec(J) * vec(e_n) dA` where `vec(e_n) dA` is vector surface element. See IEC 60050-121, item 121-11-11.
|
|
264
|
+
*/
|
|
265
|
+
attribute :>> num: Real;
|
|
266
|
+
attribute :>> mRef: ElectricCurrentDensityUnit[1];
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
attribute electricCurrentDensity: ElectricCurrentDensityValue[*] nonunique :> scalarQuantities;
|
|
270
|
+
|
|
271
|
+
attribute def ElectricCurrentDensityUnit :> DerivedUnit {
|
|
272
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
273
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
274
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF); }
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
attribute def CartesianElectricCurrentDensity3dVector :> '3dVectorQuantityValue' {
|
|
278
|
+
doc
|
|
279
|
+
/*
|
|
280
|
+
* source: item 6-8 electric current density, areic electric current (vector)
|
|
281
|
+
* symbol(s): `vec(J)`
|
|
282
|
+
* application domain: generic
|
|
283
|
+
* name: ElectricCurrentDensity
|
|
284
|
+
* quantity dimension: L^-2*I^1
|
|
285
|
+
* measurement unit(s): A/m^2
|
|
286
|
+
* tensor order: 1
|
|
287
|
+
* definition: `vec(J) = ρ vec(v)` where `ρ` is electric charge density (item 6-3) and `vec(v)` is velocity (ISO 80000-3, item 3-8.1)
|
|
288
|
+
* remarks: Electric current `I` (item 6-1) through a surface `S` is `I = int_S vec(J) * vec(e_n) dA` where `vec(e_n) dA` is vector surface element. See IEC 60050-121, item 121-11-11.
|
|
289
|
+
*/
|
|
290
|
+
attribute :>> isBound = false;
|
|
291
|
+
attribute :>> mRef: CartesianElectricCurrentDensity3dCoordinateFrame[1];
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
attribute cartesianElectricCurrentDensity3dVector: CartesianElectricCurrentDensity3dVector :> vectorQuantities;
|
|
295
|
+
|
|
296
|
+
attribute def CartesianElectricCurrentDensity3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
297
|
+
attribute :>> isBound = false;
|
|
298
|
+
attribute :>> isOrthogonal = true;
|
|
299
|
+
attribute :>> mRefs: ElectricCurrentDensityUnit[3];
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
alias CartesianAreicElectricCurrent3dCoordinateFrame for CartesianElectricCurrentDensity3dCoordinateFrame;
|
|
303
|
+
alias cartesianAreicElectricCurrent3dVector for cartesianElectricCurrentDensity3dVector;
|
|
304
|
+
|
|
305
|
+
/* IEC-80000-6 item 6-9 linear electric current density, lineic electric current */
|
|
306
|
+
attribute def LinearElectricCurrentDensityValue :> ScalarQuantityValue {
|
|
307
|
+
doc
|
|
308
|
+
/*
|
|
309
|
+
* source: item 6-9 linear electric current density, lineic electric current (magnitude)
|
|
310
|
+
* symbol(s): `J_S`
|
|
311
|
+
* application domain: generic
|
|
312
|
+
* name: LinearElectricCurrentDensity
|
|
313
|
+
* quantity dimension: L^-1*I^1
|
|
314
|
+
* measurement unit(s): A/m
|
|
315
|
+
* tensor order: 0
|
|
316
|
+
* definition: `vec(J_S) = ρ_A vec(v)` where `ρ_A` is surface density of electric charge (item 6-4) and `vec(v)` is velocity (ISO 80000-3, item 3-8.1)
|
|
317
|
+
* remarks: Electric current `I` (item 6-1) through a curve `C` on a surface is `I = int_C vec(J_S) xx vec(e_n) * d vec(r)` where `vec(e_n)` is a unit vector perpendicular to the surface and line vector element and `d vec(r)` is the differential of position vector `vec(r)`. See IEC 60050-121, item 121-11-12.
|
|
318
|
+
*/
|
|
319
|
+
attribute :>> num: Real;
|
|
320
|
+
attribute :>> mRef: LinearElectricCurrentDensityUnit[1];
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
attribute linearElectricCurrentDensity: LinearElectricCurrentDensityValue[*] nonunique :> scalarQuantities;
|
|
324
|
+
|
|
325
|
+
attribute def LinearElectricCurrentDensityUnit :> DerivedUnit {
|
|
326
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
327
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
328
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF); }
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
attribute def CartesianLinearElectricCurrentDensity3dVector :> '3dVectorQuantityValue' {
|
|
332
|
+
doc
|
|
333
|
+
/*
|
|
334
|
+
* source: item 6-9 linear electric current density, lineic electric current (vector)
|
|
335
|
+
* symbol(s): `vec(J_S)`
|
|
336
|
+
* application domain: generic
|
|
337
|
+
* name: LinearElectricCurrentDensity
|
|
338
|
+
* quantity dimension: L^-1*I^1
|
|
339
|
+
* measurement unit(s): A/m
|
|
340
|
+
* tensor order: 1
|
|
341
|
+
* definition: `vec(J_S) = ρ_A vec(v)` where `ρ_A` is surface density of electric charge (item 6-4) and `vec(v)` is velocity (ISO 80000-3, item 3-8.1)
|
|
342
|
+
* remarks: Electric current `I` (item 6-1) through a curve `C` on a surface is `I = int_C vec(J_S) xx vec(e_n) * d vec(r)` where `vec(e_n)` is a unit vector perpendicular to the surface and line vector element and `d vec(r)` is the differential of position vector `vec(r)`. See IEC 60050-121, item 121-11-12.
|
|
343
|
+
*/
|
|
344
|
+
attribute :>> isBound = false;
|
|
345
|
+
attribute :>> mRef: CartesianLinearElectricCurrentDensity3dCoordinateFrame[1];
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
attribute cartesianLinearElectricCurrentDensity3dVector: CartesianLinearElectricCurrentDensity3dVector :> vectorQuantities;
|
|
349
|
+
|
|
350
|
+
attribute def CartesianLinearElectricCurrentDensity3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
351
|
+
attribute :>> isBound = false;
|
|
352
|
+
attribute :>> isOrthogonal = true;
|
|
353
|
+
attribute :>> mRefs: LinearElectricCurrentDensityUnit[3];
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
alias CartesianLineicElectricCurrent3dCoordinateFrame for CartesianLinearElectricCurrentDensity3dCoordinateFrame;
|
|
357
|
+
alias cartesianLineicElectricCurrent3dVector for cartesianLinearElectricCurrentDensity3dVector;
|
|
358
|
+
|
|
359
|
+
/* IEC-80000-6 item 6-10 electric field strength */
|
|
360
|
+
attribute def ElectricFieldStrengthValue :> ScalarQuantityValue {
|
|
361
|
+
doc
|
|
362
|
+
/*
|
|
363
|
+
* source: item 6-10 electric field strength (magnitude)
|
|
364
|
+
* symbol(s): `E`
|
|
365
|
+
* application domain: generic
|
|
366
|
+
* name: ElectricFieldStrength
|
|
367
|
+
* quantity dimension: L^1*M^1*T^-3*I^-1
|
|
368
|
+
* measurement unit(s): V/m
|
|
369
|
+
* tensor order: 0
|
|
370
|
+
* definition: `vec(E) = vec(F)/q` where `vec(F)` is force (ISO 80000-4, item 4-9.1) and `q` is electric charge (item 6-2)
|
|
371
|
+
* remarks: See IEC 60050, item 121-11-18. `q` is the charge of a test particle at rest.
|
|
372
|
+
*/
|
|
373
|
+
attribute :>> num: Real;
|
|
374
|
+
attribute :>> mRef: ElectricFieldStrengthUnit[1];
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
attribute electricFieldStrength: ElectricFieldStrengthValue[*] nonunique :> scalarQuantities;
|
|
378
|
+
|
|
379
|
+
attribute def ElectricFieldStrengthUnit :> DerivedUnit {
|
|
380
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
381
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
382
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
383
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
384
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
attribute def CartesianElectricFieldStrength3dVector :> '3dVectorQuantityValue' {
|
|
388
|
+
doc
|
|
389
|
+
/*
|
|
390
|
+
* source: item 6-10 electric field strength (vector)
|
|
391
|
+
* symbol(s): `vec(E)`
|
|
392
|
+
* application domain: generic
|
|
393
|
+
* name: ElectricFieldStrength
|
|
394
|
+
* quantity dimension: L^1*M^1*T^-3*I^-1
|
|
395
|
+
* measurement unit(s): V/m
|
|
396
|
+
* tensor order: 1
|
|
397
|
+
* definition: `vec(E) = vec(F)/q` where `vec(F)` is force (ISO 80000-4, item 4-9.1) and `q` is electric charge (item 6-2)
|
|
398
|
+
* remarks: See IEC 60050, item 121-11-18. `q` is the charge of a test particle at rest.
|
|
399
|
+
*/
|
|
400
|
+
attribute :>> isBound = false;
|
|
401
|
+
attribute :>> mRef: CartesianElectricFieldStrength3dCoordinateFrame[1];
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
attribute cartesianElectricFieldStrength3dVector: CartesianElectricFieldStrength3dVector :> vectorQuantities;
|
|
405
|
+
|
|
406
|
+
attribute def CartesianElectricFieldStrength3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
407
|
+
attribute :>> isBound = false;
|
|
408
|
+
attribute :>> isOrthogonal = true;
|
|
409
|
+
attribute :>> mRefs: ElectricFieldStrengthUnit[3];
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
/* IEC-80000-6 item 6-11.1 electric potential */
|
|
413
|
+
attribute def ElectricPotentialValue :> ScalarQuantityValue {
|
|
414
|
+
doc
|
|
415
|
+
/*
|
|
416
|
+
* source: item 6-11.1 electric potential
|
|
417
|
+
* symbol(s): `V`, `φ`
|
|
418
|
+
* application domain: generic
|
|
419
|
+
* name: ElectricPotential
|
|
420
|
+
* quantity dimension: L^2*M^1*T^-3*I^-1
|
|
421
|
+
* measurement unit(s): V
|
|
422
|
+
* tensor order: 0
|
|
423
|
+
* definition: `-grad(V) = vec(E) + (del A)/(del t)` where `vec(E)` is electric field strength (item 610), `A` is magnetic vector potential (item 6-32) and `t` is time (ISO 80000-3, item 3-7)
|
|
424
|
+
* remarks: The electric potential is not unique, since any constant scalar field quantity can be added to it without changing its gradient. See IEC 60050-121, item 121-11-25.
|
|
425
|
+
*/
|
|
426
|
+
attribute :>> num: Real;
|
|
427
|
+
attribute :>> mRef: ElectricPotentialUnit[1];
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
attribute electricPotential: ElectricPotentialValue[*] nonunique :> scalarQuantities;
|
|
431
|
+
|
|
432
|
+
attribute def ElectricPotentialUnit :> DerivedUnit {
|
|
433
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
434
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
435
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
436
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
437
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
/* IEC-80000-6 item 6-11.2 electric potential difference */
|
|
441
|
+
attribute def ElectricPotentialDifferenceValue :> ScalarQuantityValue {
|
|
442
|
+
doc
|
|
443
|
+
/*
|
|
444
|
+
* source: item 6-11.2 electric potential difference
|
|
445
|
+
* symbol(s): `V_(ab)`
|
|
446
|
+
* application domain: generic
|
|
447
|
+
* name: ElectricPotentialDifference
|
|
448
|
+
* quantity dimension: L^2*M^1*T^-3*I^-1
|
|
449
|
+
* measurement unit(s): V
|
|
450
|
+
* tensor order: 0
|
|
451
|
+
* definition: `V_(ab) = int_(vec(r_a))^(vec(r_b)) (vec(E) + (del A)/(del t)) * d vec(r)` where `vec(E)` is electric field strength (item 610), `A` is magnetic vector potential (item 6-32), `t` is time (ISO 80000-3, item 3-7), and `vec(r)` is position vector (ISO 80000-3, item 3-1.11) along a given curve `C` from point `a` to point `b`
|
|
452
|
+
* remarks: `V_(ab) = V_a - V_b` where `V_a` and `V_b` are the potentials at points `a` and `b`, respectively. See IEC 60050-121, item 121-11-26.
|
|
453
|
+
*/
|
|
454
|
+
attribute :>> num: Real;
|
|
455
|
+
attribute :>> mRef: ElectricPotentialDifferenceUnit[1];
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
attribute electricPotentialDifference: ElectricPotentialDifferenceValue[*] nonunique :> scalarQuantities;
|
|
459
|
+
|
|
460
|
+
attribute def ElectricPotentialDifferenceUnit :> DerivedUnit {
|
|
461
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
462
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
463
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
464
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
465
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
/* IEC-80000-6 item 6-11.3 voltage, electric tension */
|
|
469
|
+
attribute voltage: ElectricPotentialDifferenceValue :> scalarQuantities {
|
|
470
|
+
doc
|
|
471
|
+
/*
|
|
472
|
+
* source: item 6-11.3 voltage, electric tension
|
|
473
|
+
* symbol(s): `U`, `U_(ab)`
|
|
474
|
+
* application domain: generic
|
|
475
|
+
* name: Voltage (specializes ElectricPotentialDifference)
|
|
476
|
+
* quantity dimension: L^2*M^1*T^-3*I^-1
|
|
477
|
+
* measurement unit(s): V
|
|
478
|
+
* tensor order: 0
|
|
479
|
+
* definition: in electric circuit theory, `U_(ab) = V_a - V_b` where `V_a` and `V_b` are the electric potentials (item 6-11.1) at points `a` and `b`, respectively
|
|
480
|
+
* remarks: For an electric field within a medium `U_(ab) = int_(vec(r_a) (C))^(vec(r_b)) vec(E) * d vec(r)` where `vec(E)` is electric field strength (item 6-10) and `vec(r)` is position vector (ISO 80000-3, item 3-1.11) along a given curve `C` from point `a` to point `b`. For an irrotational electric field, the voltage is independent of the path between the two points `a` and `b`. See IEC 60050-121, item 121-11-27.
|
|
481
|
+
*/
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
alias electricTension for voltage;
|
|
485
|
+
|
|
486
|
+
/* IEC-80000-6 item 6-12 electric flux density, electric displacement */
|
|
487
|
+
attribute def ElectricFluxDensityValue :> ScalarQuantityValue {
|
|
488
|
+
doc
|
|
489
|
+
/*
|
|
490
|
+
* source: item 6-12 electric flux density, electric displacement (magnitude)
|
|
491
|
+
* symbol(s): `D`
|
|
492
|
+
* application domain: generic
|
|
493
|
+
* name: ElectricFluxDensity
|
|
494
|
+
* quantity dimension: L^-2*T^1*I^1
|
|
495
|
+
* measurement unit(s): C/m^2
|
|
496
|
+
* tensor order: 0
|
|
497
|
+
* definition: `vec(D) = ε_0 vec(E) + vec(P)` where `ε_0` is the electric constant (item 6-14.1 ), `vec(E)` is electric field strength (item 6-10), and `vec(P)` is electric polarization (item 6-7)
|
|
498
|
+
* remarks: The electric flux density is related to electric charge density via `nabla * vec(D) = ρ` where `nabla * vec(D)` denotes the divergence of `vec(D)`. See IEC 60050-121, item 121-11-40.
|
|
499
|
+
*/
|
|
500
|
+
attribute :>> num: Real;
|
|
501
|
+
attribute :>> mRef: ElectricFluxDensityUnit[1];
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
attribute electricFluxDensity: ElectricFluxDensityValue[*] nonunique :> scalarQuantities;
|
|
505
|
+
|
|
506
|
+
attribute def ElectricFluxDensityUnit :> DerivedUnit {
|
|
507
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
508
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
|
|
509
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
510
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF, electricCurrentPF); }
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
attribute def CartesianElectricFluxDensity3dVector :> '3dVectorQuantityValue' {
|
|
514
|
+
doc
|
|
515
|
+
/*
|
|
516
|
+
* source: item 6-12 electric flux density, electric displacement (vector)
|
|
517
|
+
* symbol(s): `vec(D)`
|
|
518
|
+
* application domain: generic
|
|
519
|
+
* name: ElectricFluxDensity
|
|
520
|
+
* quantity dimension: L^-2*T^1*I^1
|
|
521
|
+
* measurement unit(s): C/m^2
|
|
522
|
+
* tensor order: 1
|
|
523
|
+
* definition: `vec(D) = ε_0 vec(E) + vec(P)` where `ε_0` is the electric constant (item 6-14.1 ), `vec(E)` is electric field strength (item 6-10), and `vec(P)` is electric polarization (item 6-7)
|
|
524
|
+
* remarks: The electric flux density is related to electric charge density via `nabla * vec(D) = ρ` where `nabla * vec(D)` denotes the divergence of `vec(D)`. See IEC 60050-121, item 121-11-40.
|
|
525
|
+
*/
|
|
526
|
+
attribute :>> isBound = false;
|
|
527
|
+
attribute :>> mRef: CartesianElectricFluxDensity3dCoordinateFrame[1];
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
attribute cartesianElectricFluxDensity3dVector: CartesianElectricFluxDensity3dVector :> vectorQuantities;
|
|
531
|
+
|
|
532
|
+
attribute def CartesianElectricFluxDensity3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
533
|
+
attribute :>> isBound = false;
|
|
534
|
+
attribute :>> isOrthogonal = true;
|
|
535
|
+
attribute :>> mRefs: ElectricFluxDensityUnit[3];
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
alias CartesianElectricDisplacement3dCoordinateFrame for CartesianElectricFluxDensity3dCoordinateFrame;
|
|
539
|
+
alias cartesianElectricDisplacement3dVector for cartesianElectricFluxDensity3dVector;
|
|
540
|
+
|
|
541
|
+
/* IEC-80000-6 item 6-13 capacitance */
|
|
542
|
+
attribute def CapacitanceValue :> ScalarQuantityValue {
|
|
543
|
+
doc
|
|
544
|
+
/*
|
|
545
|
+
* source: item 6-13 capacitance
|
|
546
|
+
* symbol(s): `C`
|
|
547
|
+
* application domain: generic
|
|
548
|
+
* name: Capacitance
|
|
549
|
+
* quantity dimension: L^-2*M^-1*T^4*I^2
|
|
550
|
+
* measurement unit(s): F
|
|
551
|
+
* tensor order: 0
|
|
552
|
+
* definition: `C = Q/U` where `Q` is electric charge (item 6-2) and `U` is voltage (6-11.3)
|
|
553
|
+
* remarks: See IEC 60050-131, item 131-12-13.
|
|
554
|
+
*/
|
|
555
|
+
attribute :>> num: Real;
|
|
556
|
+
attribute :>> mRef: CapacitanceUnit[1];
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
attribute capacitance: CapacitanceValue[*] nonunique :> scalarQuantities;
|
|
560
|
+
|
|
561
|
+
attribute def CapacitanceUnit :> DerivedUnit {
|
|
562
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
563
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
564
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 4; }
|
|
565
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
566
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
/* IEC-80000-6 item 6-14.1 electric constant, permittivity of vacuum */
|
|
570
|
+
attribute def ElectricConstantValue :> ScalarQuantityValue {
|
|
571
|
+
doc
|
|
572
|
+
/*
|
|
573
|
+
* source: item 6-14.1 electric constant, permittivity of vacuum
|
|
574
|
+
* symbol(s): `ε_0`
|
|
575
|
+
* application domain: generic
|
|
576
|
+
* name: ElectricConstant
|
|
577
|
+
* quantity dimension: L^-3*M^-1*T^4*I^2
|
|
578
|
+
* measurement unit(s): F/m
|
|
579
|
+
* tensor order: 0
|
|
580
|
+
* definition: `ε_0 = 1 / (μ_0 * c_0^2)` where `μ_0` is the magnetic constant (item 6-26.1) and `c_0` is the speed of light (item 6-35.2)
|
|
581
|
+
* remarks: `ε_0 = 8.854188 * 10^-12` F/m. See IEC 60050-121, item 121-11-03.
|
|
582
|
+
*/
|
|
583
|
+
attribute :>> num: Real;
|
|
584
|
+
attribute :>> mRef: ElectricConstantUnit[1];
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
attribute electricConstant: ElectricConstantValue[*] nonunique :> scalarQuantities;
|
|
588
|
+
|
|
589
|
+
attribute def ElectricConstantUnit :> DerivedUnit {
|
|
590
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
|
|
591
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
592
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 4; }
|
|
593
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
594
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
alias PermittivityOfVacuumUnit for ElectricConstantUnit;
|
|
598
|
+
alias PermittivityOfVacuumValue for ElectricConstantValue;
|
|
599
|
+
alias permittivityOfVacuum for electricConstant;
|
|
600
|
+
|
|
601
|
+
/* IEC-80000-6 item 6-14.2 permittivity */
|
|
602
|
+
attribute def PermittivityValue :> ScalarQuantityValue {
|
|
603
|
+
doc
|
|
604
|
+
/*
|
|
605
|
+
* source: item 6-14.2 permittivity
|
|
606
|
+
* symbol(s): `ε`
|
|
607
|
+
* application domain: generic
|
|
608
|
+
* name: Permittivity
|
|
609
|
+
* quantity dimension: L^-3*M^-1*T^4*I^2
|
|
610
|
+
* measurement unit(s): F/m
|
|
611
|
+
* tensor order: 0
|
|
612
|
+
* definition: `vec(D) = ε vec(E)` where `vec(D)` is electric flux density (item 6-12) and `vec(E)` is electric field strength (item 6-10)
|
|
613
|
+
* remarks: This definition applies to an isotropic medium. For an anisotropic medium, permittivity is a second order tensor. See IEC 60050-121, item 121-12-12.
|
|
614
|
+
*/
|
|
615
|
+
attribute :>> num: Real;
|
|
616
|
+
attribute :>> mRef: PermittivityUnit[1];
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
attribute permittivity: PermittivityValue[*] nonunique :> scalarQuantities;
|
|
620
|
+
|
|
621
|
+
attribute def PermittivityUnit :> DerivedUnit {
|
|
622
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
|
|
623
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
624
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 4; }
|
|
625
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
626
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
/* IEC-80000-6 item 6-15 relative permittivity */
|
|
630
|
+
attribute def RelativePermittivityValue :> DimensionOneValue {
|
|
631
|
+
doc
|
|
632
|
+
/*
|
|
633
|
+
* source: item 6-15 relative permittivity
|
|
634
|
+
* symbol(s): `ε_r`
|
|
635
|
+
* application domain: generic
|
|
636
|
+
* name: RelativePermittivity (specializes DimensionOneQuantity)
|
|
637
|
+
* quantity dimension: 1
|
|
638
|
+
* measurement unit(s): 1
|
|
639
|
+
* tensor order: 0
|
|
640
|
+
* definition: `ε_r = ε / ε_0` where `ε` is permittivity (item 6-14.2) and `ε_0` is the electric constant (item 6-14.1)
|
|
641
|
+
* remarks: See IEC 60050-121, item 121-12-13.
|
|
642
|
+
*/
|
|
643
|
+
}
|
|
644
|
+
attribute relativePermittivity: RelativePermittivityValue :> scalarQuantities;
|
|
645
|
+
|
|
646
|
+
/* IEC-80000-6 item 6-16 electric susceptibility */
|
|
647
|
+
attribute def ElectricSusceptibilityValue :> DimensionOneValue {
|
|
648
|
+
doc
|
|
649
|
+
/*
|
|
650
|
+
* source: item 6-16 electric susceptibility
|
|
651
|
+
* symbol(s): `χ`
|
|
652
|
+
* application domain: generic
|
|
653
|
+
* name: ElectricSusceptibility (specializes DimensionOneQuantity)
|
|
654
|
+
* quantity dimension: 1
|
|
655
|
+
* measurement unit(s): 1
|
|
656
|
+
* tensor order: 0
|
|
657
|
+
* definition: `vec(P) = ε_0 χ vec(E)` where `vec(P)` is electric polarization (item 6-7), `ε_0` is the electric constant (item 6-14. 1) and `vec(E)` is electric field strength (item 6-10)
|
|
658
|
+
* remarks: `χ = ε_r - 1`. The definition applies to an isotropic medium. For an anisotropic medium, electric susceptibility is a second order tensor. See IEC 60050-121, item 121-12-19.
|
|
659
|
+
*/
|
|
660
|
+
}
|
|
661
|
+
attribute electricSusceptibility: ElectricSusceptibilityValue :> scalarQuantities;
|
|
662
|
+
|
|
663
|
+
/* IEC-80000-6 item 6-17 electric flux */
|
|
664
|
+
attribute def ElectricFluxValue :> ScalarQuantityValue {
|
|
665
|
+
doc
|
|
666
|
+
/*
|
|
667
|
+
* source: item 6-17 electric flux
|
|
668
|
+
* symbol(s): `Ψ`
|
|
669
|
+
* application domain: generic
|
|
670
|
+
* name: ElectricFlux
|
|
671
|
+
* quantity dimension: T^1*I^1
|
|
672
|
+
* measurement unit(s): C
|
|
673
|
+
* tensor order: 0
|
|
674
|
+
* definition: `Ψ = int_S vec(D) * vec(e_n) dA` over a surface `S`, where `vec(D)` is electric flux (item 6-12) en `vec(e_n) dA` is the vector surface element (ISO 80000-3 item 3-3)
|
|
675
|
+
* remarks: See IEC 60050-121, item 121-11-41.
|
|
676
|
+
*/
|
|
677
|
+
attribute :>> num: Real;
|
|
678
|
+
attribute :>> mRef: ElectricFluxUnit[1];
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
attribute electricFlux: ElectricFluxValue[*] nonunique :> scalarQuantities;
|
|
682
|
+
|
|
683
|
+
attribute def ElectricFluxUnit :> DerivedUnit {
|
|
684
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 1; }
|
|
685
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
686
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (durationPF, electricCurrentPF); }
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
/* IEC-80000-6 item 6-18 displacement current density */
|
|
690
|
+
attribute def DisplacementCurrentDensityValue :> ScalarQuantityValue {
|
|
691
|
+
doc
|
|
692
|
+
/*
|
|
693
|
+
* source: item 6-18 displacement current density (magnitude)
|
|
694
|
+
* symbol(s): `J_D`
|
|
695
|
+
* application domain: generic
|
|
696
|
+
* name: DisplacementCurrentDensity
|
|
697
|
+
* quantity dimension: L^-2*I^1
|
|
698
|
+
* measurement unit(s): A/m^2
|
|
699
|
+
* tensor order: 0
|
|
700
|
+
* definition: `vec(J_D) = (del vec(D))/(del t)` where `vec(D)` is electric flux density (item 6-12) and `t` is time (ISO 80000-3, item 3-7)
|
|
701
|
+
* remarks: See IEC 60050-121, item 121-11-42.
|
|
702
|
+
*/
|
|
703
|
+
attribute :>> num: Real;
|
|
704
|
+
attribute :>> mRef: DisplacementCurrentDensityUnit[1];
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
attribute displacementCurrentDensity: DisplacementCurrentDensityValue[*] nonunique :> scalarQuantities;
|
|
708
|
+
|
|
709
|
+
attribute def DisplacementCurrentDensityUnit :> DerivedUnit {
|
|
710
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
711
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
712
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF); }
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
attribute def CartesianDisplacementCurrentDensity3dVector :> '3dVectorQuantityValue' {
|
|
716
|
+
doc
|
|
717
|
+
/*
|
|
718
|
+
* source: item 6-18 displacement current density (vector)
|
|
719
|
+
* symbol(s): `vec(J_D)`
|
|
720
|
+
* application domain: generic
|
|
721
|
+
* name: DisplacementCurrentDensity
|
|
722
|
+
* quantity dimension: L^-2*I^1
|
|
723
|
+
* measurement unit(s): A/m^2
|
|
724
|
+
* tensor order: 1
|
|
725
|
+
* definition: `vec(J_D) = (del vec(D))/(del t)` where `vec(D)` is electric flux density (item 6-12) and `t` is time (ISO 80000-3, item 3-7)
|
|
726
|
+
* remarks: See IEC 60050-121, item 121-11-42.
|
|
727
|
+
*/
|
|
728
|
+
attribute :>> isBound = false;
|
|
729
|
+
attribute :>> mRef: CartesianDisplacementCurrentDensity3dCoordinateFrame[1];
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
attribute cartesianDisplacementCurrentDensity3dVector: CartesianDisplacementCurrentDensity3dVector :> vectorQuantities;
|
|
733
|
+
|
|
734
|
+
attribute def CartesianDisplacementCurrentDensity3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
735
|
+
attribute :>> isBound = false;
|
|
736
|
+
attribute :>> isOrthogonal = true;
|
|
737
|
+
attribute :>> mRefs: DisplacementCurrentDensityUnit[3];
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
/* IEC-80000-6 item 6-19.1 displacement current */
|
|
741
|
+
attribute displacementCurrent: ElectricCurrentValue :> scalarQuantities {
|
|
742
|
+
doc
|
|
743
|
+
/*
|
|
744
|
+
* source: item 6-19.1 displacement current
|
|
745
|
+
* symbol(s): `I_D`
|
|
746
|
+
* application domain: generic
|
|
747
|
+
* name: DisplacementCurrent (specializes ElectricCurrent)
|
|
748
|
+
* quantity dimension: I^1
|
|
749
|
+
* measurement unit(s): A
|
|
750
|
+
* tensor order: 0
|
|
751
|
+
* definition: `I = int_S vec(J_D) * vec(e_n) dA` over a surface `S`, where `vec(J_D)` is displacement current density (item 6-18) en `vec(e_n) dA` is the vector surface element (ISO 80000-3 item 3-3)
|
|
752
|
+
* remarks: See IEC 60050-121, item 121-11-43.
|
|
753
|
+
*/
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
/* IEC-80000-6 item 6-19.2 total current */
|
|
757
|
+
attribute totalCurrent: ElectricCurrentValue :> scalarQuantities {
|
|
758
|
+
doc
|
|
759
|
+
/*
|
|
760
|
+
* source: item 6-19.2 total current
|
|
761
|
+
* symbol(s): `I_"tot"`, `I_t`
|
|
762
|
+
* application domain: generic
|
|
763
|
+
* name: TotalCurrent (specializes ElectricCurrent)
|
|
764
|
+
* quantity dimension: I^1
|
|
765
|
+
* measurement unit(s): A
|
|
766
|
+
* tensor order: 0
|
|
767
|
+
* definition: `I_(tot) = I + I_D` where `I` is electric current (item 6-1) and `I_D` is displacement current (item 6-19.1)
|
|
768
|
+
* remarks: See IEC 60050-121, item 121-11-45.
|
|
769
|
+
*/
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
/* IEC-80000-6 item 6-20 total current density */
|
|
773
|
+
attribute def TotalCurrentDensityValue :> ScalarQuantityValue {
|
|
774
|
+
doc
|
|
775
|
+
/*
|
|
776
|
+
* source: item 6-20 total current density (magnitude)
|
|
777
|
+
* symbol(s): `J_"tot"`, `J_t`
|
|
778
|
+
* application domain: generic
|
|
779
|
+
* name: TotalCurrentDensity
|
|
780
|
+
* quantity dimension: L^-2*I^1
|
|
781
|
+
* measurement unit(s): A/m^2
|
|
782
|
+
* tensor order: 0
|
|
783
|
+
* definition: `vec(J_(tot)) = vec(J) +vec(J_D)` where `vec(J)` is electric current density (item 6-8) and `vec(J_D)` is displacement current density (item 6-18)
|
|
784
|
+
* remarks: See IEC 60050-121, item 121-11-44.
|
|
785
|
+
*/
|
|
786
|
+
attribute :>> num: Real;
|
|
787
|
+
attribute :>> mRef: TotalCurrentDensityUnit[1];
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
attribute totalCurrentDensity: TotalCurrentDensityValue[*] nonunique :> scalarQuantities;
|
|
791
|
+
|
|
792
|
+
attribute def TotalCurrentDensityUnit :> DerivedUnit {
|
|
793
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
794
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
795
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF); }
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
attribute def CartesianTotalCurrentDensity3dVector :> '3dVectorQuantityValue' {
|
|
799
|
+
doc
|
|
800
|
+
/*
|
|
801
|
+
* source: item 6-20 total current density (vector)
|
|
802
|
+
* symbol(s): `vec(J_"tot")`, `vec(J_t)`
|
|
803
|
+
* application domain: generic
|
|
804
|
+
* name: TotalCurrentDensity
|
|
805
|
+
* quantity dimension: L^-2*I^1
|
|
806
|
+
* measurement unit(s): A/m^2
|
|
807
|
+
* tensor order: 1
|
|
808
|
+
* definition: `vec(J_(tot)) = vec(J) +vec(J_D)` where `vec(J)` is electric current density (item 6-8) and `vec(J_D)` is displacement current density (item 6-18)
|
|
809
|
+
* remarks: See IEC 60050-121, item 121-11-44.
|
|
810
|
+
*/
|
|
811
|
+
attribute :>> isBound = false;
|
|
812
|
+
attribute :>> mRef: CartesianTotalCurrentDensity3dCoordinateFrame[1];
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
attribute cartesianTotalCurrentDensity3dVector: CartesianTotalCurrentDensity3dVector :> vectorQuantities;
|
|
816
|
+
|
|
817
|
+
attribute def CartesianTotalCurrentDensity3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
818
|
+
attribute :>> isBound = false;
|
|
819
|
+
attribute :>> isOrthogonal = true;
|
|
820
|
+
attribute :>> mRefs: TotalCurrentDensityUnit[3];
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
/* IEC-80000-6 item 6-21 magnetic flux density */
|
|
824
|
+
attribute def MagneticFluxDensityValue :> ScalarQuantityValue {
|
|
825
|
+
doc
|
|
826
|
+
/*
|
|
827
|
+
* source: item 6-21 magnetic flux density (magnitude)
|
|
828
|
+
* symbol(s): `B`
|
|
829
|
+
* application domain: generic
|
|
830
|
+
* name: MagneticFluxDensity
|
|
831
|
+
* quantity dimension: M^1*T^-2*I^-1
|
|
832
|
+
* measurement unit(s): T
|
|
833
|
+
* tensor order: 0
|
|
834
|
+
* definition: `vec(F) = q vec(v) xx vec(B)` where `vec(F)` is force (ISO 80000-4, item 4-9.1) and `vec(v)` is velocity (ISO 80000-3, item 3-8.1) of any test particle with electric charge `q` (item 6-2)
|
|
835
|
+
* remarks: The magnetic flux density has zero divergence, `nabla * vec(B) = 0`. See IEC 60050-121, item 121-11-19.
|
|
836
|
+
*/
|
|
837
|
+
attribute :>> num: Real;
|
|
838
|
+
attribute :>> mRef: MagneticFluxDensityUnit[1];
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
attribute magneticFluxDensity: MagneticFluxDensityValue[*] nonunique :> scalarQuantities;
|
|
842
|
+
|
|
843
|
+
attribute def MagneticFluxDensityUnit :> DerivedUnit {
|
|
844
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
845
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
846
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
847
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (massPF, durationPF, electricCurrentPF); }
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
attribute def CartesianMagneticFluxDensity3dVector :> '3dVectorQuantityValue' {
|
|
851
|
+
doc
|
|
852
|
+
/*
|
|
853
|
+
* source: item 6-21 magnetic flux density (vector)
|
|
854
|
+
* symbol(s): `vec(B)`
|
|
855
|
+
* application domain: generic
|
|
856
|
+
* name: MagneticFluxDensity
|
|
857
|
+
* quantity dimension: M^1*T^-2*I^-1
|
|
858
|
+
* measurement unit(s): T
|
|
859
|
+
* tensor order: 1
|
|
860
|
+
* definition: `vec(F) = q vec(v) xx vec(B)` where `vec(F)` is force (ISO 80000-4, item 4-9.1) and `vec(v)` is velocity (ISO 80000-3, item 3-8.1) of any test particle with electric charge `q` (item 6-2)
|
|
861
|
+
* remarks: The magnetic flux density has zero divergence, `nabla * vec(B) = 0`. See IEC 60050-121, item 121-11-19.
|
|
862
|
+
*/
|
|
863
|
+
attribute :>> isBound = false;
|
|
864
|
+
attribute :>> mRef: CartesianMagneticFluxDensity3dCoordinateFrame[1];
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
attribute cartesianMagneticFluxDensity3dVector: CartesianMagneticFluxDensity3dVector :> vectorQuantities;
|
|
868
|
+
|
|
869
|
+
attribute def CartesianMagneticFluxDensity3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
870
|
+
attribute :>> isBound = false;
|
|
871
|
+
attribute :>> isOrthogonal = true;
|
|
872
|
+
attribute :>> mRefs: MagneticFluxDensityUnit[3];
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
/* IEC-80000-6 item 6-22.1 magnetic flux */
|
|
876
|
+
attribute def MagneticFluxValue :> ScalarQuantityValue {
|
|
877
|
+
doc
|
|
878
|
+
/*
|
|
879
|
+
* source: item 6-22.1 magnetic flux
|
|
880
|
+
* symbol(s): `Φ`
|
|
881
|
+
* application domain: generic
|
|
882
|
+
* name: MagneticFlux
|
|
883
|
+
* quantity dimension: L^2*M^1*T^-2*I^-1
|
|
884
|
+
* measurement unit(s): Wb
|
|
885
|
+
* tensor order: 0
|
|
886
|
+
* definition: `Φ = int_S vec(B) * vec(e_n) dA` over a surface `S`, where `vec(B)` is magnetic flux density (item 6-21) and `vec(e_n) dA` is vector surface element (ISO 80000-3, item 3-3)
|
|
887
|
+
* remarks: See IEC 60050-121, item 121-11-21.
|
|
888
|
+
*/
|
|
889
|
+
attribute :>> num: Real;
|
|
890
|
+
attribute :>> mRef: MagneticFluxUnit[1];
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
attribute magneticFlux: MagneticFluxValue[*] nonunique :> scalarQuantities;
|
|
894
|
+
|
|
895
|
+
attribute def MagneticFluxUnit :> DerivedUnit {
|
|
896
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
897
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
898
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
899
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
900
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
/* IEC-80000-6 item 6-22.2 linked flux */
|
|
904
|
+
attribute def LinkedFluxValue :> ScalarQuantityValue {
|
|
905
|
+
doc
|
|
906
|
+
/*
|
|
907
|
+
* source: item 6-22.2 linked flux
|
|
908
|
+
* symbol(s): `Ψ_m`, `Ψ`
|
|
909
|
+
* application domain: generic
|
|
910
|
+
* name: LinkedFlux
|
|
911
|
+
* quantity dimension: L^2*M^1*T^-2*I^-1
|
|
912
|
+
* measurement unit(s): Wb
|
|
913
|
+
* tensor order: 0
|
|
914
|
+
* definition: `Ψ_m = int_C vec(A) * d vec(r)` where `vec(A)` is magnetic vector potential (item 6-32) and `d vec(r)` is line vector element of the curve `C`
|
|
915
|
+
* remarks: Line vector element `d vec(r)` is the differential of position vector `vec(r)` (ISO 80000-3, item 3-1.11). See IEC 60050-121, item 121-11-24.
|
|
916
|
+
*/
|
|
917
|
+
attribute :>> num: Real;
|
|
918
|
+
attribute :>> mRef: LinkedFluxUnit[1];
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
attribute linkedFlux: LinkedFluxValue[*] nonunique :> scalarQuantities;
|
|
922
|
+
|
|
923
|
+
attribute def LinkedFluxUnit :> DerivedUnit {
|
|
924
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
925
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
926
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
927
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
928
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
/* IEC-80000-6 item 6-23 magnetic moment, magnetic area moment */
|
|
932
|
+
attribute def MagneticMomentValue :> ScalarQuantityValue {
|
|
933
|
+
doc
|
|
934
|
+
/*
|
|
935
|
+
* source: item 6-23 magnetic moment, magnetic area moment (magnitude)
|
|
936
|
+
* symbol(s): `m`
|
|
937
|
+
* application domain: generic
|
|
938
|
+
* name: MagneticMoment
|
|
939
|
+
* quantity dimension: L^2*I^1
|
|
940
|
+
* measurement unit(s): A*m^2
|
|
941
|
+
* tensor order: 0
|
|
942
|
+
* definition: `vec(m) = I vec(e_n) A` where `I` is electric current (item 6-1) in a small closed loop, `vec(e_n)` is a unit vector perpendicular to the loop, and `A` is area (ISO 80000-3, item 3-3) of the loop
|
|
943
|
+
* remarks: The magnetic moment of a substance within a domain is the vector sum of the magnetic moments of all entities included in the domain. See IEC 60050-121, items 121-11-49 and 121-11-50.
|
|
944
|
+
*/
|
|
945
|
+
attribute :>> num: Real;
|
|
946
|
+
attribute :>> mRef: MagneticMomentUnit[1];
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
attribute magneticMoment: MagneticMomentValue[*] nonunique :> scalarQuantities;
|
|
950
|
+
|
|
951
|
+
attribute def MagneticMomentUnit :> DerivedUnit {
|
|
952
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
953
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
954
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF); }
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
attribute def CartesianMagneticMoment3dVector :> '3dVectorQuantityValue' {
|
|
958
|
+
doc
|
|
959
|
+
/*
|
|
960
|
+
* source: item 6-23 magnetic moment, magnetic area moment (vector)
|
|
961
|
+
* symbol(s): `vec(m)`
|
|
962
|
+
* application domain: generic
|
|
963
|
+
* name: MagneticMoment
|
|
964
|
+
* quantity dimension: L^2*I^1
|
|
965
|
+
* measurement unit(s): A*m^2
|
|
966
|
+
* tensor order: 1
|
|
967
|
+
* definition: `vec(m) = I vec(e_n) A` where `I` is electric current (item 6-1) in a small closed loop, `vec(e_n)` is a unit vector perpendicular to the loop, and `A` is area (ISO 80000-3, item 3-3) of the loop
|
|
968
|
+
* remarks: The magnetic moment of a substance within a domain is the vector sum of the magnetic moments of all entities included in the domain. See IEC 60050-121, items 121-11-49 and 121-11-50.
|
|
969
|
+
*/
|
|
970
|
+
attribute :>> isBound = false;
|
|
971
|
+
attribute :>> mRef: CartesianMagneticMoment3dCoordinateFrame[1];
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
attribute cartesianMagneticMoment3dVector: CartesianMagneticMoment3dVector :> vectorQuantities;
|
|
975
|
+
|
|
976
|
+
attribute def CartesianMagneticMoment3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
977
|
+
attribute :>> isBound = false;
|
|
978
|
+
attribute :>> isOrthogonal = true;
|
|
979
|
+
attribute :>> mRefs: MagneticMomentUnit[3];
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
alias CartesianMagneticAreaMoment3dCoordinateFrame for CartesianMagneticMoment3dCoordinateFrame;
|
|
983
|
+
alias cartesianMagneticAreaMoment3dVector for cartesianMagneticMoment3dVector;
|
|
984
|
+
|
|
985
|
+
/* IEC-80000-6 item 6-24 magnetization */
|
|
986
|
+
attribute def MagnetizationValue :> ScalarQuantityValue {
|
|
987
|
+
doc
|
|
988
|
+
/*
|
|
989
|
+
* source: item 6-24 magnetization (magnitude)
|
|
990
|
+
* symbol(s): `M`, `H_i`
|
|
991
|
+
* application domain: generic
|
|
992
|
+
* name: Magnetization
|
|
993
|
+
* quantity dimension: L^-1*I^1
|
|
994
|
+
* measurement unit(s): A/m
|
|
995
|
+
* tensor order: 0
|
|
996
|
+
* definition: `vec(M) = (d vec(m)) / (dV)` where `vec(m)` is magnetic moment (item 6-23) of a substance in a domain with volume `V` (ISO 80000-3, item 3-4)
|
|
997
|
+
* remarks: See IEC 60050-121, item 121-11-52.
|
|
998
|
+
*/
|
|
999
|
+
attribute :>> num: Real;
|
|
1000
|
+
attribute :>> mRef: MagnetizationUnit[1];
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
attribute magnetization: MagnetizationValue[*] nonunique :> scalarQuantities;
|
|
1004
|
+
|
|
1005
|
+
attribute def MagnetizationUnit :> DerivedUnit {
|
|
1006
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
1007
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
1008
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF); }
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
attribute def CartesianMagnetization3dVector :> '3dVectorQuantityValue' {
|
|
1012
|
+
doc
|
|
1013
|
+
/*
|
|
1014
|
+
* source: item 6-24 magnetization (vector)
|
|
1015
|
+
* symbol(s): `vec(M)`, `vec(H_i)`
|
|
1016
|
+
* application domain: generic
|
|
1017
|
+
* name: Magnetization
|
|
1018
|
+
* quantity dimension: L^-1*I^1
|
|
1019
|
+
* measurement unit(s): A/m
|
|
1020
|
+
* tensor order: 1
|
|
1021
|
+
* definition: `vec(M) = (d vec(m)) / (dV)` where `vec(m)` is magnetic moment (item 6-23) of a substance in a domain with volume `V` (ISO 80000-3, item 3-4)
|
|
1022
|
+
* remarks: See IEC 60050-121, item 121-11-52.
|
|
1023
|
+
*/
|
|
1024
|
+
attribute :>> isBound = false;
|
|
1025
|
+
attribute :>> mRef: CartesianMagnetization3dCoordinateFrame[1];
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
attribute cartesianMagnetization3dVector: CartesianMagnetization3dVector :> vectorQuantities;
|
|
1029
|
+
|
|
1030
|
+
attribute def CartesianMagnetization3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
1031
|
+
attribute :>> isBound = false;
|
|
1032
|
+
attribute :>> isOrthogonal = true;
|
|
1033
|
+
attribute :>> mRefs: MagnetizationUnit[3];
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
/* IEC-80000-6 item 6-25 magnetic field strength, magnetizing field */
|
|
1037
|
+
attribute def MagneticFieldStrengthValue :> ScalarQuantityValue {
|
|
1038
|
+
doc
|
|
1039
|
+
/*
|
|
1040
|
+
* source: item 6-25 magnetic field strength, magnetizing field (magnitude)
|
|
1041
|
+
* symbol(s): `H`
|
|
1042
|
+
* application domain: generic
|
|
1043
|
+
* name: MagneticFieldStrength
|
|
1044
|
+
* quantity dimension: L^-1*I^1
|
|
1045
|
+
* measurement unit(s): A/m
|
|
1046
|
+
* tensor order: 0
|
|
1047
|
+
* definition: `vec(H) = vec(B)/μ_0 - vec(M)` where `vec(B)` is magnetic flux density (item 6-21), `μ_0` is the magnetic constant (item 6-26.1), and `vec(M)` is magnetization (item 6-24)
|
|
1048
|
+
* remarks: The magnetic field strength is related to the total current density `vec(J_(t ot))` (item 6-20) via `rot vec(H) = vec(J_(t ot))`. See IEC 60050-121, item 121-11-56.
|
|
1049
|
+
*/
|
|
1050
|
+
attribute :>> num: Real;
|
|
1051
|
+
attribute :>> mRef: MagneticFieldStrengthUnit[1];
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
attribute magneticFieldStrength: MagneticFieldStrengthValue[*] nonunique :> scalarQuantities;
|
|
1055
|
+
|
|
1056
|
+
attribute def MagneticFieldStrengthUnit :> DerivedUnit {
|
|
1057
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
1058
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
1059
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF); }
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
attribute def CartesianMagneticFieldStrength3dVector :> '3dVectorQuantityValue' {
|
|
1063
|
+
doc
|
|
1064
|
+
/*
|
|
1065
|
+
* source: item 6-25 magnetic field strength, magnetizing field (vector)
|
|
1066
|
+
* symbol(s): `vec(H)`
|
|
1067
|
+
* application domain: generic
|
|
1068
|
+
* name: MagneticFieldStrength
|
|
1069
|
+
* quantity dimension: L^-1*I^1
|
|
1070
|
+
* measurement unit(s): A/m
|
|
1071
|
+
* tensor order: 1
|
|
1072
|
+
* definition: `vec(H) = vec(B)/μ_0 - vec(M)` where `vec(B)` is magnetic flux density (item 6-21), `μ_0` is the magnetic constant (item 6-26.1), and `vec(M)` is magnetization (item 6-24)
|
|
1073
|
+
* remarks: The magnetic field strength is related to the total current density `vec(J_(t ot))` (item 6-20) via `rot vec(H) = vec(J_(t ot))`. See IEC 60050-121, item 121-11-56.
|
|
1074
|
+
*/
|
|
1075
|
+
attribute :>> isBound = false;
|
|
1076
|
+
attribute :>> mRef: CartesianMagneticFieldStrength3dCoordinateFrame[1];
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
attribute cartesianMagneticFieldStrength3dVector: CartesianMagneticFieldStrength3dVector :> vectorQuantities;
|
|
1080
|
+
|
|
1081
|
+
attribute def CartesianMagneticFieldStrength3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
1082
|
+
attribute :>> isBound = false;
|
|
1083
|
+
attribute :>> isOrthogonal = true;
|
|
1084
|
+
attribute :>> mRefs: MagneticFieldStrengthUnit[3];
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
alias CartesianMagnetizingField3dCoordinateFrame for CartesianMagneticFieldStrength3dCoordinateFrame;
|
|
1088
|
+
alias cartesianMagnetizingField3dVector for cartesianMagneticFieldStrength3dVector;
|
|
1089
|
+
|
|
1090
|
+
/* IEC-80000-6 item 6-26.1 magnetic constant, permeability of vacuum */
|
|
1091
|
+
attribute def MagneticConstantValue :> ScalarQuantityValue {
|
|
1092
|
+
doc
|
|
1093
|
+
/*
|
|
1094
|
+
* source: item 6-26.1 magnetic constant, permeability of vacuum
|
|
1095
|
+
* symbol(s): `μ_0`
|
|
1096
|
+
* application domain: generic
|
|
1097
|
+
* name: MagneticConstant
|
|
1098
|
+
* quantity dimension: L^1*M^1*T^-2*I^-2
|
|
1099
|
+
* measurement unit(s): H/m
|
|
1100
|
+
* tensor order: 0
|
|
1101
|
+
* definition: `μ_0 = 4 π * 10^-7` H/m
|
|
1102
|
+
* remarks: For this definition of `μ_0` see item 6-1.a. `μ_0 ~~ 1.256637 * 10^-6` H/m. See IEC 60050-121, item 121-11-14.
|
|
1103
|
+
*/
|
|
1104
|
+
attribute :>> num: Real;
|
|
1105
|
+
attribute :>> mRef: MagneticConstantUnit[1];
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
attribute magneticConstant: MagneticConstantValue[*] nonunique :> scalarQuantities;
|
|
1109
|
+
|
|
1110
|
+
attribute def MagneticConstantUnit :> DerivedUnit {
|
|
1111
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
1112
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1113
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
1114
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
1115
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
alias PermeabilityOfVacuumUnit for MagneticConstantUnit;
|
|
1119
|
+
alias PermeabilityOfVacuumValue for MagneticConstantValue;
|
|
1120
|
+
alias permeabilityOfVacuum for magneticConstant;
|
|
1121
|
+
|
|
1122
|
+
/* IEC-80000-6 item 6-26.2 permeability */
|
|
1123
|
+
attribute def PermeabilityValue :> ScalarQuantityValue {
|
|
1124
|
+
doc
|
|
1125
|
+
/*
|
|
1126
|
+
* source: item 6-26.2 permeability
|
|
1127
|
+
* symbol(s): `μ`
|
|
1128
|
+
* application domain: generic
|
|
1129
|
+
* name: Permeability
|
|
1130
|
+
* quantity dimension: L^1*M^1*T^-2*I^-2
|
|
1131
|
+
* measurement unit(s): H/m
|
|
1132
|
+
* tensor order: 0
|
|
1133
|
+
* definition: `vec(B) = μ vec(H)` where `vec(B)` is magnetic flux density (item 6-21) and `vec(H)` is magnetic field strength (item 6-25)
|
|
1134
|
+
* remarks: This definition applies to an isotropic medium. For an anisotropic medium permeability is a second order tensor. See IEC 60050-121, item 121-12-28.
|
|
1135
|
+
*/
|
|
1136
|
+
attribute :>> num: Real;
|
|
1137
|
+
attribute :>> mRef: PermeabilityUnit[1];
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
attribute permeability: PermeabilityValue[*] nonunique :> scalarQuantities;
|
|
1141
|
+
|
|
1142
|
+
attribute def PermeabilityUnit :> DerivedUnit {
|
|
1143
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
1144
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1145
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
1146
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
1147
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
/* IEC-80000-6 item 6-27 relative permeability */
|
|
1151
|
+
attribute def RelativePermeabilityValue :> DimensionOneValue {
|
|
1152
|
+
doc
|
|
1153
|
+
/*
|
|
1154
|
+
* source: item 6-27 relative permeability
|
|
1155
|
+
* symbol(s): `μ_r`
|
|
1156
|
+
* application domain: generic
|
|
1157
|
+
* name: RelativePermeability (specializes DimensionOneQuantity)
|
|
1158
|
+
* quantity dimension: 1
|
|
1159
|
+
* measurement unit(s): 1
|
|
1160
|
+
* tensor order: 0
|
|
1161
|
+
* definition: `μ_r = μ / μ_0` where `μ` is permeability (item 6-24) and `μ_0` is the magnetic constant (item 6-26.1)
|
|
1162
|
+
* remarks: See IEC 60050-121, item 121-12-29.
|
|
1163
|
+
*/
|
|
1164
|
+
}
|
|
1165
|
+
attribute relativePermeability: RelativePermeabilityValue :> scalarQuantities;
|
|
1166
|
+
|
|
1167
|
+
/* IEC-80000-6 item 6-28 magnetic susceptibility */
|
|
1168
|
+
attribute def MagneticSusceptibilityValue :> DimensionOneValue {
|
|
1169
|
+
doc
|
|
1170
|
+
/*
|
|
1171
|
+
* source: item 6-28 magnetic susceptibility
|
|
1172
|
+
* symbol(s): `κ`, `χ_m`
|
|
1173
|
+
* application domain: generic
|
|
1174
|
+
* name: MagneticSusceptibility (specializes DimensionOneQuantity)
|
|
1175
|
+
* quantity dimension: 1
|
|
1176
|
+
* measurement unit(s): 1
|
|
1177
|
+
* tensor order: 0
|
|
1178
|
+
* definition: `vec(M) = κ vec(H)` where `vec(M)` is magnetization (item 6-24) and `vec(H)` is magnetic field strength (item 6-25)
|
|
1179
|
+
* remarks: `κ = μ_r - 1` This definition applies to an isotropic medium. For an anisotropic medium magnetic susceptibility is a second order tensor. See IEC 60050-121, item 121-12-37.
|
|
1180
|
+
*/
|
|
1181
|
+
}
|
|
1182
|
+
attribute magneticSusceptibility: MagneticSusceptibilityValue :> scalarQuantities;
|
|
1183
|
+
|
|
1184
|
+
/* IEC-80000-6 item 6-29 magnetic polarization */
|
|
1185
|
+
attribute def MagneticPolarizationValue :> ScalarQuantityValue {
|
|
1186
|
+
doc
|
|
1187
|
+
/*
|
|
1188
|
+
* source: item 6-29 magnetic polarization (magnitude)
|
|
1189
|
+
* symbol(s): `J_m`
|
|
1190
|
+
* application domain: generic
|
|
1191
|
+
* name: MagneticPolarization
|
|
1192
|
+
* quantity dimension: M^1*T^-2*I^-1
|
|
1193
|
+
* measurement unit(s): T
|
|
1194
|
+
* tensor order: 0
|
|
1195
|
+
* definition: `vec(J_m) = μ_0 vec(M)` where `μ_0` is the magnetic constant (item 6-26.1), and `vec(M)` is magnetization (item 6-24)
|
|
1196
|
+
* remarks: See IEC 60050-121, item 121-11-54.
|
|
1197
|
+
*/
|
|
1198
|
+
attribute :>> num: Real;
|
|
1199
|
+
attribute :>> mRef: MagneticPolarizationUnit[1];
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
attribute magneticPolarization: MagneticPolarizationValue[*] nonunique :> scalarQuantities;
|
|
1203
|
+
|
|
1204
|
+
attribute def MagneticPolarizationUnit :> DerivedUnit {
|
|
1205
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1206
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
1207
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
1208
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (massPF, durationPF, electricCurrentPF); }
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
attribute def CartesianMagneticPolarization3dVector :> '3dVectorQuantityValue' {
|
|
1212
|
+
doc
|
|
1213
|
+
/*
|
|
1214
|
+
* source: item 6-29 magnetic polarization (vector)
|
|
1215
|
+
* symbol(s): `vec(J_m)`
|
|
1216
|
+
* application domain: generic
|
|
1217
|
+
* name: MagneticPolarization
|
|
1218
|
+
* quantity dimension: M^1*T^-2*I^-1
|
|
1219
|
+
* measurement unit(s): T
|
|
1220
|
+
* tensor order: 1
|
|
1221
|
+
* definition: `vec(J_m) = μ_0 vec(M)` where `μ_0` is the magnetic constant (item 6-26.1), and `vec(M)` is magnetization (item 6-24)
|
|
1222
|
+
* remarks: See IEC 60050-121, item 121-11-54.
|
|
1223
|
+
*/
|
|
1224
|
+
attribute :>> isBound = false;
|
|
1225
|
+
attribute :>> mRef: CartesianMagneticPolarization3dCoordinateFrame[1];
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
attribute cartesianMagneticPolarization3dVector: CartesianMagneticPolarization3dVector :> vectorQuantities;
|
|
1229
|
+
|
|
1230
|
+
attribute def CartesianMagneticPolarization3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
1231
|
+
attribute :>> isBound = false;
|
|
1232
|
+
attribute :>> isOrthogonal = true;
|
|
1233
|
+
attribute :>> mRefs: MagneticPolarizationUnit[3];
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
/* IEC-80000-6 item 6-30 magnetic dipole moment */
|
|
1237
|
+
attribute def MagneticDipoleMomentValue :> ScalarQuantityValue {
|
|
1238
|
+
doc
|
|
1239
|
+
/*
|
|
1240
|
+
* source: item 6-30 magnetic dipole moment (magnitude)
|
|
1241
|
+
* symbol(s): `j_m`, `j`
|
|
1242
|
+
* application domain: generic
|
|
1243
|
+
* name: MagneticDipoleMoment
|
|
1244
|
+
* quantity dimension: L^3*M^1*T^-2*I^-1
|
|
1245
|
+
* measurement unit(s): Wb*m
|
|
1246
|
+
* tensor order: 0
|
|
1247
|
+
* definition: `vec(j_m) = μ_0 vec(m)` where `μ_0` is the magnetic constant (item 6-26.1), and `vec(m)` is magnetic moment (item 6-23)
|
|
1248
|
+
* remarks: See IEC 60050-121, item 121-11-55.
|
|
1249
|
+
*/
|
|
1250
|
+
attribute :>> num: Real;
|
|
1251
|
+
attribute :>> mRef: MagneticDipoleMomentUnit[1];
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1254
|
+
attribute magneticDipoleMoment: MagneticDipoleMomentValue[*] nonunique :> scalarQuantities;
|
|
1255
|
+
|
|
1256
|
+
attribute def MagneticDipoleMomentUnit :> DerivedUnit {
|
|
1257
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 3; }
|
|
1258
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1259
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
1260
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
1261
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
attribute def CartesianMagneticDipoleMoment3dVector :> '3dVectorQuantityValue' {
|
|
1265
|
+
doc
|
|
1266
|
+
/*
|
|
1267
|
+
* source: item 6-30 magnetic dipole moment (vector)
|
|
1268
|
+
* symbol(s): `vec(j_m)`, `vec(j)`
|
|
1269
|
+
* application domain: generic
|
|
1270
|
+
* name: MagneticDipoleMoment
|
|
1271
|
+
* quantity dimension: L^3*M^1*T^-2*I^-1
|
|
1272
|
+
* measurement unit(s): Wb*m
|
|
1273
|
+
* tensor order: 1
|
|
1274
|
+
* definition: `vec(j_m) = μ_0 vec(m)` where `μ_0` is the magnetic constant (item 6-26.1), and `vec(m)` is magnetic moment (item 6-23)
|
|
1275
|
+
* remarks: See IEC 60050-121, item 121-11-55.
|
|
1276
|
+
*/
|
|
1277
|
+
attribute :>> isBound = false;
|
|
1278
|
+
attribute :>> mRef: CartesianMagneticDipoleMoment3dCoordinateFrame[1];
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
attribute cartesianMagneticDipoleMoment3dVector: CartesianMagneticDipoleMoment3dVector :> vectorQuantities;
|
|
1282
|
+
|
|
1283
|
+
attribute def CartesianMagneticDipoleMoment3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
1284
|
+
attribute :>> isBound = false;
|
|
1285
|
+
attribute :>> isOrthogonal = true;
|
|
1286
|
+
attribute :>> mRefs: MagneticDipoleMomentUnit[3];
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
/* IEC-80000-6 item 6-31 coercivity */
|
|
1290
|
+
attribute def CoercivityValue :> ScalarQuantityValue {
|
|
1291
|
+
doc
|
|
1292
|
+
/*
|
|
1293
|
+
* source: item 6-31 coercivity
|
|
1294
|
+
* symbol(s): `H_(c,B)`
|
|
1295
|
+
* application domain: generic
|
|
1296
|
+
* name: Coercivity
|
|
1297
|
+
* quantity dimension: L^-1*I^1
|
|
1298
|
+
* measurement unit(s): A/m
|
|
1299
|
+
* tensor order: 0
|
|
1300
|
+
* definition: magnetic field strength (item 6-25) to be applied to bring the magnetic flux density (item 6-21) in a substance from its remaining magnetic flux density to zero
|
|
1301
|
+
* remarks: See IEC 60050-121, item 121-12-69. Also called coercive field strength.
|
|
1302
|
+
*/
|
|
1303
|
+
attribute :>> num: Real;
|
|
1304
|
+
attribute :>> mRef: CoercivityUnit[1];
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
attribute coercivity: CoercivityValue[*] nonunique :> scalarQuantities;
|
|
1308
|
+
|
|
1309
|
+
attribute def CoercivityUnit :> DerivedUnit {
|
|
1310
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
1311
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
1312
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, electricCurrentPF); }
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
/* IEC-80000-6 item 6-32 magnetic vector potential */
|
|
1316
|
+
attribute def MagneticVectorPotentialValue :> ScalarQuantityValue {
|
|
1317
|
+
doc
|
|
1318
|
+
/*
|
|
1319
|
+
* source: item 6-32 magnetic vector potential (magnitude)
|
|
1320
|
+
* symbol(s): `A`
|
|
1321
|
+
* application domain: generic
|
|
1322
|
+
* name: MagneticVectorPotential
|
|
1323
|
+
* quantity dimension: L^1*M^1*T^-2*I^-1
|
|
1324
|
+
* measurement unit(s): Wb/m
|
|
1325
|
+
* tensor order: 0
|
|
1326
|
+
* definition: `vec(B) = rot vec(A)` where `vec(B)` is magnetic flux density (item 6-21)
|
|
1327
|
+
* remarks: The magnetic vector potential is not unique since any irrotational vector field can be added to it without changing its rotation. See IEC 60050-121, item 121-11-23.
|
|
1328
|
+
*/
|
|
1329
|
+
attribute :>> num: Real;
|
|
1330
|
+
attribute :>> mRef: MagneticVectorPotentialUnit[1];
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
attribute magneticVectorPotential: MagneticVectorPotentialValue[*] nonunique :> scalarQuantities;
|
|
1334
|
+
|
|
1335
|
+
attribute def MagneticVectorPotentialUnit :> DerivedUnit {
|
|
1336
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
1337
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1338
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
1339
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
1340
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
attribute def CartesianMagneticVectorPotential3dVector :> '3dVectorQuantityValue' {
|
|
1344
|
+
doc
|
|
1345
|
+
/*
|
|
1346
|
+
* source: item 6-32 magnetic vector potential (vector)
|
|
1347
|
+
* symbol(s): `vec(A)`
|
|
1348
|
+
* application domain: generic
|
|
1349
|
+
* name: MagneticVectorPotential
|
|
1350
|
+
* quantity dimension: L^1*M^1*T^-2*I^-1
|
|
1351
|
+
* measurement unit(s): Wb/m
|
|
1352
|
+
* tensor order: 1
|
|
1353
|
+
* definition: `vec(B) = rot vec(A)` where `vec(B)` is magnetic flux density (item 6-21)
|
|
1354
|
+
* remarks: The magnetic vector potential is not unique since any irrotational vector field can be added to it without changing its rotation. See IEC 60050-121, item 121-11-23.
|
|
1355
|
+
*/
|
|
1356
|
+
attribute :>> isBound = true;
|
|
1357
|
+
attribute :>> mRef: CartesianMagneticVectorPotential3dCoordinateFrame[1];
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
attribute cartesianMagneticVectorPotential3dVector: CartesianMagneticVectorPotential3dVector :> vectorQuantities;
|
|
1361
|
+
|
|
1362
|
+
attribute def CartesianMagneticVectorPotential3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
1363
|
+
attribute :>> isBound = true;
|
|
1364
|
+
attribute :>> isOrthogonal = true;
|
|
1365
|
+
attribute :>> mRefs: MagneticVectorPotentialUnit[3];
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
/* IEC-80000-6 item 6-33 electromagnetic energy density, volumic electromagnetic energy */
|
|
1369
|
+
attribute def ElectromagneticEnergyDensityValue :> ScalarQuantityValue {
|
|
1370
|
+
doc
|
|
1371
|
+
/*
|
|
1372
|
+
* source: item 6-33 electromagnetic energy density, volumic electromagnetic energy
|
|
1373
|
+
* symbol(s): `w`
|
|
1374
|
+
* application domain: generic
|
|
1375
|
+
* name: ElectromagneticEnergyDensity
|
|
1376
|
+
* quantity dimension: L^-1*M^1*T^-2
|
|
1377
|
+
* measurement unit(s): J/m^3
|
|
1378
|
+
* tensor order: 0
|
|
1379
|
+
* definition: `ω = 1/2*(vec(E)*vec(D) + vec(B) * vec(H))` where `vec(E)` is electric field strength (item 6-10), `vec(D)` is electric flux density (item 6-12), `vec(B)` is magnetic flux density (item 6-21), and `vec(H)` is magnetic field strength (item 6-25)
|
|
1380
|
+
* remarks: See IEC 60050-121, item 121-11-65.
|
|
1381
|
+
*/
|
|
1382
|
+
attribute :>> num: Real;
|
|
1383
|
+
attribute :>> mRef: ElectromagneticEnergyDensityUnit[1];
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
attribute electromagneticEnergyDensity: ElectromagneticEnergyDensityValue[*] nonunique :> scalarQuantities;
|
|
1387
|
+
|
|
1388
|
+
attribute def ElectromagneticEnergyDensityUnit :> DerivedUnit {
|
|
1389
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -1; }
|
|
1390
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1391
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
1392
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF); }
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
alias VolumicElectromagneticEnergyUnit for ElectromagneticEnergyDensityUnit;
|
|
1396
|
+
alias VolumicElectromagneticEnergyValue for ElectromagneticEnergyDensityValue;
|
|
1397
|
+
alias volumicElectromagneticEnergy for electromagneticEnergyDensity;
|
|
1398
|
+
|
|
1399
|
+
/* IEC-80000-6 item 6-34 Poynting vector */
|
|
1400
|
+
attribute def PoyntingVectorMagnitudeValue :> ScalarQuantityValue {
|
|
1401
|
+
doc
|
|
1402
|
+
/*
|
|
1403
|
+
* source: item 6-34 Poynting vector (magnitude)
|
|
1404
|
+
* symbol(s): `S`
|
|
1405
|
+
* application domain: generic
|
|
1406
|
+
* name: PoyntingVectorMagnitude
|
|
1407
|
+
* quantity dimension: M^1*T^-3
|
|
1408
|
+
* measurement unit(s): W/m^2
|
|
1409
|
+
* tensor order: 0
|
|
1410
|
+
* definition: `vec(S) = vec(E) xx vec(H)` where `vec(E)` is electric field strength (item 6-10) and `vec(H)` is magnetic field strength (item 6-25)
|
|
1411
|
+
* remarks: See IEC 60050-121, item 121-11-66.
|
|
1412
|
+
*/
|
|
1413
|
+
attribute :>> num: Real;
|
|
1414
|
+
attribute :>> mRef: PoyntingVectorMagnitudeUnit[1];
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
attribute poyntingVectorMagnitude: PoyntingVectorMagnitudeValue[*] nonunique :> scalarQuantities;
|
|
1418
|
+
|
|
1419
|
+
attribute def PoyntingVectorMagnitudeUnit :> DerivedUnit {
|
|
1420
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1421
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
1422
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (massPF, durationPF); }
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
attribute def CartesianPoynting3dVector :> '3dVectorQuantityValue' {
|
|
1426
|
+
doc
|
|
1427
|
+
/*
|
|
1428
|
+
* source: item 6-34 Poynting vector
|
|
1429
|
+
* symbol(s): `vec(S)`
|
|
1430
|
+
* application domain: generic
|
|
1431
|
+
* name: PoyntingVector
|
|
1432
|
+
* quantity dimension: M^1*T^-3
|
|
1433
|
+
* measurement unit(s): W/m^2
|
|
1434
|
+
* tensor order: 1
|
|
1435
|
+
* definition: `vec(S) = vec(E) xx vec(H)` where `vec(E)` is electric field strength (item 6-10) and `vec(H)` is magnetic field strength (item 6-25)
|
|
1436
|
+
* remarks: See IEC 60050-121, item 121-11-66.
|
|
1437
|
+
*/
|
|
1438
|
+
attribute :>> isBound = false;
|
|
1439
|
+
attribute :>> mRef: CartesianPoynting3dCoordinateFrame[1];
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
attribute cartesianPoynting3dVector: CartesianPoynting3dVector :> vectorQuantities;
|
|
1443
|
+
|
|
1444
|
+
attribute def CartesianPoynting3dCoordinateFrame :> '3dCoordinateFrame' {
|
|
1445
|
+
attribute :>> isBound = false;
|
|
1446
|
+
attribute :>> isOrthogonal = true;
|
|
1447
|
+
attribute :>> mRefs: PoyntingVectorMagnitudeUnit[3];
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
/* IEC-80000-6 item 6-35.1 phase speed of electromagnetic waves */
|
|
1451
|
+
attribute def PhaseSpeedOfElectromagneticWavesValue :> ScalarQuantityValue {
|
|
1452
|
+
doc
|
|
1453
|
+
/*
|
|
1454
|
+
* source: item 6-35.1 phase speed of electromagnetic waves
|
|
1455
|
+
* symbol(s): `c`
|
|
1456
|
+
* application domain: generic
|
|
1457
|
+
* name: PhaseSpeedOfElectromagneticWaves
|
|
1458
|
+
* quantity dimension: L^1*T^-1
|
|
1459
|
+
* measurement unit(s): m/s
|
|
1460
|
+
* tensor order: 0
|
|
1461
|
+
* definition: `c = ω/k` where `ω` is angular frequency (ISO 80000-3, item 3-16) and `k` is angular wavenumber (ISO 80000-3, item 3-19)
|
|
1462
|
+
* remarks: See ISO 80000-3, item 3-20.1.
|
|
1463
|
+
*/
|
|
1464
|
+
attribute :>> num: Real;
|
|
1465
|
+
attribute :>> mRef: PhaseSpeedOfElectromagneticWavesUnit[1];
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
attribute phaseSpeedOfElectromagneticWaves: PhaseSpeedOfElectromagneticWavesValue[*] nonunique :> scalarQuantities;
|
|
1469
|
+
|
|
1470
|
+
attribute def PhaseSpeedOfElectromagneticWavesUnit :> DerivedUnit {
|
|
1471
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
1472
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
|
|
1473
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF); }
|
|
1474
|
+
}
|
|
1475
|
+
|
|
1476
|
+
/* IEC-80000-6 item 6-35.2 speed of light, light speed */
|
|
1477
|
+
attribute def SpeedOfLightValue :> ScalarQuantityValue {
|
|
1478
|
+
doc
|
|
1479
|
+
/*
|
|
1480
|
+
* source: item 6-35.2 speed of light, light speed
|
|
1481
|
+
* symbol(s): `c_0`
|
|
1482
|
+
* application domain: generic
|
|
1483
|
+
* name: SpeedOfLight
|
|
1484
|
+
* quantity dimension: L^1*T^-1
|
|
1485
|
+
* measurement unit(s): m/s
|
|
1486
|
+
* tensor order: 0
|
|
1487
|
+
* definition: speed of electromagnetic waves in vacuum; `c_0 = 299792458` m/s
|
|
1488
|
+
* remarks: For this value of `c_0` see ISO 80000-3, item 3-1.a. `c_0 = 1/sqrt(ε_0 μ_0)`. See IEC 60050-111, item 111-13-07.
|
|
1489
|
+
*/
|
|
1490
|
+
attribute :>> num: Real;
|
|
1491
|
+
attribute :>> mRef: SpeedOfLightUnit[1];
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
attribute speedOfLight: SpeedOfLightValue[*] nonunique :> scalarQuantities;
|
|
1495
|
+
|
|
1496
|
+
attribute def SpeedOfLightUnit :> DerivedUnit {
|
|
1497
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 1; }
|
|
1498
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -1; }
|
|
1499
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, durationPF); }
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
alias LightSpeedUnit for SpeedOfLightUnit;
|
|
1503
|
+
alias LightSpeedValue for SpeedOfLightValue;
|
|
1504
|
+
alias lightSpeed for speedOfLight;
|
|
1505
|
+
|
|
1506
|
+
/* IEC-80000-6 item 6-36 source voltage, source tension */
|
|
1507
|
+
attribute def SourceVoltageValue :> ScalarQuantityValue {
|
|
1508
|
+
doc
|
|
1509
|
+
/*
|
|
1510
|
+
* source: item 6-36 source voltage, source tension
|
|
1511
|
+
* symbol(s): `U_s`
|
|
1512
|
+
* application domain: generic
|
|
1513
|
+
* name: SourceVoltage
|
|
1514
|
+
* quantity dimension: L^2*M^1*T^-3*I^-1
|
|
1515
|
+
* measurement unit(s): V
|
|
1516
|
+
* tensor order: 0
|
|
1517
|
+
* definition: voltage (item 6-11.3) between the two terminals of a voltage source when there is no electric current (item 6-1) through the source
|
|
1518
|
+
* remarks: The name "electromotive force" with the abbreviation EMF and the symbol `E` is deprecated. See IEC 60050-131, item 131-12-22.
|
|
1519
|
+
*/
|
|
1520
|
+
attribute :>> num: Real;
|
|
1521
|
+
attribute :>> mRef: SourceVoltageUnit[1];
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
attribute sourceVoltage: SourceVoltageValue[*] nonunique :> scalarQuantities;
|
|
1525
|
+
|
|
1526
|
+
attribute def SourceVoltageUnit :> DerivedUnit {
|
|
1527
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
1528
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1529
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
1530
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -1; }
|
|
1531
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1532
|
+
}
|
|
1533
|
+
|
|
1534
|
+
alias SourceTensionUnit for SourceVoltageUnit;
|
|
1535
|
+
alias SourceTensionValue for SourceVoltageValue;
|
|
1536
|
+
alias sourceTension for sourceVoltage;
|
|
1537
|
+
|
|
1538
|
+
/* IEC-80000-6 item 6-37.1 scalar magnetic potential */
|
|
1539
|
+
attribute scalarMagneticPotential: ElectricCurrentValue :> scalarQuantities {
|
|
1540
|
+
doc
|
|
1541
|
+
/*
|
|
1542
|
+
* source: item 6-37.1 scalar magnetic potential
|
|
1543
|
+
* symbol(s): `V_m`, `φ`
|
|
1544
|
+
* application domain: generic
|
|
1545
|
+
* name: ScalarMagneticPotential (specializes ElectricCurrent)
|
|
1546
|
+
* quantity dimension: I^1
|
|
1547
|
+
* measurement unit(s): A
|
|
1548
|
+
* tensor order: 0
|
|
1549
|
+
* definition: for an irrotational magnetic field strength `vec(H) = -nabla V_m` where `vec(H)` is magnetic field strength (item 6-25)
|
|
1550
|
+
* remarks: The magnetic scalar potential is not unique since any constant scalar field can be added to it without changing its gradient. See IEC 60050-121, item 121-11-58.
|
|
1551
|
+
*/
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
/* IEC-80000-6 item 6-37.2 magnetic tension */
|
|
1555
|
+
attribute magneticTension: ElectricCurrentValue :> scalarQuantities {
|
|
1556
|
+
doc
|
|
1557
|
+
/*
|
|
1558
|
+
* source: item 6-37.2 magnetic tension
|
|
1559
|
+
* symbol(s): `U_m`
|
|
1560
|
+
* application domain: generic
|
|
1561
|
+
* name: MagneticTension (specializes ElectricCurrent)
|
|
1562
|
+
* quantity dimension: I^1
|
|
1563
|
+
* measurement unit(s): A
|
|
1564
|
+
* tensor order: 0
|
|
1565
|
+
* definition: `U_m = int_(vec(r_a) (C))^(vec(r_b)) vec(H) * d(vec(r))` where `vec(H)` is magnetic field strength (item 6-25) and `vec(r)` is position vector (ISO 80000-3, item 3-1.11) along a given curve `C` from point `a` to point `b`
|
|
1566
|
+
* remarks: For an irrotational magnetic field strength this quantity is equal to the magnetic potential difference. See IEC 60050-121, item121-11-57.
|
|
1567
|
+
*/
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
/* IEC-80000-6 item 6-37.3 magnetomotive force */
|
|
1571
|
+
attribute def MagnetomotiveForceValue :> ScalarQuantityValue {
|
|
1572
|
+
doc
|
|
1573
|
+
/*
|
|
1574
|
+
* source: item 6-37.3 magnetomotive force
|
|
1575
|
+
* symbol(s): `F_m`
|
|
1576
|
+
* application domain: generic
|
|
1577
|
+
* name: MagnetomotiveForce
|
|
1578
|
+
* quantity dimension: I^1
|
|
1579
|
+
* measurement unit(s): A
|
|
1580
|
+
* tensor order: 0
|
|
1581
|
+
* definition: `F_m = oint_C vec(H) * d vec(r)` where `vec(H)` is magnetic field strength (item 6-25) and `vec(r)` is position vector (ISO 80000-3, item 3-1 .11) along a closed curve `C`
|
|
1582
|
+
* remarks: This quantity name is under consideration . Compare remark to item 6-36. See IEC 60050-121, item 121-11-60.
|
|
1583
|
+
*/
|
|
1584
|
+
attribute :>> num: Real;
|
|
1585
|
+
attribute :>> mRef: MagnetomotiveForceUnit[1];
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
attribute magnetomotiveForce: MagnetomotiveForceValue[*] nonunique :> scalarQuantities;
|
|
1589
|
+
|
|
1590
|
+
attribute def MagnetomotiveForceUnit :> DerivedUnit {
|
|
1591
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 1; }
|
|
1592
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = electricCurrentPF; }
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
/* IEC-80000-6 item 6-37.4 current linkage */
|
|
1596
|
+
attribute currentLinkage: ElectricCurrentValue :> scalarQuantities {
|
|
1597
|
+
doc
|
|
1598
|
+
/*
|
|
1599
|
+
* source: item 6-37.4 current linkage
|
|
1600
|
+
* symbol(s): `Θ`
|
|
1601
|
+
* application domain: generic
|
|
1602
|
+
* name: CurrentLinkage (specializes ElectricCurrent)
|
|
1603
|
+
* quantity dimension: I^1
|
|
1604
|
+
* measurement unit(s): A
|
|
1605
|
+
* tensor order: 0
|
|
1606
|
+
* definition: net electric current (item 6-1) through a surface delimited by a closed loop
|
|
1607
|
+
* remarks: When `Θ` results from `N` (item 6-38) equal electric currents `I` (item 6-1 ), then `Θ = N I`. See IEC 60050-121 , item 121 -11-46.
|
|
1608
|
+
*/
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
/* IEC-80000-6 item 6-38 number of turns in a winding */
|
|
1612
|
+
attribute numberOfTurnsInAWinding: CountValue :> scalarQuantities {
|
|
1613
|
+
doc
|
|
1614
|
+
/*
|
|
1615
|
+
* source: item 6-38 number of turns in a winding
|
|
1616
|
+
* symbol(s): `N`
|
|
1617
|
+
* application domain: generic
|
|
1618
|
+
* name: NumberOfTurnsInAWinding (specializes Count)
|
|
1619
|
+
* quantity dimension: 1
|
|
1620
|
+
* measurement unit(s): 1
|
|
1621
|
+
* tensor order: 0
|
|
1622
|
+
* definition: number of turns in a winding (same as the quantity name)
|
|
1623
|
+
* remarks: N may be non-integer number, see ISO 80000-3, item 3-14.
|
|
1624
|
+
*/
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
/* IEC-80000-6 item 6-39 reluctance */
|
|
1628
|
+
attribute def ReluctanceValue :> ScalarQuantityValue {
|
|
1629
|
+
doc
|
|
1630
|
+
/*
|
|
1631
|
+
* source: item 6-39 reluctance
|
|
1632
|
+
* symbol(s): `R_m`, `R`
|
|
1633
|
+
* application domain: generic
|
|
1634
|
+
* name: Reluctance
|
|
1635
|
+
* quantity dimension: L^-2*M^-1*T^2*I^2
|
|
1636
|
+
* measurement unit(s): H^-1
|
|
1637
|
+
* tensor order: 0
|
|
1638
|
+
* definition: `R_m = U_m/Φ` where `U_m` is magnetic tension (item 6-37.2) and `Φ` is magnetic flux (item 6-22 .1)
|
|
1639
|
+
* remarks: See IEC 60050-131 , item 131-12-28.
|
|
1640
|
+
*/
|
|
1641
|
+
attribute :>> num: Real;
|
|
1642
|
+
attribute :>> mRef: ReluctanceUnit[1];
|
|
1643
|
+
}
|
|
1644
|
+
|
|
1645
|
+
attribute reluctance: ReluctanceValue[*] nonunique :> scalarQuantities;
|
|
1646
|
+
|
|
1647
|
+
attribute def ReluctanceUnit :> DerivedUnit {
|
|
1648
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
1649
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
1650
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 2; }
|
|
1651
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
1652
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
/* IEC-80000-6 item 6-40 permeance */
|
|
1656
|
+
attribute def PermeanceValue :> ScalarQuantityValue {
|
|
1657
|
+
doc
|
|
1658
|
+
/*
|
|
1659
|
+
* source: item 6-40 permeance
|
|
1660
|
+
* symbol(s): `Λ`
|
|
1661
|
+
* application domain: generic
|
|
1662
|
+
* name: Permeance
|
|
1663
|
+
* quantity dimension: L^2*M^1*T^-2*I^-2
|
|
1664
|
+
* measurement unit(s): H
|
|
1665
|
+
* tensor order: 0
|
|
1666
|
+
* definition: `Λ = 1/R_m` where `R_m` is reluctance (item 6-39)
|
|
1667
|
+
* remarks: See IEC 60050-131 , item 131-12-29.
|
|
1668
|
+
*/
|
|
1669
|
+
attribute :>> num: Real;
|
|
1670
|
+
attribute :>> mRef: PermeanceUnit[1];
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
attribute permeance: PermeanceValue[*] nonunique :> scalarQuantities;
|
|
1674
|
+
|
|
1675
|
+
attribute def PermeanceUnit :> DerivedUnit {
|
|
1676
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
1677
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1678
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
1679
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
1680
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
/* IEC-80000-6 item 6-41.1 inductance, self inductance */
|
|
1684
|
+
attribute def InductanceValue :> ScalarQuantityValue {
|
|
1685
|
+
doc
|
|
1686
|
+
/*
|
|
1687
|
+
* source: item 6-41.1 inductance, self inductance
|
|
1688
|
+
* symbol(s): `L`, `L_m`
|
|
1689
|
+
* application domain: generic
|
|
1690
|
+
* name: Inductance
|
|
1691
|
+
* quantity dimension: L^2*M^1*T^-2*I^-2
|
|
1692
|
+
* measurement unit(s): H
|
|
1693
|
+
* tensor order: 0
|
|
1694
|
+
* definition: `L = Ψ / I` where `I` is an electric current (item 6-1) in a thin conducting loop and `Ψ` is the linked flux (item 6-22.2) caused by that electric current
|
|
1695
|
+
* remarks: The name "self inductance" is used for the quantity associated to mutual inductance when `n = m`. See IEC 60050-131 , items 131-12-19 and 131 -12-35.
|
|
1696
|
+
*/
|
|
1697
|
+
attribute :>> num: Real;
|
|
1698
|
+
attribute :>> mRef: InductanceUnit[1];
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
attribute inductance: InductanceValue[*] nonunique :> scalarQuantities;
|
|
1702
|
+
|
|
1703
|
+
attribute def InductanceUnit :> DerivedUnit {
|
|
1704
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
1705
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1706
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -2; }
|
|
1707
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
1708
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
alias SelfInductanceUnit for InductanceUnit;
|
|
1712
|
+
alias SelfInductanceValue for InductanceValue;
|
|
1713
|
+
alias selfInductance for inductance;
|
|
1714
|
+
|
|
1715
|
+
/* IEC-80000-6 item 6-41.2 mutual inductance */
|
|
1716
|
+
attribute mutualInductance: InductanceValue :> scalarQuantities {
|
|
1717
|
+
doc
|
|
1718
|
+
/*
|
|
1719
|
+
* source: item 6-41.2 mutual inductance
|
|
1720
|
+
* symbol(s): `L_(mn)`
|
|
1721
|
+
* application domain: generic
|
|
1722
|
+
* name: MutualInductance (specializes Inductance)
|
|
1723
|
+
* quantity dimension: L^2*M^1*T^-2*I^-2
|
|
1724
|
+
* measurement unit(s): H
|
|
1725
|
+
* tensor order: 0
|
|
1726
|
+
* definition: `L_(mn) = Ψ_m / I_n` where `I_n` is an electric current (item 6-1) in a thin conducting loop `n` and `Ψ_m` is the linked flux (item 6-22.2) caused by that electric current in another loop `m`
|
|
1727
|
+
* remarks: `L_(mn) = L_(nm)`. For two loops , the symbol `M` is used for `L_(12)`. See IEC 60050-131, items 131-12-36.
|
|
1728
|
+
*/
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
/* IEC-80000-6 item 6-42.1 coupling factor */
|
|
1732
|
+
attribute def CouplingFactorValue :> DimensionOneValue {
|
|
1733
|
+
doc
|
|
1734
|
+
/*
|
|
1735
|
+
* source: item 6-42.1 coupling factor
|
|
1736
|
+
* symbol(s): `k`
|
|
1737
|
+
* application domain: generic
|
|
1738
|
+
* name: CouplingFactor (specializes DimensionOneQuantity)
|
|
1739
|
+
* quantity dimension: 1
|
|
1740
|
+
* measurement unit(s): 1
|
|
1741
|
+
* tensor order: 0
|
|
1742
|
+
* definition: for inductive coupling between two inductive elements `k = |L_(mn)| / sqrt(L_m L_n)` where `L_m` and `L_n` are their self inductances (item 6-41 .1 ), and `L_(mn)` is their mutual inductance (item 6-41.2)
|
|
1743
|
+
* remarks: See IEC 60050-131 , item 131-12-41.
|
|
1744
|
+
*/
|
|
1745
|
+
}
|
|
1746
|
+
attribute couplingFactor: CouplingFactorValue :> scalarQuantities;
|
|
1747
|
+
|
|
1748
|
+
/* IEC-80000-6 item 6-42.2 leakage factor */
|
|
1749
|
+
attribute def LeakageFactorValue :> DimensionOneValue {
|
|
1750
|
+
doc
|
|
1751
|
+
/*
|
|
1752
|
+
* source: item 6-42.2 leakage factor
|
|
1753
|
+
* symbol(s): `σ`
|
|
1754
|
+
* application domain: generic
|
|
1755
|
+
* name: LeakageFactor (specializes DimensionOneQuantity)
|
|
1756
|
+
* quantity dimension: 1
|
|
1757
|
+
* measurement unit(s): 1
|
|
1758
|
+
* tensor order: 0
|
|
1759
|
+
* definition: `σ = 1 - k^2` where `k` is the coupling factor (item 6-42 .1)
|
|
1760
|
+
* remarks: See IEC 60050-131 , item 131-12-42.
|
|
1761
|
+
*/
|
|
1762
|
+
}
|
|
1763
|
+
attribute leakageFactor: LeakageFactorValue :> scalarQuantities;
|
|
1764
|
+
|
|
1765
|
+
/* IEC-80000-6 item 6-43 conductivity */
|
|
1766
|
+
attribute def ConductivityValue :> ScalarQuantityValue {
|
|
1767
|
+
doc
|
|
1768
|
+
/*
|
|
1769
|
+
* source: item 6-43 conductivity
|
|
1770
|
+
* symbol(s): `σ`, `γ`
|
|
1771
|
+
* application domain: generic
|
|
1772
|
+
* name: Conductivity
|
|
1773
|
+
* quantity dimension: L^-3*M^-1*T^3*I^2
|
|
1774
|
+
* measurement unit(s): S/m
|
|
1775
|
+
* tensor order: 0
|
|
1776
|
+
* definition: `vec(J) = σ vec(E)` where `vec(J)` is electric current density (item 6-8) and `vec(E)` is electric field strength (item 6-10)
|
|
1777
|
+
* remarks: This definition applies to an isotropic medium. For an anisotropic medium `σ` is a second order tensor. `κ` is used in electrochemistry. See IEC 60050-121 , item 121-12-03.
|
|
1778
|
+
*/
|
|
1779
|
+
attribute :>> num: Real;
|
|
1780
|
+
attribute :>> mRef: ConductivityUnit[1];
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1783
|
+
attribute conductivity: ConductivityValue[*] nonunique :> scalarQuantities;
|
|
1784
|
+
|
|
1785
|
+
attribute def ConductivityUnit :> DerivedUnit {
|
|
1786
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -3; }
|
|
1787
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
1788
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 3; }
|
|
1789
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
1790
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
/* IEC-80000-6 item 6-44 resistivity */
|
|
1794
|
+
attribute def ResistivityValue :> ScalarQuantityValue {
|
|
1795
|
+
doc
|
|
1796
|
+
/*
|
|
1797
|
+
* source: item 6-44 resistivity
|
|
1798
|
+
* symbol(s): `ρ`
|
|
1799
|
+
* application domain: generic
|
|
1800
|
+
* name: Resistivity
|
|
1801
|
+
* quantity dimension: L^3*M^1*T^-3*I^-2
|
|
1802
|
+
* measurement unit(s): Ω*m
|
|
1803
|
+
* tensor order: 0
|
|
1804
|
+
* definition: `ρ = 1/σ` if is exists, where `σ` is conductivity (item 6-43)
|
|
1805
|
+
* remarks: See IEC 60050-121, item 121-12-04.
|
|
1806
|
+
*/
|
|
1807
|
+
attribute :>> num: Real;
|
|
1808
|
+
attribute :>> mRef: ResistivityUnit[1];
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
attribute resistivity: ResistivityValue[*] nonunique :> scalarQuantities;
|
|
1812
|
+
|
|
1813
|
+
attribute def ResistivityUnit :> DerivedUnit {
|
|
1814
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 3; }
|
|
1815
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1816
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
1817
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
1818
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1819
|
+
}
|
|
1820
|
+
|
|
1821
|
+
/* IEC-80000-6 item 6-45 electric power, instantaneous power */
|
|
1822
|
+
attribute electricPower: PowerValue :> scalarQuantities {
|
|
1823
|
+
doc
|
|
1824
|
+
/*
|
|
1825
|
+
* source: item 6-45 electric power, instantaneous power
|
|
1826
|
+
* symbol(s): `p`
|
|
1827
|
+
* application domain: generic
|
|
1828
|
+
* name: ElectricPower (specializes Power)
|
|
1829
|
+
* quantity dimension: L^2*M^1*T^-3
|
|
1830
|
+
* measurement unit(s): W
|
|
1831
|
+
* tensor order: 0
|
|
1832
|
+
* definition: `p = ui` where `u` is instantaneous voltage (item 6-11 .3) and `i` is instantaneous electric current (item 6-1)
|
|
1833
|
+
* remarks: See IEC 60050-131 , item 131-11-30.
|
|
1834
|
+
*/
|
|
1835
|
+
}
|
|
1836
|
+
|
|
1837
|
+
alias instantaneousPower for electricPower;
|
|
1838
|
+
|
|
1839
|
+
/* IEC-80000-6 item 6-46 resistance */
|
|
1840
|
+
attribute def ResistanceValue :> ScalarQuantityValue {
|
|
1841
|
+
doc
|
|
1842
|
+
/*
|
|
1843
|
+
* source: item 6-46 resistance
|
|
1844
|
+
* symbol(s): `R`
|
|
1845
|
+
* application domain: generic
|
|
1846
|
+
* name: Resistance
|
|
1847
|
+
* quantity dimension: L^2*M^1*T^-3*I^-2
|
|
1848
|
+
* measurement unit(s): Ω
|
|
1849
|
+
* tensor order: 0
|
|
1850
|
+
* definition: for resistive component `R = u i` where `u` is instantaneous voltage (item 6-11.3) and `i` is instantaneous electric current (item 6-1)
|
|
1851
|
+
* remarks: For alternating current, see item 6-51.2. See IEC 60050-131, item 131-12-04.
|
|
1852
|
+
*/
|
|
1853
|
+
attribute :>> num: Real;
|
|
1854
|
+
attribute :>> mRef: ResistanceUnit[1];
|
|
1855
|
+
}
|
|
1856
|
+
|
|
1857
|
+
attribute resistance: ResistanceValue[*] nonunique :> scalarQuantities;
|
|
1858
|
+
|
|
1859
|
+
attribute def ResistanceUnit :> DerivedUnit {
|
|
1860
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
1861
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1862
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
1863
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
1864
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
/* IEC-80000-6 item 6-47 conductance */
|
|
1868
|
+
attribute def ConductanceValue :> ScalarQuantityValue {
|
|
1869
|
+
doc
|
|
1870
|
+
/*
|
|
1871
|
+
* source: item 6-47 conductance
|
|
1872
|
+
* symbol(s): `G`
|
|
1873
|
+
* application domain: generic
|
|
1874
|
+
* name: Conductance
|
|
1875
|
+
* quantity dimension: L^-2*M^-1*T^3*I^2
|
|
1876
|
+
* measurement unit(s): S
|
|
1877
|
+
* tensor order: 0
|
|
1878
|
+
* definition: for resistive component `G = 1/R` where `R` is resistance (item 6-46)
|
|
1879
|
+
* remarks: For alternating current, see item 6-52.2. See IEC 60050-131, item 131-12-06.
|
|
1880
|
+
*/
|
|
1881
|
+
attribute :>> num: Real;
|
|
1882
|
+
attribute :>> mRef: ConductanceUnit[1];
|
|
1883
|
+
}
|
|
1884
|
+
|
|
1885
|
+
attribute conductance: ConductanceValue[*] nonunique :> scalarQuantities;
|
|
1886
|
+
|
|
1887
|
+
attribute def ConductanceUnit :> DerivedUnit {
|
|
1888
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
1889
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
1890
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 3; }
|
|
1891
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
1892
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1893
|
+
}
|
|
1894
|
+
|
|
1895
|
+
/* IEC-80000-6 item 6-48 phase difference */
|
|
1896
|
+
attribute def PhaseDifferenceValue :> ScalarQuantityValue {
|
|
1897
|
+
doc
|
|
1898
|
+
/*
|
|
1899
|
+
* source: item 6-48 phase difference
|
|
1900
|
+
* symbol(s): `φ`
|
|
1901
|
+
* application domain: generic
|
|
1902
|
+
* name: PhaseDifference
|
|
1903
|
+
* quantity dimension: 1
|
|
1904
|
+
* measurement unit(s): rad
|
|
1905
|
+
* tensor order: 0
|
|
1906
|
+
* definition: `φ = φ_u - φ_i` where `φ_u` is the initial phase of the voltage (item 6-11 .3) and `φ_i` is the initial phase of the electric current (item 6-1)
|
|
1907
|
+
* remarks: When `u = hat(U) cos(ωt - φ_u)`, `i = hat(I) cos(ωt - φ_i)` where `u` is the voltage (item 6-11 . 3) and `i` is the electric current (item 6-1 ), `ω` is angular frequency (ISO 80000-3, item 3-16) and `t` is time (ISO 80000-3, item 3-7), then `φ` is phase difference. For phase angle, see items 6-49 and 6-50.
|
|
1908
|
+
*/
|
|
1909
|
+
attribute :>> num: Real;
|
|
1910
|
+
attribute :>> mRef: PhaseDifferenceUnit[1];
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
attribute phaseDifference: PhaseDifferenceValue[*] nonunique :> scalarQuantities;
|
|
1914
|
+
|
|
1915
|
+
attribute def PhaseDifferenceUnit :> DimensionOneUnit {
|
|
1916
|
+
}
|
|
1917
|
+
|
|
1918
|
+
/* IEC-80000-6 item 6-49 electric current phasor */
|
|
1919
|
+
attribute electricCurrentPhasor: ElectricCurrentValue :> scalarQuantities {
|
|
1920
|
+
doc
|
|
1921
|
+
/*
|
|
1922
|
+
* source: item 6-49 electric current phasor
|
|
1923
|
+
* symbol(s): `underline(I)`
|
|
1924
|
+
* application domain: generic
|
|
1925
|
+
* name: ElectricCurrentPhasor (specializes ElectricCurrent)
|
|
1926
|
+
* quantity dimension: I^1
|
|
1927
|
+
* measurement unit(s): A
|
|
1928
|
+
* tensor order: 0
|
|
1929
|
+
* definition: when `i = hat(I) cos(ωt + α)`, where `i` is the electric current (item 6-1 ), `ω` is angular frequency (ISO 80000-3, item 3-16), `t` is time (ISO 80000-3, item 3-7), and `α` is initial phase (ISO 80000-3, item 3-5), then `underline(l) = I e^(jα)`
|
|
1930
|
+
* remarks: `underline(l)` is the complex representation of the electric current `i = hat(I) cos(ωt + α)`. `j` is the imaginary unit.
|
|
1931
|
+
*/
|
|
1932
|
+
}
|
|
1933
|
+
|
|
1934
|
+
/* IEC-80000-6 item 6-50 voltage phasor */
|
|
1935
|
+
attribute voltagePhasor: ElectricPotentialDifferenceValue :> scalarQuantities {
|
|
1936
|
+
doc
|
|
1937
|
+
/*
|
|
1938
|
+
* source: item 6-50 voltage phasor
|
|
1939
|
+
* symbol(s): `underline(U)`
|
|
1940
|
+
* application domain: generic
|
|
1941
|
+
* name: VoltagePhasor (specializes ElectricPotentialDifference)
|
|
1942
|
+
* quantity dimension: L^2*M^1*T^-3*I^-1
|
|
1943
|
+
* measurement unit(s): V
|
|
1944
|
+
* tensor order: 0
|
|
1945
|
+
* definition: when `u = hat(U) cos(ωt + α)`, where `u` is the voltage (item 6-11.3 ), `ω` is angular frequency (ISO 80000-3, item 3-16), `t` is time (ISO 80000-3, item 3-7), and `α` is initial phase (ISO 80000-3, item 3-5), then `underline(U) = U e^(jα)`
|
|
1946
|
+
* remarks: `underline(U)` is the complex representation of the voltage `u = hat(U) cos(ωt + α)`. `j` is the imaginary unit.
|
|
1947
|
+
*/
|
|
1948
|
+
}
|
|
1949
|
+
|
|
1950
|
+
/* IEC-80000-6 item 6-51.1 impedance, complex impedance */
|
|
1951
|
+
attribute def ImpedanceValue :> ScalarQuantityValue {
|
|
1952
|
+
doc
|
|
1953
|
+
/*
|
|
1954
|
+
* source: item 6-51.1 impedance, complex impedance
|
|
1955
|
+
* symbol(s): `underline(Z)`
|
|
1956
|
+
* application domain: generic
|
|
1957
|
+
* name: Impedance
|
|
1958
|
+
* quantity dimension: L^2*M^1*T^-3*I^-2
|
|
1959
|
+
* measurement unit(s): Ω
|
|
1960
|
+
* tensor order: 0
|
|
1961
|
+
* definition: `underline(Z) = underline(U)/underline(I)` where `underline(U)` is the voltage phasor (item 6-50), and `underline(I)` is the electric current phasor (item 6-49)
|
|
1962
|
+
* remarks: `underline(Z) = R + jX`, where `R` is resistance (item 6-51.2) and `X` is reactance (item 6-51 .3). `j` is the imaginary unit. `underline(Z) = |underline(Z)| e^(jφ)`. See IEC 60050-131 , item 131-12-43.
|
|
1963
|
+
*/
|
|
1964
|
+
attribute :>> num: Real;
|
|
1965
|
+
attribute :>> mRef: ImpedanceUnit[1];
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1968
|
+
attribute impedance: ImpedanceValue[*] nonunique :> scalarQuantities;
|
|
1969
|
+
|
|
1970
|
+
attribute def ImpedanceUnit :> DerivedUnit {
|
|
1971
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
1972
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
1973
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
1974
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
1975
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
alias ComplexImpedanceUnit for ImpedanceUnit;
|
|
1979
|
+
alias ComplexImpedanceValue for ImpedanceValue;
|
|
1980
|
+
alias complexImpedance for impedance;
|
|
1981
|
+
|
|
1982
|
+
/* IEC-80000-6 item 6-51.2 resistance to alternating current */
|
|
1983
|
+
attribute def ResistanceToAlternatingCurrentValue :> ScalarQuantityValue {
|
|
1984
|
+
doc
|
|
1985
|
+
/*
|
|
1986
|
+
* source: item 6-51.2 resistance to alternating current
|
|
1987
|
+
* symbol(s): `R`
|
|
1988
|
+
* application domain: generic
|
|
1989
|
+
* name: ResistanceToAlternatingCurrent
|
|
1990
|
+
* quantity dimension: L^2*M^1*T^-3*I^-2
|
|
1991
|
+
* measurement unit(s): Ω
|
|
1992
|
+
* tensor order: 0
|
|
1993
|
+
* definition: `R = "Re" underline(Z)` where `underline(Z)`, is impedance (item 6-5.1) and `"Re"` denotes the real part
|
|
1994
|
+
* remarks: See IEC 60050-131, item 131-12-45.
|
|
1995
|
+
*/
|
|
1996
|
+
attribute :>> num: Real;
|
|
1997
|
+
attribute :>> mRef: ResistanceToAlternatingCurrentUnit[1];
|
|
1998
|
+
}
|
|
1999
|
+
|
|
2000
|
+
attribute resistanceToAlternatingCurrent: ResistanceToAlternatingCurrentValue[*] nonunique :> scalarQuantities;
|
|
2001
|
+
|
|
2002
|
+
attribute def ResistanceToAlternatingCurrentUnit :> DerivedUnit {
|
|
2003
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
2004
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
2005
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
2006
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
2007
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
2008
|
+
}
|
|
2009
|
+
|
|
2010
|
+
/* IEC-80000-6 item 6-51.3 reactance */
|
|
2011
|
+
attribute def ReactanceValue :> ScalarQuantityValue {
|
|
2012
|
+
doc
|
|
2013
|
+
/*
|
|
2014
|
+
* source: item 6-51.3 reactance
|
|
2015
|
+
* symbol(s): `X`
|
|
2016
|
+
* application domain: generic
|
|
2017
|
+
* name: Reactance
|
|
2018
|
+
* quantity dimension: L^2*M^1*T^-3*I^-2
|
|
2019
|
+
* measurement unit(s): Ω
|
|
2020
|
+
* tensor order: 0
|
|
2021
|
+
* definition: `X = "Im" underline(Z)` where `underline(Z)`, is impedance (item 6-5.1) and `"Im"` denotes the imaginary part
|
|
2022
|
+
* remarks: `X = ωL - 1/(ωC)`. See IEC 60050-131 , item 131-12-46.
|
|
2023
|
+
*/
|
|
2024
|
+
attribute :>> num: Real;
|
|
2025
|
+
attribute :>> mRef: ReactanceUnit[1];
|
|
2026
|
+
}
|
|
2027
|
+
|
|
2028
|
+
attribute reactance: ReactanceValue[*] nonunique :> scalarQuantities;
|
|
2029
|
+
|
|
2030
|
+
attribute def ReactanceUnit :> DerivedUnit {
|
|
2031
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
2032
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
2033
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
2034
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
2035
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
2036
|
+
}
|
|
2037
|
+
|
|
2038
|
+
/* IEC-80000-6 item 6-51.4 modulus of impedance */
|
|
2039
|
+
attribute def ModulusOfImpedanceValue :> ScalarQuantityValue {
|
|
2040
|
+
doc
|
|
2041
|
+
/*
|
|
2042
|
+
* source: item 6-51.4 modulus of impedance
|
|
2043
|
+
* symbol(s): `Z`
|
|
2044
|
+
* application domain: generic
|
|
2045
|
+
* name: ModulusOfImpedance
|
|
2046
|
+
* quantity dimension: L^2*M^1*T^-3*I^-2
|
|
2047
|
+
* measurement unit(s): Ω
|
|
2048
|
+
* tensor order: 0
|
|
2049
|
+
* definition: `Z = |underline(Z)|` where `underline(Z)` is impedance (item 6-51.1)
|
|
2050
|
+
* remarks: See IEC 60050-131 , item 131-12-44. Apparent impedance is defined more generally as the quotient of rms voltage and rms electric current; it is often denoted by `Z`.
|
|
2051
|
+
*/
|
|
2052
|
+
attribute :>> num: Real;
|
|
2053
|
+
attribute :>> mRef: ModulusOfImpedanceUnit[1];
|
|
2054
|
+
}
|
|
2055
|
+
|
|
2056
|
+
attribute modulusOfImpedance: ModulusOfImpedanceValue[*] nonunique :> scalarQuantities;
|
|
2057
|
+
|
|
2058
|
+
attribute def ModulusOfImpedanceUnit :> DerivedUnit {
|
|
2059
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = 2; }
|
|
2060
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = 1; }
|
|
2061
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = -3; }
|
|
2062
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = -2; }
|
|
2063
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
2064
|
+
}
|
|
2065
|
+
|
|
2066
|
+
/* IEC-80000-6 item 6-52.1 admittance, complex admittance */
|
|
2067
|
+
attribute def AdmittanceValue :> ScalarQuantityValue {
|
|
2068
|
+
doc
|
|
2069
|
+
/*
|
|
2070
|
+
* source: item 6-52.1 admittance, complex admittance
|
|
2071
|
+
* symbol(s): `underline(Y)`
|
|
2072
|
+
* application domain: generic
|
|
2073
|
+
* name: Admittance
|
|
2074
|
+
* quantity dimension: L^-2*M^-1*T^3*I^2
|
|
2075
|
+
* measurement unit(s): S
|
|
2076
|
+
* tensor order: 0
|
|
2077
|
+
* definition: `underline(Y) = 1/underline(Z)` where `underline(Z)` is impedance (item 6-51.1)
|
|
2078
|
+
* remarks: `underline(Y) = G + jB`, where `G` is conductance (item 6-52 .2) and `B` is susceptance (item 6-52 .3). `j` is the imaginary unit. `underline(Y) = |underline(Y)| e^-(jφ)`. See IEC 60050-131, item 131 -12-51.
|
|
2079
|
+
*/
|
|
2080
|
+
attribute :>> num: Real;
|
|
2081
|
+
attribute :>> mRef: AdmittanceUnit[1];
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
attribute admittance: AdmittanceValue[*] nonunique :> scalarQuantities;
|
|
2085
|
+
|
|
2086
|
+
attribute def AdmittanceUnit :> DerivedUnit {
|
|
2087
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
2088
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
2089
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 3; }
|
|
2090
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
2091
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
2092
|
+
}
|
|
2093
|
+
|
|
2094
|
+
alias ComplexAdmittanceUnit for AdmittanceUnit;
|
|
2095
|
+
alias ComplexAdmittanceValue for AdmittanceValue;
|
|
2096
|
+
alias complexAdmittance for admittance;
|
|
2097
|
+
|
|
2098
|
+
/* IEC-80000-6 item 6-52.2 conductance for alternating current */
|
|
2099
|
+
attribute conductanceForAlternatingCurrent: ConductanceValue :> scalarQuantities {
|
|
2100
|
+
doc
|
|
2101
|
+
/*
|
|
2102
|
+
* source: item 6-52.2 conductance for alternating current
|
|
2103
|
+
* symbol(s): `G`
|
|
2104
|
+
* application domain: generic
|
|
2105
|
+
* name: ConductanceForAlternatingCurrent (specializes Conductance)
|
|
2106
|
+
* quantity dimension: L^-2*M^-1*T^3*I^2
|
|
2107
|
+
* measurement unit(s): S
|
|
2108
|
+
* tensor order: 0
|
|
2109
|
+
* definition: `G = "Re" underline(Y)` where I is admittance (item 6-52.1)
|
|
2110
|
+
* remarks: See IEC 60050-131, item 131-12-53.
|
|
2111
|
+
*/
|
|
2112
|
+
}
|
|
2113
|
+
|
|
2114
|
+
/* IEC-80000-6 item 6-52.3 susceptance */
|
|
2115
|
+
attribute def SusceptanceValue :> ScalarQuantityValue {
|
|
2116
|
+
doc
|
|
2117
|
+
/*
|
|
2118
|
+
* source: item 6-52.3 susceptance
|
|
2119
|
+
* symbol(s): `B`
|
|
2120
|
+
* application domain: generic
|
|
2121
|
+
* name: Susceptance
|
|
2122
|
+
* quantity dimension: L^-2*M^-1*T^3*I^2
|
|
2123
|
+
* measurement unit(s): S
|
|
2124
|
+
* tensor order: 0
|
|
2125
|
+
* definition: `B = "Im" underline(Y)` where `underline(Y)` is admittance (item 6-52.1)
|
|
2126
|
+
* remarks: See IEC 60050-131, item 131-12-54.
|
|
2127
|
+
*/
|
|
2128
|
+
attribute :>> num: Real;
|
|
2129
|
+
attribute :>> mRef: SusceptanceUnit[1];
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
attribute susceptance: SusceptanceValue[*] nonunique :> scalarQuantities;
|
|
2133
|
+
|
|
2134
|
+
attribute def SusceptanceUnit :> DerivedUnit {
|
|
2135
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
2136
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
2137
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 3; }
|
|
2138
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
2139
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
2140
|
+
}
|
|
2141
|
+
|
|
2142
|
+
/* IEC-80000-6 item 6-52.4 modulus of admittance */
|
|
2143
|
+
attribute def ModulusOfAdmittanceValue :> ScalarQuantityValue {
|
|
2144
|
+
doc
|
|
2145
|
+
/*
|
|
2146
|
+
* source: item 6-52.4 modulus of admittance
|
|
2147
|
+
* symbol(s): `Y`
|
|
2148
|
+
* application domain: generic
|
|
2149
|
+
* name: ModulusOfAdmittance
|
|
2150
|
+
* quantity dimension: L^-2*M^-1*T^3*I^2
|
|
2151
|
+
* measurement unit(s): S
|
|
2152
|
+
* tensor order: 0
|
|
2153
|
+
* definition: `Y = |underline(Y)|` where `underline(Y)` is admittance (item 6-52.1)
|
|
2154
|
+
* remarks: Apparent admittance is defined more generally as the quotient of rms electric current voltage and rms voltage; it is often denoted by `Y`.
|
|
2155
|
+
*/
|
|
2156
|
+
attribute :>> num: Real;
|
|
2157
|
+
attribute :>> mRef: ModulusOfAdmittanceUnit[1];
|
|
2158
|
+
}
|
|
2159
|
+
|
|
2160
|
+
attribute modulusOfAdmittance: ModulusOfAdmittanceValue[*] nonunique :> scalarQuantities;
|
|
2161
|
+
|
|
2162
|
+
attribute def ModulusOfAdmittanceUnit :> DerivedUnit {
|
|
2163
|
+
private attribute lengthPF: QuantityPowerFactor[1] { :>> quantity = isq.L; :>> exponent = -2; }
|
|
2164
|
+
private attribute massPF: QuantityPowerFactor[1] { :>> quantity = isq.M; :>> exponent = -1; }
|
|
2165
|
+
private attribute durationPF: QuantityPowerFactor[1] { :>> quantity = isq.T; :>> exponent = 3; }
|
|
2166
|
+
private attribute electricCurrentPF: QuantityPowerFactor[1] { :>> quantity = isq.I; :>> exponent = 2; }
|
|
2167
|
+
attribute :>> quantityDimension { :>> quantityPowerFactors = (lengthPF, massPF, durationPF, electricCurrentPF); }
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
/* IEC-80000-6 item 6-53 quality factor */
|
|
2171
|
+
attribute def QualityFactorValue :> DimensionOneValue {
|
|
2172
|
+
doc
|
|
2173
|
+
/*
|
|
2174
|
+
* source: item 6-53 quality factor
|
|
2175
|
+
* symbol(s): `Q`
|
|
2176
|
+
* application domain: generic
|
|
2177
|
+
* name: QualityFactor (specializes DimensionOneQuantity)
|
|
2178
|
+
* quantity dimension: 1
|
|
2179
|
+
* measurement unit(s): 1
|
|
2180
|
+
* tensor order: 0
|
|
2181
|
+
* definition: for non-radiating systems, if `underline(Z) = R + jX`, then `Q = |X|/R` where `underline(Z)` is impedance (item 6-51. 1), `R` is resistance (item 6-51 .2), and `X` is reactance (item 6-51.3)
|
|
2182
|
+
* remarks: None.
|
|
2183
|
+
*/
|
|
2184
|
+
}
|
|
2185
|
+
attribute qualityFactor: QualityFactorValue :> scalarQuantities;
|
|
2186
|
+
|
|
2187
|
+
/* IEC-80000-6 item 6-54 loss factor */
|
|
2188
|
+
attribute def LossFactorValue :> DimensionOneValue {
|
|
2189
|
+
doc
|
|
2190
|
+
/*
|
|
2191
|
+
* source: item 6-54 loss factor
|
|
2192
|
+
* symbol(s): `d`
|
|
2193
|
+
* application domain: generic
|
|
2194
|
+
* name: LossFactor (specializes DimensionOneQuantity)
|
|
2195
|
+
* quantity dimension: 1
|
|
2196
|
+
* measurement unit(s): 1
|
|
2197
|
+
* tensor order: 0
|
|
2198
|
+
* definition: `d = 1/Q` where `Q` quality factor (item 6-53)
|
|
2199
|
+
* remarks: It is also named dissipation factor.
|
|
2200
|
+
*/
|
|
2201
|
+
}
|
|
2202
|
+
attribute lossFactor: LossFactorValue :> scalarQuantities;
|
|
2203
|
+
|
|
2204
|
+
/* IEC-80000-6 item 6-55 loss angle */
|
|
2205
|
+
attribute lossAngle: AngularMeasureValue :> scalarQuantities {
|
|
2206
|
+
doc
|
|
2207
|
+
/*
|
|
2208
|
+
* source: item 6-55 loss angle
|
|
2209
|
+
* symbol(s): `δ`
|
|
2210
|
+
* application domain: generic
|
|
2211
|
+
* name: LossAngle (specializes AngularMeasure)
|
|
2212
|
+
* quantity dimension: 1
|
|
2213
|
+
* measurement unit(s): rad
|
|
2214
|
+
* tensor order: 0
|
|
2215
|
+
* definition: `δ = arctan d` where `d` is loss factor (item 6-54)
|
|
2216
|
+
* remarks: See IEC 60050-131 , item 131-12-49.
|
|
2217
|
+
*/
|
|
2218
|
+
}
|
|
2219
|
+
|
|
2220
|
+
/* IEC-80000-6 item 6-56 active power */
|
|
2221
|
+
attribute activePower: PowerValue :> scalarQuantities {
|
|
2222
|
+
doc
|
|
2223
|
+
/*
|
|
2224
|
+
* source: item 6-56 active power
|
|
2225
|
+
* symbol(s): `P`
|
|
2226
|
+
* application domain: generic
|
|
2227
|
+
* name: ActivePower (specializes Power)
|
|
2228
|
+
* quantity dimension: L^2*M^1*T^-3
|
|
2229
|
+
* measurement unit(s): W
|
|
2230
|
+
* tensor order: 0
|
|
2231
|
+
* definition: `P = 1/T int_0^T p dt` where `T` is the period (ISO 80000-3, item 3-12) and `p` is instantaneous power (item 6-45)
|
|
2232
|
+
* remarks: In complex notation, `P = "Re" underline(S)` where `underline(S)` is complex power (item 6-59).
|
|
2233
|
+
*/
|
|
2234
|
+
}
|
|
2235
|
+
|
|
2236
|
+
/* IEC-80000-6 item 6-57 apparent power */
|
|
2237
|
+
attribute apparentPower: PowerValue :> scalarQuantities {
|
|
2238
|
+
doc
|
|
2239
|
+
/*
|
|
2240
|
+
* source: item 6-57 apparent power
|
|
2241
|
+
* symbol(s): ``, `underline(S)`, ``
|
|
2242
|
+
* application domain: generic
|
|
2243
|
+
* name: ApparentPower (specializes Power)
|
|
2244
|
+
* quantity dimension: L^2*M^1*T^-3
|
|
2245
|
+
* measurement unit(s): V*A
|
|
2246
|
+
* tensor order: 0
|
|
2247
|
+
* definition: `|underline(S)| = U I` where `U` is rms value of voltage (item 6-11.3 and `I` is rms value of electric current (item 6-1)
|
|
2248
|
+
* remarks: `U = sqrt(1/T int_0^T u^2 dt)` and `I = sqrt(1/T int_0^T i^2 dt)`. When `u = sqrt 2 U cos(ωt)` and `i = sqrt 2 I cos(ωt - φ)`, then `P = U I cos(φ)`, `Q = U I sin(φ)` and `λ = cos(φ)` . See IEC 60050-131, item 131-11-41 .
|
|
2249
|
+
*/
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2252
|
+
/* IEC-80000-6 item 6-58 power factor */
|
|
2253
|
+
attribute def PowerFactorValue :> DimensionOneValue {
|
|
2254
|
+
doc
|
|
2255
|
+
/*
|
|
2256
|
+
* source: item 6-58 power factor
|
|
2257
|
+
* symbol(s): `λ`
|
|
2258
|
+
* application domain: generic
|
|
2259
|
+
* name: PowerFactor (specializes DimensionOneQuantity)
|
|
2260
|
+
* quantity dimension: 1
|
|
2261
|
+
* measurement unit(s): 1
|
|
2262
|
+
* tensor order: 0
|
|
2263
|
+
* definition: `λ = |P|/|S|` where `P` is active power (item 6-56) and `S` is apparent power (item 6-57)
|
|
2264
|
+
* remarks: See I EC 60050-131, item 131-11-46.
|
|
2265
|
+
*/
|
|
2266
|
+
}
|
|
2267
|
+
attribute powerFactor: PowerFactorValue :> scalarQuantities;
|
|
2268
|
+
|
|
2269
|
+
/* IEC-80000-6 item 6-59 complex power */
|
|
2270
|
+
attribute complexPower: PowerValue :> scalarQuantities {
|
|
2271
|
+
doc
|
|
2272
|
+
/*
|
|
2273
|
+
* source: item 6-59 complex power
|
|
2274
|
+
* symbol(s): `underline(S)`
|
|
2275
|
+
* application domain: generic
|
|
2276
|
+
* name: ComplexPower (specializes Power)
|
|
2277
|
+
* quantity dimension: L^2*M^1*T^-3
|
|
2278
|
+
* measurement unit(s): V*A
|
|
2279
|
+
* tensor order: 0
|
|
2280
|
+
* definition: `underline(S) = underline(U) * underline(I)^"*"` where `underline(U)` is voltage phasor (item 6-50) and `underline(I)^"*"` is the complex conjugate of the current phasor (item 6-49)
|
|
2281
|
+
* remarks: `underline(S) = P + jQ` where `P` is active power (item 6-56) and `Q` is reactive power (item 6-60). See IEC 60050-131, item 131-11-39.
|
|
2282
|
+
*/
|
|
2283
|
+
}
|
|
2284
|
+
|
|
2285
|
+
/* IEC-80000-6 item 6-60 reactive power */
|
|
2286
|
+
attribute reactivePower: PowerValue :> scalarQuantities {
|
|
2287
|
+
doc
|
|
2288
|
+
/*
|
|
2289
|
+
* source: item 6-60 reactive power
|
|
2290
|
+
* symbol(s): `Q`
|
|
2291
|
+
* application domain: generic
|
|
2292
|
+
* name: ReactivePower (specializes Power)
|
|
2293
|
+
* quantity dimension: L^2*M^1*T^-3
|
|
2294
|
+
* measurement unit(s): V*A, var
|
|
2295
|
+
* tensor order: 0
|
|
2296
|
+
* definition: `Q = "Im" underline(S)` where `underline(S)` is complex power (item 6-59)
|
|
2297
|
+
* remarks: See IEC 60050-131, item 131-11-44.
|
|
2298
|
+
*/
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2301
|
+
/* IEC-80000-6 item 6-61 non-active power */
|
|
2302
|
+
attribute nonActivePower: PowerValue :> scalarQuantities {
|
|
2303
|
+
doc
|
|
2304
|
+
/*
|
|
2305
|
+
* source: item 6-61 non-active power
|
|
2306
|
+
* symbol(s): `Q'`
|
|
2307
|
+
* application domain: generic
|
|
2308
|
+
* name: NonActivePower (specializes Power)
|
|
2309
|
+
* quantity dimension: L^2*M^1*T^-3
|
|
2310
|
+
* measurement unit(s): V*A
|
|
2311
|
+
* tensor order: 0
|
|
2312
|
+
* definition: `Q' = sqrt(|underline(S)|^2 - P^2)` where `|underline(S)|` is apparent power (item 6-57) and `P` is active power (item 6-56)
|
|
2313
|
+
* remarks: See IEC 60050-131, item 131-11-43.
|
|
2314
|
+
*/
|
|
2315
|
+
}
|
|
2316
|
+
|
|
2317
|
+
/* IEC-80000-6 item 6-62 active energy */
|
|
2318
|
+
attribute activeEnergy: EnergyValue :> scalarQuantities {
|
|
2319
|
+
doc
|
|
2320
|
+
/*
|
|
2321
|
+
* source: item 6-62 active energy
|
|
2322
|
+
* symbol(s): `W`
|
|
2323
|
+
* application domain: generic
|
|
2324
|
+
* name: ActiveEnergy (specializes Energy)
|
|
2325
|
+
* quantity dimension: L^2*M^1*T^-2
|
|
2326
|
+
* measurement unit(s): J, W*h
|
|
2327
|
+
* tensor order: 0
|
|
2328
|
+
* definition: `W = int_(t_1)^(t_2) p dt` where `p` is instantaneous power (item 6-45), and the integral interval is the time interval from `t_1` to `t_2`
|
|
2329
|
+
* remarks: None.
|
|
2330
|
+
*/
|
|
2331
|
+
}
|
|
2332
|
+
|
|
2333
|
+
}
|