https://mooseframework.inl.gov
BoundaryIntegralValueConstraint.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 "IntegratedBC.h"
13 
15 
24 {
25 public:
27 
29 
30  const MooseVariableScalar & lambdaVariable() const { return _lambda_var; }
31 
32  virtual std::set<std::string> additionalROVariables() override;
33 
34 protected:
35  virtual Real computeQpResidual() override;
36  virtual void computeResidual() override;
37  virtual void computeOffDiagJacobian(unsigned int jvar) override;
38  virtual void computeOffDiagJacobianScalar(unsigned int jvar) override;
39  virtual void computeResidualAndJacobian() override;
40 
42  void computeScalarResidual();
43 
45  void computeScalarJacobian();
46 
49 
52 
55 
58 
61 };
const MooseVariableScalar & _lambda_var
Lagrange multiplier scalar variable.
virtual void computeResidual() override
Compute this object&#39;s contribution to the residual.
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes d-ivar-residual / d-jvar...
virtual void computeOffDiagJacobianScalar(unsigned int jvar) override
Computes jacobian block with respect to a scalar variable.
const MooseVariableScalar & lambdaVariable() const
Enforces the average value of a finite element variable on a boundary using a scalar Lagrange multipl...
void computeScalarJacobian()
Compute the zero diagonal block for the Lagrange multiplier equation.
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
void computeFieldScalarJacobian()
Compute the Jacobian contribution from the Lagrange multiplier to the field equation.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void computeScalarFieldJacobian()
Compute the Jacobian contribution from the field variable to the Lagrange multiplier equation...
virtual void computeResidualAndJacobian() override
Compute this object&#39;s contribution to the residual and Jacobian simultaneously.
Real PostprocessorValue
various MOOSE typedefs
Definition: MooseTypes.h:230
Base class for deriving any boundary condition of a integrated type.
Definition: IntegratedBC.h:18
void computeScalarResidual()
Compute the Lagrange multiplier residual contribution.
forward declarations
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual std::set< std::string > additionalROVariables() override
Class for scalar variables (they are different).
const VariableValue & _lambda
Lagrange multiplier scalar variable value.
const PostprocessorValue & _phi0
The value that the boundary average of the field variable is constrained to.
BoundaryIntegralValueConstraint(const InputParameters &parameters)
virtual Real computeQpResidual() override
Method for computing the residual at quadrature points.