www.mooseframework.org
RichardsMultiphaseProblem.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #ifndef RICHARDSMULTIPHASEPROBLEM_H
9 #define RICHARDSMULTIPHASEPROBLEM_H
10 
11 #include "FEProblem.h"
12 
14 
15 template <>
17 
23 class RichardsMultiphaseProblem : public FEProblem
24 {
25 public:
26  RichardsMultiphaseProblem(const InputParameters & params);
28 
32  virtual void initialSetup();
33 
35  virtual bool shouldUpdateSolution();
36 
43  virtual bool updateSolution(NumericVector<Number> & vec_solution,
44  NumericVector<Number> & ghosted_solution);
45 
46 protected:
48  NonlinearVariableName _bounded_var_name;
49 
51  NonlinearVariableName _lower_var_name;
52 
54  unsigned int _bounded_var_num;
55 
57  unsigned int _lower_var_num;
58 };
59 
60 #endif /* RICHARDSMULTIPHASEPROBLEM_H */
NonlinearVariableName _bounded_var_name
name of the bounded variable (this is the variable that gets altered to respect bounded_var > lower_v...
NonlinearVariableName _lower_var_name
name of the variable that acts as the lower bound to bounded_var
virtual bool shouldUpdateSolution()
returns true, indicating that updateSolution should be run
RichardsMultiphaseProblem(const InputParameters &params)
unsigned int _bounded_var_num
internal moose variable number associated with _bounded_var
InputParameters validParams< RichardsMultiphaseProblem >()
unsigned int _lower_var_num
internal moose variable number associated with _lower_var
virtual void initialSetup()
extracts the moose variable numbers associated with bounded_var and lower_var
Allows a constraint u>=v to be enforced during the nonlinear iteration process.
virtual bool updateSolution(NumericVector< Number > &vec_solution, NumericVector< Number > &ghosted_solution)
Does the bounding by modifying vec_solution, and then ghosted_solution.