top of page
• kentra52

# What is a Perm?

A perm is a unit of permeance or "water vapor transmission" given differences in partial pressures on two sides of a membrane or material. It is commonly used in building science as a measure of how much water vapor can pass through a material.

The U.S. perm is defined as 1 grain of water vapor per hour, per square foot, per inch of mercury. Its base units are seconds/foot. The metric perm is defined as 1 gram of water vapor per day, per square meter, per millimeter of mercury. Its base units are seconds/meter.

The equivalent SI unit is 1 nanogram per second per square meter per pascal.

In the Point 85 Java Caliper library these calculations are:

MeasurementSystem sys = MeasurementSystem.instance();

UnitOfMeasure inHg = sys.getUOM(Unit.IN_HG);

UnitOfMeasure hr = sys.getUOM(Unit.HOUR);

UnitOfMeasure ft2 = sys.getUOM(Unit.SQUARE_FOOT);

UnitOfMeasure s = sys.getUOM(Unit.SECOND);

UnitOfMeasure day = sys.getUOM(Unit.DAY);

UnitOfMeasure msq = sys.getUOM(Unit.SQUARE_METRE);

UnitOfMeasure Pa = sys.getUOM(Unit.PASCAL);

UnitOfMeasure ng = sys.getUOM(Prefix.NANO, Unit.GRAM);

UnitOfMeasure g = sys.getUOM(Unit.GRAM);

UnitOfMeasure grain = sys.getUOM(Unit.GRAIN);

// mm of Mercury pressure

UnitOfMeasure mmHg = sys.createScalarUOM(UnitType.PRESSURE, "mmHg", "mmHg", "mmHg");

mmHg.setConversion(133.3223684d, Pa);

// US perm

UnitOfMeasure us1 = sys.createQuotientUOM(grain, inHg);

UnitOfMeasure us2 = sys.createQuotientUOM(us1, ft2);

UnitOfMeasure perm = sys.createQuotientUOM(us2, hr);

perm.setName("perm");

perm.setSymbol("perm");

perm.setDescription("gn/hr/ft2/inHg");

// metric perm

UnitOfMeasure m1 = sys.createQuotientUOM(g, day);

UnitOfMeasure m2 = sys.createQuotientUOM(m1, msq);

UnitOfMeasure mperm = sys.createQuotientUOM(m2, mmHg);

mperm.setName("mperm");

mperm.setSymbol("mperm");

mperm.setDescription("g/day/m2/mmHg");

// Equivalent SI unit

UnitOfMeasure si1 = sys.createQuotientUOM(ng, s);

UnitOfMeasure si2 = sys.createQuotientUOM(si1, msq);

UnitOfMeasure eqSI = sys.createQuotientUOM(si2, Pa);