Exemplo n.º 1
0
    def test_polynomial_parameters(self, model):
        # Using parameters for O2 saturation pressure as test case
        cforms.parameters_polynomial(
            model.params,
            "enth_mol_liq_comp",
            pyunits.J/pyunits.mol,
            [-9025.64288846283,
             -35.0797393389397,
             4.78790950986069,
             -8.95948250127742e-2,
             9.20005110933356e-4,
             -5.57355242293296E-06,
             1.85555931770993E-08,
             -2.63480658094238E-11],
            [1,
             -6.39773824359397e-3])

        assert isinstance(model.params.enth_mol_liq_comp_coeff_A0, Var)
        assert isinstance(model.params.enth_mol_liq_comp_coeff_A1, Var)
        assert isinstance(model.params.enth_mol_liq_comp_coeff_A2, Var)
        assert isinstance(model.params.enth_mol_liq_comp_coeff_A3, Var)
        assert isinstance(model.params.enth_mol_liq_comp_coeff_A4, Var)
        assert isinstance(model.params.enth_mol_liq_comp_coeff_A5, Var)
        assert isinstance(model.params.enth_mol_liq_comp_coeff_A6, Var)
        assert isinstance(model.params.enth_mol_liq_comp_coeff_A7, Var)

        assert isinstance(model.params.enth_mol_liq_comp_coeff_B0, Var)
        assert isinstance(model.params.enth_mol_liq_comp_coeff_B1, Var)

        assert model.params.enth_mol_liq_comp_coeff_A0.value == \
            -9025.64288846283
        assert model.params.enth_mol_liq_comp_coeff_A0.fixed
        assert model.params.enth_mol_liq_comp_coeff_A1.value == \
            -35.0797393389397
        assert model.params.enth_mol_liq_comp_coeff_A1.fixed
        assert model.params.enth_mol_liq_comp_coeff_A2.value == \
            4.78790950986069
        assert model.params.enth_mol_liq_comp_coeff_A2.fixed
        assert model.params.enth_mol_liq_comp_coeff_A3.value == \
            -8.95948250127742e-2
        assert model.params.enth_mol_liq_comp_coeff_A3.fixed
        assert model.params.enth_mol_liq_comp_coeff_A4.value == \
            9.20005110933356e-4
        assert model.params.enth_mol_liq_comp_coeff_A4.fixed
        assert model.params.enth_mol_liq_comp_coeff_A5.value == \
            -5.57355242293296E-06
        assert model.params.enth_mol_liq_comp_coeff_A5.fixed
        assert model.params.enth_mol_liq_comp_coeff_A6.value == \
            1.85555931770993E-08
        assert model.params.enth_mol_liq_comp_coeff_A6.fixed
        assert model.params.enth_mol_liq_comp_coeff_A7.value == \
            -2.63480658094238E-11
        assert model.params.enth_mol_liq_comp_coeff_A7.fixed

        assert model.params.enth_mol_liq_comp_coeff_B0.value == 1
        assert model.params.enth_mol_liq_comp_coeff_B0.fixed
        assert model.params.enth_mol_liq_comp_coeff_B1.value == \
            -6.39773824359397e-3
        assert model.params.enth_mol_liq_comp_coeff_B1.fixed
Exemplo n.º 2
0
        def build_parameters(cobj):
            cname = cobj.local_name
            cdict = CoolPropWrapper._get_component_data(cname)

            # 29-Dec-21: CoolProp only uses rational_polynomial.
            Alist, Blist = CoolPropWrapper._get_param_dicts(
                cname, cdict, "enth_mol_ig_comp", "hLV",
                ["rational_polynomial"])

            cforms.parameters_polynomial(cobj, "enth_mol_ig_comp",
                                         pyunits.J / pyunits.mol, Alist, Blist)

            # Next, build parameters for enth_mol_liq_comp if necessary
            if not hasattr(cobj, "enth_mol_liq_comp_coeff_A0"):
                CoolPropWrapper.enth_mol_liq_comp.build_parameters(cobj)
Exemplo n.º 3
0
        def build_parameters(cobj):
            cname = cobj.local_name
            cdict = CoolPropWrapper._get_component_data(cname)

            # 29-Dec-21: CoolProp only uses rational_polynomial.
            Alist, Blist = CoolPropWrapper._get_param_dicts(
                cname, cdict, "enth_mol_liq_comp", "hL",
                ["rational_polynomial"])
            href = cdict["EOS"][0]["STATES"]["hs_anchor"]["hmolar"]

            cforms.parameters_polynomial(cobj, "enth_mol_liq_comp",
                                         pyunits.J / pyunits.mol, Alist, Blist)

            href_var = Var(doc="Reference heat of formation",
                           units=pyunits.J / pyunits.mol)
            cobj.add_component("enth_mol_liq_comp_anchor", href_var)
            href_var.fix(href)