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