www.mooseframework.org
RichardsMultiphaseProblem.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "FEProblem.h"
13 
15 
16 template <>
18 
24 class RichardsMultiphaseProblem : public FEProblem
25 {
26 public:
27  RichardsMultiphaseProblem(const InputParameters & params);
29 
33  virtual void initialSetup();
34 
36  virtual bool shouldUpdateSolution();
37 
44  virtual bool updateSolution(NumericVector<Number> & vec_solution,
45  NumericVector<Number> & ghosted_solution);
46 
47 protected:
49  NonlinearVariableName _bounded_var_name;
50 
52  NonlinearVariableName _lower_var_name;
53 
55  unsigned int _bounded_var_num;
56 
58  unsigned int _lower_var_num;
59 };
60 
RichardsMultiphaseProblem::initialSetup
virtual void initialSetup()
extracts the moose variable numbers associated with bounded_var and lower_var
Definition: RichardsMultiphaseProblem.C:48
RichardsMultiphaseProblem::updateSolution
virtual bool updateSolution(NumericVector< Number > &vec_solution, NumericVector< Number > &ghosted_solution)
Does the bounding by modifying vec_solution, and then ghosted_solution.
Definition: RichardsMultiphaseProblem.C:86
validParams< RichardsMultiphaseProblem >
InputParameters validParams< RichardsMultiphaseProblem >()
Definition: RichardsMultiphaseProblem.C:21
RichardsMultiphaseProblem::_bounded_var_name
NonlinearVariableName _bounded_var_name
name of the bounded variable (this is the variable that gets altered to respect bounded_var > lower_v...
Definition: RichardsMultiphaseProblem.h:49
RichardsMultiphaseProblem
Allows a constraint u>=v to be enforced during the nonlinear iteration process.
Definition: RichardsMultiphaseProblem.h:24
RichardsMultiphaseProblem::_lower_var_num
unsigned int _lower_var_num
internal moose variable number associated with _lower_var
Definition: RichardsMultiphaseProblem.h:58
RichardsMultiphaseProblem::_lower_var_name
NonlinearVariableName _lower_var_name
name of the variable that acts as the lower bound to bounded_var
Definition: RichardsMultiphaseProblem.h:52
RichardsMultiphaseProblem::~RichardsMultiphaseProblem
virtual ~RichardsMultiphaseProblem()
Definition: RichardsMultiphaseProblem.C:45
RichardsMultiphaseProblem::_bounded_var_num
unsigned int _bounded_var_num
internal moose variable number associated with _bounded_var
Definition: RichardsMultiphaseProblem.h:55
RichardsMultiphaseProblem::shouldUpdateSolution
virtual bool shouldUpdateSolution()
returns true, indicating that updateSolution should be run
Definition: RichardsMultiphaseProblem.C:80
RichardsMultiphaseProblem::RichardsMultiphaseProblem
RichardsMultiphaseProblem(const InputParameters &params)
Definition: RichardsMultiphaseProblem.C:33