def test_fast(): """Test the fast option""" # First without fast-mode: gasoil = GasOil(h=0.1) gasoil.add_corey_gas() gasoil.add_corey_oil() # This crosspoint computation is only present for fast=False: assert "-- krg = krog @ sg=0.5" in gasoil.SGOF() # Provoke non-strict-monotone krow: gasoil.table.loc[0:2, "krog"] = [1.00, 0.81, 0.81] # (this is valid in non-imbibition, but pyscal will correct it for all # curves) assert "0.1000000 0.0100000 0.8100000 0.0000000" in gasoil.SGOF() assert "0.2000000 0.0400000 0.8099999 0.0000000" in gasoil.SGOF() # monotonocity correction: ^^^^^^ # Now redo with fast option: gasoil = GasOil(h=0.1, fast=True) gasoil.add_corey_gas() gasoil.add_corey_oil() # This crosspoint computation is only present for fast=False: assert "-- krg = krog" not in gasoil.SGOF() # Provoke non-strict-monotone krow, in fast-mode # this slips through: gasoil.table.loc[0:2, "krog"] = [1.00, 0.81, 0.81] assert "0.1000000 0.0100000 0.8100000 0.0000000" in gasoil.SGOF() assert "0.2000000 0.0400000 0.8100000 0.0000000" in gasoil.SGOF() # not corrected: ^^^^^^ gasoil.table.loc[0:2, "krg"] = [0.00, 0.01, 0.01] assert "0.1000000 0.0100000" in gasoil.SGFN() assert "0.2000000 0.0100000" in gasoil.SGFN()
def test_sgfn(): """Test that we can call SGFN without oil relperm defined""" gasoil = GasOil() gasoil.add_corey_gas() sgfn_str = gasoil.SGFN() assert "SGFN" in sgfn_str assert len(sgfn_str) > 15
def test_gasoil_tag(tag): """Test tagging of GasOil objects, that we are not able to produce something that can crash Eclipse""" gasoil = GasOil(h=0.5, tag=tag) gasoil.add_corey_gas() gasoil.add_corey_oil() sat_table_str_ok(gasoil.SGOF()) sat_table_str_ok(gasoil.SGFN())
def test_selfcheck(columnname, errorvalues): """Test the selfcheck feature of a GasOil object""" gasoil = GasOil(h=1) gasoil.add_corey_gas() gasoil.add_corey_oil() assert gasoil.selfcheck() # Punch the internal table directly to trigger error: gasoil.table[columnname] = errorvalues assert not gasoil.selfcheck() assert gasoil.SGOF() == "" if not columnname == "KROG": assert gasoil.SGFN() == ""
def test_comments(): """Test that the outputters include endpoints in comments""" gasoil = GasOil(h=0.3) gasoil.add_corey_gas() gasoil.add_corey_oil() sgfn = gasoil.SGFN() assert "--" in sgfn assert "pyscal: " in sgfn # part of version string assert "swirr=0" in sgfn assert "sgcr=0" in sgfn assert "swl=0" in sgfn assert "sorg=0" in sgfn assert "ng=2" in sgfn assert "krgend=1" in sgfn assert "Corey" in sgfn assert "krg = krog @ sg=0.5" in sgfn assert "Zero capillary pressure" in sgfn assert "SG" in sgfn assert "KRG" in sgfn assert "PC" in sgfn sgof = gasoil.SGOF() assert "--" in sgof assert "pyscal: " in sgof # part of version string assert "swirr=0" in sgof assert "sgcr=0" in sgof assert "swl=0" in sgof assert "sorg=0" in sgof assert "ng=2" in sgof assert "nog=2" in sgof assert "krgend=1" in sgof assert "Corey" in sgof assert "krg = krog @ sg=0.5" in sgof assert "Zero capillary pressure" in sgof assert "SG" in sgof assert "KRG" in sgof assert "KROG" in sgof assert "PC" in sgof