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 
20 {
21 public:
23 
26 
30  virtual void initialSetup();
31 
33  virtual bool shouldUpdateSolution();
34 
41  virtual bool updateSolution(NumericVector<Number> & vec_solution,
42  NumericVector<Number> & ghosted_solution);
43 
44 protected:
46  NonlinearVariableName _bounded_var_name;
47 
49  NonlinearVariableName _lower_var_name;
50 
52  unsigned int _bounded_var_num;
53 
55  unsigned int _lower_var_num;
56 };
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
static InputParameters validParams()
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.