https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ArrayIntegratedBC.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 "IntegratedBCBase.h"
14#include "MooseVariableScalar.h"
15
19class ArrayIntegratedBC : public IntegratedBCBase, public MooseVariableInterface<RealEigenVector>
20{
21public:
23
25
26 virtual const ArrayMooseVariable & variable() const override { return _var; }
27
28 virtual void computeResidual() override;
29 virtual void computeJacobian() override;
33 virtual void computeOffDiagJacobian(unsigned int jvar) override;
38 void computeOffDiagJacobianScalar(unsigned int jvar) override;
39
40protected:
44 virtual void computeQpResidual(RealEigenVector & residual) = 0;
45
49 virtual RealEigenVector computeQpJacobian();
50
54 virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase & jvar);
55
60 virtual RealEigenMatrix computeQpOffDiagJacobianScalar(const MooseVariableScalar & jvar);
61
65 virtual void initQpResidual() {}
66
70 virtual void initQpJacobian() {}
71
77
79
82
85
88
91
93 const unsigned int _count;
94
95private:
97 RealEigenVector _work_vector;
98};
OutputTools< RealEigenVector >::VariableValue ArrayVariableValue
Definition MooseTypes.h:382
OutputTools< RealEigenVector >::VariablePhiValue ArrayVariablePhiValue
Definition MooseTypes.h:389
OutputTools< RealEigenVector >::VariableTestValue ArrayVariableTestValue
Definition MooseTypes.h:395
Base class for deriving any boundary condition of a integrated type.
ArrayMooseVariable & _var
const MooseArray< Point > & _normals
normals at quadrature points
virtual RealEigenVector computeQpJacobian()
Method for computing the diagonal Jacobian at quadrature points.
virtual RealEigenMatrix computeQpOffDiagJacobianScalar(const MooseVariableScalar &jvar)
This is the virtual that derived classes should override for computing a full Jacobian component.
virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFEBase &jvar)
Method for computing an off-diagonal jacobian component at quadrature points.
RealEigenVector _work_vector
Work vector for residual.
virtual const ArrayMooseVariable & variable() const override
Returns the variable that this object operates on.
virtual void initQpOffDiagJacobian(const MooseVariableFEBase &)
Put necessary evaluations depending on qp but independent on test and shape functions here for off-di...
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes d-ivar-residual / d-jvar...
void computeOffDiagJacobianScalar(unsigned int jvar) override
Computes jacobian block with respect to a scalar variable.
virtual void computeQpResidual(RealEigenVector &residual)=0
Method for computing the residual at quadrature points, to be filled in residual.
virtual void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
virtual void computeResidual() override
Compute this object's contribution to the residual.
static InputParameters validParams()
virtual void initQpResidual()
Put necessary evaluations depending on qp but independent on test functions here.
const ArrayVariableTestValue & _test
test function values (in QPs)
const ArrayVariablePhiValue & _phi
shape function values (in QPs)
virtual void initQpJacobian()
Put necessary evaluations depending on qp but independent on test and shape functions here.
const ArrayVariableValue & _u
the values of the unknown variable this BC is acting on
const unsigned int _count
Number of components of the array variable.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Base class for deriving any boundary condition of a integrated type.
forward declarations
Definition MooseArray.h:18
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
This class provides an interface for common operations on field variables of both FE and FV types wit...
Interface for objects that need to get values of MooseVariables.
Class for scalar variables (they are different).