Opm::CuvetteProblem< TypeTag > Class Template Reference Non-isothermal three-phase gas injection problem where a hot gas is injected into a unsaturated porous medium with a residually trapped NAPL contamination. More...
Inheritance diagram for Opm::CuvetteProblem< TypeTag >:
Detailed Descriptiontemplate<class TypeTag> class Opm::CuvetteProblem< TypeTag > Non-isothermal three-phase gas injection problem where a hot gas is injected into a unsaturated porous medium with a residually trapped NAPL contamination. The domain is a quasi-two-dimensional container (cuvette). Its dimensions are 1.5 m x 0.74 m. The top and bottom boundaries are closed, the right boundary is a free-flow boundary allowing fluids to escape. From the left, an injection of a hot water-air mixture is injected. The set-up is aimed at remediating an initial NAPL (Non-Aquoeus Phase Liquid) contamination in the domain. The contamination is initially placed partly into the ambient coarse sand and partly into a fine sand lens. This simulation can be varied through assigning different boundary conditions at the left boundary as described in Class (2001): Theorie und numerische Modellierung nichtisothermer Mehrphasenprozesse in NAPL-kontaminierten poroesen Medien, Dissertation, Eigenverlag des Instituts fuer Wasserbau To see the basic effect and the differences to scenarios with pure steam or pure air injection, it is sufficient to simulate this problem to about 2-3 hours simulation time. Complete remediation of the domain requires much longer (about 10 days simulated time). Constructor & Destructor Documentation◆ CuvetteProblem()
template<class TypeTag >
Member Function Documentation◆ boundary()
template<class TypeTag >
template<class Context >
Evaluate the boundary conditions for a boundary segment.
◆ endTimeStep()
template<class TypeTag >
Called by the simulator after each time integration. This method is intended to do some post processing of the solution. (e.g., some additional output) ◆ finishInit()
template<class TypeTag >
Called by the Opm::Simulator in order to initialize the problem. If you overload this method don't forget to call ParentType::finishInit() ◆ initial()
template<class TypeTag >
template<class Context >
Evaluate the initial value for a control volume.
References Opm::CuvetteProblem< TypeTag >::materialLawParams(). ◆ intrinsicPermeability()
template<class TypeTag >
template<class Context >
◆ materialLawParams()
template<class TypeTag >
template<class Context >
Referenced by Opm::CuvetteProblem< TypeTag >::initial(). ◆ name()
template<class TypeTag >
The problem name. This is used as a prefix for files generated by the simulation. It is highly recommend to overwrite this method in the concrete problem which is simulated. ◆ porosity()
template<class TypeTag >
template<class Context >
◆ registerParameters()
template<class TypeTag >
◆ shouldWriteRestartFile()
template<class TypeTag >
Returns true if a restart file should be written to disk. The default behavior is to write one restart file every 10 time steps. This method should be overwritten by the implementation if the default behavior is deemed insufficient. This problem writes a restart file after every time step. ◆ source()
template<class TypeTag >
template<class Context >
Evaluate the source term for all phases within a given sub-control-volume.
For this problem, the source term of all components is 0 everywhere. ◆ temperature()
template<class TypeTag >
template<class Context >
◆ thermalConductionParams()
template<class TypeTag >
template<class Context >
The documentation for this class was generated from the following file: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||