Skip to content

Suggestion to add units and quantitykinds from IFC #599

Closed
@fkleedorfer

Description

@fkleedorfer

I am working on an alignment between QUDT and IFC, a schema for building information modelling. The purpose is to define different 'standards' for building models (think: CompanyA's standard and CompanyB's standard), and to translate models from one standard to the other. Here is an Overview of units/measurements in IFC

I can map most of the IFC 'Measures' directly to QUDT QuantityKinds, but not all.

Here are the problematic ones (using the IfcDerivedUnitEnum enum; each has a corresponding Measure, such as IfcIsothermalMoistureCapacityMeasure):

  • IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT: qk:SpecificVolume is a more general QK that should fit
  • IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT: qk:VolumeFlowRate might be ok
  • IfcDerivedUnitEnum.THERMALADMITTANCEUNIT: qk:ThermalConductivity might fit
  • IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT: qk:ThermalConductance might fit
  • IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT: not in QUDT, no replacement found, and no unit either. Maybe https://en.wikipedia.org/wiki/Perm_(unit)?
  • IfcDerivedUnitEnum.LINEARFORCEUNIT: QUDT has qk:Force - the restriction to linear is not in QUDT.
  • IfcDerivedUnitEnum.PLANARFORCEUNIT: QUDT has qk:Force - the restriction to planar is not in QUDT.
  • IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT: qk:ForcePerLength might be ok, I am unsure though.
  • IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT: not in QUDT, and the common unit, N-PER-M3 has no QuantityKind. There is a Quantitykind with the same dimension vector, SpectralRadiantEnergyDensity, but that seems far off
  • IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT: QUDT has qk:ForcePerArea that might be ok, based on the unit, N-PER-M2
  • IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT: not in QUDT, qk:ForcePerAngle might be ok, based on the unit, N-PER-RAD
  • IfcDerivedUnitEnum.HEATINGVALUEUNIT: qk:SpecificEnergy could fit
  • IfcDerivedUnitEnum.IONCONCENTRATIONUNIT: not in QUDT. qk:IonDensity is a close match, but it may not be ok, as in IFC, it is associated with count per volume, but the derivation for ionconcentrationunit is g/l.
  • IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT: not in QUDT. The derivation, cd / lm does not exist as a unit in QUDT
  • IfcDerivedUnitEnum.PHUNIT: not in QUDT as a QuantityKind, but there is unit:PH (no quantity kind)
  • IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT: not in QUDT, and not sure what it is. The unit, m^5 is not in QUDT
  • IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT: not in QUDT, but the unit, K/m is
  • IfcDerivedUnitEnum.WARPINGCONSTANTUNIT: not in QUDT, nor is the unit, M^6
  • IfcDerivedUnitEnum.WARPINGMOMENTUNIT: not in QUDT, but NM^2 is

I would like to achieve bijective mappings between QUDT QuantityKinds and IFC Measures(UnitTypes)
Thus,

  • mapping multiple IFC measures to qk:Force is a problem for me
  • having no mapping for an IFC measure (such as the warping measures) is a problem, too.

Adding the missing units/quantitykinds would fix the problem for me, so I suggest to provide a PR with the following additions:

  • IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT: add qk:IsothermalMoustureCapacity skos:broader qk:SpecificVolume
  • IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT: add qk:MoistureDiffusivity skos:broader qk:VolumeFlowRate
  • IfcDerivedUnitEnum.THERMALADMITTANCEUNIT: add qk:ThermalAdmittance skos:broader qk:ThermalConductivity
  • IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT: add qk:TermalTransmittance skos:broader qk:ThermalConductance
  • IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT: add the different https://en.wikipedia.org/wiki/Perm_(unit) units and qk:VaporPermeability (not sure of a more general concept to link to/from), and associate them
  • IfcDerivedUnitEnum.LINEARFORCEUNIT: add qk:LinearForce skos:broader qk:Force
  • IfcDerivedUnitEnum.PLANARFORCEUNIT: add qk:PlanarForce skos:broader qk:Force
  • IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT: add qk:LinearStiffness skos:broader qk:ForcePerLength
  • IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT: add qk:ModulusOfSubgradeReaction, link to and use qkdv of N-PER-M3
  • IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT: add qk:ModulusOfLinearSubgradeReaction skos:broader qk:ForcePerArea
  • IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT: add qk:ModulusOfRotationalSubgradeReaction skos:broader qk:ForcePerAngle
  • IfcDerivedUnitEnum.HEATINGVALUEUNIT: add qk:HeatingValue skos:broader qk:SpecificEnergy
  • IfcDerivedUnitEnum.IONCONCENTRATIONUNIT: do nothing (I'll use qk:IonDensity)
  • IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT: Not sure what that is, but I would still add unit:CD-PER-LM and qk:LuminousIntensityDistribution and associate them
  • IfcDerivedUnitEnum.PHUNIT: add qk:Acidity, associate with unit:PH
  • IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT: and not sure what it is, but I would add unit:M5 and qk:SectionAreaIntegral and associate them
  • IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT: add qk:TemperatureGradient, associate with unit:K-PER-M
  • IfcDerivedUnitEnum.WARPINGCONSTANTUNIT: add qk:WarpingConstant and unit:M6, and associate them
  • IfcDerivedUnitEnum.WARPINGMOMENTUNIT: add qk:WarpingMoment and unit:N-M2 and associate them

I am grateful for any corrections or suggestions for the problems listed above.

If there is interest, I could also contribute a mapping from QUDT units to IFC units, and from QUDT quantitykinds to IFC unit types/measures.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions