首页 > 技术 > MSC > > SimManager 2012单位定义

SimManager 2012单位定义

作者:Simwe    来源:Altair    发布时间:2013-11-18    收藏】 【打印】  复制连接  【 】 我来说两句:(0逛逛论坛

1、概述

工程师在仿真过程中常需要处理各种不同物理量的数据,例如长度、时间、质量、力、速度、加速度、应力、能量等,每种物理量有其特定的量纲和单位,然而这些单位之间都有相互的联系。实际上,恰当地规定一些基本的单位(称为基本单位),可以使任何其他的单位(称为导出单位)都表达为这些单位的乘积,将其统一以便于表示各个物理量之间的关系。基本单位可以人为选取,从而形成不同的单位制,如英制、国际单位制等。以国际单位制为例,其选取了七个基本单位:即:长度(),质量(),时间(),电流(),温度(),物质的量(),发光强度()。

物理量单位是仿真中不可或缺的一部分,同一个物理量采用不同单位时其数值是不同的,工程师常会需要花费大量时间进行各种单位制之间的换算。SimManager提供了完善的单位定义系统,默认支持英制及国际单位制两种常用单位制,可以在界面中自动完成单位转换。用户也可以根据需要通过修改配置文件定义自己的单位。SimManager的单位制在UnitsModule.xml配置文件中定义,下面对SimManager中的单位定义进行简要介绍。

2、单位定义方式

SimManager的单位制在UnitsModule.xml配置文件中定义。UnitsModule.xml中主要包括<UnitsFamily>、<QuantityType>和<UnitsSystem>三部分定义。

每个<UnitsFamily>元素定义了可用于度量的一族单位的基本单位。<UnitsFamily>元素可以包含name、siUnitName、siUnitLabel、length、mass、time等属性,分别对应了该<UnitsFamily>的名称、国际单位制名称、国际单位制标签、长度指数、质量指数、时间指数等。<UnitsFamily>元素可以包含<Unit>元素,用于定义同族其他单位及其相对于本族单位的转换关系。以加速度这族< UnitsFamily >为例:

<UnitsFamily name="Acceleration" siUnitName="m_per_s__2" siUnitLabel="m/s^2" length="1" time="-2" >

<Unit name="g" multiplier="9.81" />

<Unit name="mm_per_ms__2" label="mm/ms^2" baseUnit="m_per_s__2" multiplier="1.0e+03" />

<Unit name="mm_per_s__2" label="mm/s^2" baseUnit="m_per_s__2" divisor="1.0e+03" />

</UnitsFamily>

其中<UnitsFamily>元素定义了名为Acceleration,国际单位制名称为m_per_s__2,国际单位制标签为m/s^2,与国际单位制基本单位换算关系为Acceleration=length^1*time^2 (m_per_s__2=m/s^2,也即长度的一次方乘以时间的负二次方)的加速度基本单位。而三个<Unit>元素则以加速度基本单位为基础,进一步定义了三个加速度常用单位:

g=9.81*m_per_s__2,

mm_per_ms__2=1.0e+03* m_per_s__2,

mm_per_s__2= m_per_s__2/1.0e+03

<Unit>元素可以包含name、label、baseUnit、multiplier、divisor、offset、scale等属性,其所定义的单位y与本族其他单位(由baseUnit定义,默认为本族基本单位)x。之间的换算公式为:

y = ((multiplier*x/divisor) + offset)*10^scale

<QuantityType>元素用于定义物理量并指定物理量适用哪一族(由<UnitsFamily>定义的)单位。<QuantityType>元素可以包含name和family元素。例如:

<QuantityType name="Acceleration" family="Acceleration" />

定义了名为Acceleration的物理量,其单位为上面<UnitsFamily>中定义的Acceleration一族单位。

<UnitsSystem>元素用于定义常用的单位制,可以包含name属性及<QuantityUnits>元素。<QuantityUnits>定义该单位制下的物理量及其默认单位,可以包含quantityType和units属性。例如:

<UnitsSystem name="SI_CONSISTENT">

<QuantityUnits quantityType="Acceleration" units="m_per_s__2" />

......

</UnitsSystem>

定义了名为SI_CONSISTENT的单位制,其中物理量Acceleration的默认单位为m_per_s__2。

 
分享到: 收藏