NLTE-Units - 数值单位计算包


Apache
跨平台
Java

软件简介

NLTE-Units简介

NLTE-Units是一款完全开源、免费、跨平台的数值单位计算包,主要用于处理带单位的数据及量纲分析。NLTE-
Units致力于解决科学计算中单位计算与换算的问题,目前为Java版本,之后会逐步推广至.Net平台。

主要功能与特色

1. 跨平台

NLTE-Units采用Java编写,天生具有良好的跨平台性能。

2. 自带丰富的单位库

目前已经整合的单位库有:加速度单位(accelerate)、面积单位(area)、无量纲单位(empty)、能量单位(energy)、力的单位(force)、长度单位(length)、质量单位(mass)、功率单位(power)、压强单位(pressure)、温度单位(temperature)、时间单位(time)、速度单位(velocity)、体积单位(volume)

以后版本中会陆续加入其它的单位,如动力粘度、比热、导热系数等

3. 可扩展式单位库

本单位库支持用户自定义单位,用于特定的分析中,扩展用户自定义单位只需继承DerivedUnit类即可。

4. 简便的使用方法

public static void main(String[] args) {
    // 定义带单位的数据
    ValueWithUnit mass = new ValueWithUnit(2.0, new UMass_Kg());
    ValueWithUnit accelerate = new ValueWithUnit(1.0, new UAccelerate_g());
    // 带单位的数据计算
    ValueWithUnit force = mass.multiply(accelerate);
    // 将结果转化为指定的单位制
    force = force.convertTo(new UForce_N());
    System.out.println("Force :" + force.getValue() + force.getUnit().getDescription());
    // 采用工厂方法获取单位类
    force = force.convertTo(UnitUtils.getUnit("UForce_KN"));
    System.out.println("Force :" + force.getValue() + force.getUnit().getDescription());
}

重要说明:

1. 本项目源码采用Netbeans编写,使用时直接用Netbeans打开项目即可。

2. 本项目涉及的单位很多,虽然已经仔细核对,但细微的BUG不可避免,希望更多的开发者能参与到本项目中来,共同完善本项目。

源码地址:

http://git.oschina.net/yetao_study/NLTE-
Units

下载地址:

http://git.oschina.net/yetao_study/NLTE-
Units/blob/master/dist/UnitsGBK_V1.0.jar