User Tools

Site Tools


class:domain:xunitsystem

XUnitSystem

Inherited from NItem,

Inherited by NULL

Friend class NULL

Description

XUnitSystem从NItem继承,封装了单位系统定义的数据及其方法,其类型标识为“CUNITSYSTEM”。 XT的单位系统以国际标准单位系统(SI)为基准,所有的数据在底层都按照SI单位存储读取,在应用层面用户可以定义自己的单位系统,XUnitSystem提供了用于SI与定制单位系之间的转换函数。

XUnitSystem预置了7个基本基本量纲单位以及40多种导出量纲单位,基本上覆盖了仿真分析中所使用的绝大多数单位类型。

Unit_Length“Length” 0
Unit_Time“Time” 1
Unit_Mass“Mass” 2
Unit_Force“Force” 3
Unit_Angle“Angle” 4
Unit_Temperature“Temperature” 5
Unit_Area“Area” 6
Unit_Volume“Volume” 7
Unit_Velocity“Velocity” 8
Unit_Acceleration“Acceleration” 9
Unit_RotateVelo“AngularVelocity” 10
Unit_RotateAcc“AngularAcceleration” 11
Unit_Moment“Moment” 12
Unit_Pressure“Pressure” 13
Unit_Density“Density” 14
Unit_Stiffness“Stiffness” 15
Unit_RotateStiff“RotateStiffness” 16
Unit_DampingCoef“DampingCoefficient” 17
Unit_RotateDampingCoef“RotateDampingCoefficient” 18
Unit_Modulus“ElasticModules” 19
Unit_Energy“Energy” 20
Unit_Power“Power” 21
Unit_ThermalExCoef“ThermalExpansionCoefficient” 22
Unit_ThermalConductivity“ThermalConductivity” 23
Unit_ConvectionCoef“ConvectionCoefficient” 24
Unit_SpecificHeat“SpecificHeat” 25
Unit_HeatFlux“HeatFlux” 26
Unit_HeatGeneration“HeatGeneration” 27
Unit_LinearDensity“MassPerUnitLength” 28
Unit_SurfaceDensity“MassPerUnitArea” 29
Unit_AreaMomentInertia“AreaMomentInertia” 30
Unit_TorsionalConst“TorsionalConstant” 31
Unit_WarpCoef“WarpingCoefficient” 32
Unit_LinearMassMomentIntertia“MassMomentOfInertiaPerUnitLength” 33
Unit_MomentInertia“MassMomentOfInertia” 34
Unit_Stress“Stress” 35
Unit_Strain“Strain” 36
Unit_StrainEnergy“StrainEnergy” 37
Unit_ThermalEnergy“ThermalEnergy” 38
Unit_Frequency“Frequency” 39
Unit_VolumeEnergyDensity“VolumeEnergyDensity” 40
Unit_ElectricalResistivity“ElectricalResistivity” 41
Unit_StressReciprocal“StressReciprocal” 42
Unit_ThermalRadiation“ThermalRadiation” 43
Unit_DynamicViscosity“DynamicViscosity” 44
Unit_KinematicViscosity“KinematicViscosity” 45
Unit_FlowRate“FlowRate” 46
Unit_VelocityReciprocal“VelocityReciprocal” 47
Unit_EquivalentViscosity“EquivalentViscosity” 48

Members

Public interface


int m_iUnits[Unit_Type_Count]

各类型单位选项数组


XUnitSystem(ulong id)

  • function: 构造函数
  • parameters:
    1. [i]ulong id: 对象ID
  • return value: 无

~XUnitSystem()

  • function: 析构函数
  • parameters: NULL
  • return value: 无

static int getUnitCount(TypeID unitType)

  • function: 静态函数,获取指定类型的单位个数
  • parameters:
    1. [i]TypeID unitType: 单位类型
  • return value: 指定类型的单位个数

static const char * getUnitString(TypeID unitType, ulong unitID)

  • function: 静态函数,获取指定类型单位指定单位值的字符串
  • parameters:
    1. [i]TypeID unitType: 单位类型
    2. [i] ulong unitID: 单位值
  • return value:

static const char * getUnitTypeString(TypeID unitType)

  • function: 静态函数,获取指定类型单位的字符串
  • parameters:
    1. [i]TypeID unitType: 单位类型
  • return value: 指定类型单位的字符串

static double convertToSI(TypeID unitType, ulong unitID, double curValue)

  • function: 将值转换为SI单位系统的值
  • parameters:
    1. [i]TypeID unitType: 单位类型
    2. [i] ulong unitID: 源单位值
    3. [i] double curValue: 源单位系下的值
  • return value: SI单位系下的值

static double convertFromSI(TypeID unitType, ulong unitID, double coreValue)

  • function: 将SI单位系下的值转换为目标单位系的值
  • parameters:
    1. [i]TypeID unitType: 单位类型
    2. [i] ulong unitID: 目标单位值
    3. [i] double coreValue: SI单位系下的值
  • return value: 目标单位系下的值

static int getSIUnit(TypeID unitType)

  • function: 获取SI单位系下的指定类型的单位值
  • parameters:
    1. [i]TypeID unitType: 单位类型
  • return value: SI单位系下的指定类型的单位值

double getValue(TypeID unitType, double siValue) const

  • function: 将SI系下的值转换为获取本单位系统下的值
  • parameters:
    1. [i]TypeID unitType: 单位类型
    2. [i] double siValue: SI系下的值
  • return value: 本单位系统下的值

double getSIValue(TypeID unitType, double value) const

  • function: 将本单位系统下的值转为SI系下的值
  • parameters:
    1. [i]TypeID unitType: 单位类型
    2. [i] double value: 本单位系统下的值
  • return value: SI系下的值

int & getUnit(TypeID unitType)

  • function: 获取指定类型的单位值选项
  • parameters:
    1. [i]TypeID unitType: 单位类型
  • return value: 指定类型的单位值选项

int getUnit(TypeID unitType) const

  • function: 获取指定类型的单位值选项
  • parameters:
    1. [i]TypeID unitType: 单位类型
  • return value: 指定类型的单位值选项

void setUnit(TypeID unitType, ulong unitID)

  • function: 设置指定类型的单位值
  • parameters:
    1. [i]TypeID unitType: 单位类型
    2. [i] ulong unitID: 指定类型的单位值
  • return value: 无

virtual void write(XBinaryIO * io)

  • function: 将对象数据写入到二进制文件中
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 无

virtual ErrorCode read(XBinaryIO * io)

  • function: 从二进制文件中读取对象数据
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 如成功读取返回Error_None, 否则返回相应错误码
class/domain/xunitsystem.txt · Last modified: 2023/05/06 07:01 (external edit)