// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- // vi: set et ts=4 sw=4 sts=4: /***************************************************************************** * Copyright (C) 2011-2013 by Andreas Lauser * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * *****************************************************************************/ /*! * \file * * \brief This test makes sure that the programming interface is * observed by all fluid systems */ #include "config.h" #include "checkfluidsystem.hh" #include #if DUNE_VERSION_NEWER(DUNE_COMMON, 2, 3) #include #else #include #endif // include all fluid systems in opm-material #include #include #include #include #include #include #include #include #include // include all fluid states #include #include #include #include #include #include // include the tables for CO2 which are delivered with opm-material by // default #include namespace Opm { namespace FluidSystemsTest { #include } } int main(int argc, char **argv) { typedef double Scalar; typedef Opm::H2O H2O; typedef Opm::N2 N2; typedef Opm::LiquidPhase Liquid; typedef Opm::GasPhase Gas; // initialize MPI, finalize is done automatically on exit Dune::MPIHelper::instance(argc, argv); // check all fluid states { typedef Opm::FluidSystems::H2ON2 FluidSystem; // CompositionalFluidState { Opm::CompositionalFluidState fs; checkFluidState(fs); } // NonEquilibriumFluidState { Opm::NonEquilibriumFluidState fs; checkFluidState(fs); } // ImmiscibleFluidState { Opm::ImmiscibleFluidState fs; checkFluidState(fs); } typedef Opm::CompositionalFluidState BaseFluidState; BaseFluidState baseFs; // TemperatureOverlayFluidState { Opm::TemperatureOverlayFluidState fs(baseFs); checkFluidState(fs); } // PressureOverlayFluidState { Opm::PressureOverlayFluidState fs(baseFs); checkFluidState(fs); } // SaturationOverlayFluidState { Opm::SaturationOverlayFluidState fs(baseFs); checkFluidState(fs); } } // black-oil { typedef Opm::FluidSystems::BlackOil FluidSystem; if (false) checkFluidSystem(); } // Brine -- CO2 { typedef Opm::FluidSystems::BrineCO2 FluidSystem; checkFluidSystem(); } // H2O -- N2 { typedef Opm::FluidSystems::H2ON2 FluidSystem; checkFluidSystem(); } { typedef Opm::FluidSystems::H2ON2 FluidSystem; checkFluidSystem(); } // H2O -- N2 -- liquid phase { typedef Opm::FluidSystems::H2ON2LiquidPhase FluidSystem; checkFluidSystem(); } { typedef Opm::FluidSystems::H2ON2LiquidPhase FluidSystem; checkFluidSystem(); } // H2O -- Air { typedef Opm::SimpleH2O H2O; const bool enableComplexRelations=false; typedef Opm::FluidSystems::H2OAir FluidSystem; checkFluidSystem(); } { typedef Opm::SimpleH2O H2O; const bool enableComplexRelations=true; typedef Opm::FluidSystems::H2OAir FluidSystem; checkFluidSystem(); } { typedef Opm::H2O H2O; const bool enableComplexRelations=false; typedef Opm::FluidSystems::H2OAir FluidSystem; checkFluidSystem(); } { typedef Opm::H2O H2O; const bool enableComplexRelations=true; typedef Opm::FluidSystems::H2OAir FluidSystem; checkFluidSystem(); } // H2O -- Air -- Mesitylene { typedef Opm::FluidSystems::H2OAirMesitylene FluidSystem; checkFluidSystem(); } // H2O -- Air -- Xylene { typedef Opm::FluidSystems::H2OAirXylene FluidSystem; checkFluidSystem(); } // 2p-immiscible { typedef Opm::FluidSystems::TwoPImmiscible FluidSystem; checkFluidSystem(); } { typedef Opm::FluidSystems::TwoPImmiscible FluidSystem; checkFluidSystem(); } { typedef Opm::FluidSystems::TwoPImmiscible FluidSystem; checkFluidSystem(); } // 1p { typedef Opm::FluidSystems::OneP FluidSystem; checkFluidSystem(); } { typedef Opm::FluidSystems::OneP FluidSystem; checkFluidSystem(); } return 0; }