Skip to the content.

ComponentSolid.fugcoef(PhaseInterface) uses the existing liquid-reference fusion model by default. An enabled component can explicitly select the sublimation-pressure route with setUseSolidVaporPressure(true). The choice is per component; it does not enable solid checking by itself. Methane retains its empirical-phase exclusion in the phase entry point. The option is supported only by ComponentSolid itself. Specialized solid components, including all wax models, reject enabling this incompatible reference.

SystemSrkEos fluid = new SystemSrkEos(190.0, 2.0);
fluid.addComponent("CO2", 1.0);
fluid.setMixingRule(2);
fluid.setSolidPhaseCheck(true);
PhaseInterface solid = fluid.getPhases()[3];
solid.setTemperature(190.0);
solid.setPressure(2.0);
ComponentSolid carbonDioxide = (ComponentSolid) solid.getComponent("CO2");
carbonDioxide.setUseSolidVaporPressure(true);
double coefficient = carbonDioxide.fugcoef(solid);

Imports are neqsim.thermo.system.SystemSrkEos, neqsim.thermo.phase.PhaseInterface, and neqsim.thermo.component.ComponentSolid. The example’s API path is executed by ComponentSolidFugacityTest.

Sublimation reference and units

For positive heat of sublimation and triple-point pressure, the route uses Clausius–Clapeyron. Otherwise it uses the available solid Antoine correlation. Missing or invalid data raises an exception; a coefficient from a previous evaluation is never reused as substitute data.

The coefficient is evaluated from

\[\phi_s=\frac{P_{sub}}{P}\phi_v(T,P_{sub})\exp\left[\frac{v_s(P-P_{sub})10^5}{RT}\right]\]

where P and Psub are in bara, vs = molarMass / density is in m3/mol, R is in J/(mol K), and T is in K. The pure fluid reference is evaluated on its gas branch at the sublimation pressure.

The density polynomial returned by getPureComponentSolidDensity is in kg/m3, as is the liquid-density polynomial. Valid tabulated solid density is retained. Only an entirely absent density polynomial uses the legacy 1000 kg/m3 screening assumption; a present polynomial returning a nonpositive or nonfinite density fails. This fallback is an assumption, not substance-specific density validation.

The sublimation route accepts finite positive pressure and temperature no higher than the component’s triple point. It rejects higher temperatures instead of silently substituting the triple-point temperature. The published temperature derivative is a numerical derivative of ln(phi) at fixed pressure; the pressure derivative includes the bar-to-Pa factor in the Poynting term. The pure reference coefficient has zero composition derivatives. The public derivative entry points use this selected reference during higher-level initialization.

Compatibility and boundaries

See also experimental solid Helmholtz models and thermodynamic models.