#include <BoundaryConditionsContainer.hpp>
Public Types | |
typedef std::map< const BoundaryElement< ELEM_DIM-1, SPACE_DIM > *, const AbstractBoundaryCondition < SPACE_DIM > * >::const_iterator | NeumannMapIterator |
Public Member Functions | |
BoundaryConditionsContainer () | |
~BoundaryConditionsContainer () | |
void | AddDirichletBoundaryCondition (const Node< SPACE_DIM > *pBoundaryNode, const AbstractBoundaryCondition< SPACE_DIM > *pBoundaryCondition, unsigned indexOfUnknown=0, bool checkIfBoundaryNode=true) |
void | AddNeumannBoundaryCondition (const BoundaryElement< ELEM_DIM-1, SPACE_DIM > *pBoundaryElement, const AbstractBoundaryCondition< SPACE_DIM > *pBoundaryCondition, unsigned indexOfUnknown=0) |
void | DefineZeroDirichletOnMeshBoundary (AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *pMesh, unsigned indexOfUnknown=0) |
void | DefineConstantDirichletOnMeshBoundary (AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *pMesh, double value, unsigned indexOfUnknown=0) |
void | DefineZeroNeumannOnMeshBoundary (AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *pMesh, unsigned indexOfUnknown=0) |
void | ApplyDirichletToLinearProblem (LinearSystem &rLinearSystem, bool applyToMatrix=true) |
void | ApplyDirichletToNonlinearResidual (const Vec currentSolution, Vec residual, DistributedVectorFactory &rFactory) |
void | ApplyDirichletToNonlinearJacobian (Mat jacobian) |
bool | Validate (AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *pMesh) |
double | GetNeumannBCValue (const BoundaryElement< ELEM_DIM-1, SPACE_DIM > *pSurfaceElement, const ChastePoint< SPACE_DIM > &rX, unsigned indexOfUnknown=0) |
bool | HasNeumannBoundaryCondition (const BoundaryElement< ELEM_DIM-1, SPACE_DIM > *pSurfaceElement, unsigned indexOfUnknown=0) |
bool | AnyNonZeroNeumannConditions () |
NeumannMapIterator | BeginNeumann () |
NeumannMapIterator | EndNeumann () |
Private Attributes | |
std::map< const BoundaryElement< ELEM_DIM-1, SPACE_DIM > *, const AbstractBoundaryCondition < SPACE_DIM > * > * | mpNeumannMap [PROBLEM_DIM] |
NeumannMapIterator | mLastNeumannCondition [PROBLEM_DIM] |
bool | mAnyNonZeroNeumannConditionsForUnknown [PROBLEM_DIM] |
ConstBoundaryCondition < SPACE_DIM > * | mpZeroBoundaryCondition |
This class contains a list of nodes on the Dirichlet boundary and associated Dirichlet boundary conditions, and a list of surface elements on the Neumann boundary and associated Neumann boundary conditions.
Definition at line 57 of file BoundaryConditionsContainer.hpp.
typedef std::map< const BoundaryElement<ELEM_DIM-1, SPACE_DIM>*, const AbstractBoundaryCondition<SPACE_DIM>* >::const_iterator BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::NeumannMapIterator |
Type of a read-only iterator over Neumann boundary conditions.
Definition at line 63 of file BoundaryConditionsContainer.hpp.
BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::BoundaryConditionsContainer | ( | ) | [inline] |
Constructor calls base constuctor and allocates memory for the Neumann boundary conditions lists.
Definition at line 40 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mAnyNonZeroNeumannConditionsForUnknown, BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mLastNeumannCondition, BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpNeumannMap, and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpZeroBoundaryCondition.
BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::~BoundaryConditionsContainer | ( | ) | [inline] |
Note that the destructor will delete memory for each boundary condition object, as well as for the internal bookkeeping of this class.
Definition at line 56 of file BoundaryConditionsContainerImplementation.hpp.
References AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DeleteDirichletBoundaryConditions(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpNeumannMap, and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpZeroBoundaryCondition.
void BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AddDirichletBoundaryCondition | ( | const Node< SPACE_DIM > * | pBoundaryNode, | |
const AbstractBoundaryCondition< SPACE_DIM > * | pBoundaryCondition, | |||
unsigned | indexOfUnknown = 0 , |
|||
bool | checkIfBoundaryNode = true | |||
) | [inline] |
Add a Dirichlet boundary condition specifying two parameters, a pointer to a node, and a pointer to a boundary condition object associated with that node.
The destructor for the BoundaryConditionsContainer will destroy the boundary conditions objects.
pBoundaryNode | Pointer to a node on the boundary. | |
pBoundaryCondition | Pointer to the Dirichlet boundary condition at that node. | |
indexOfUnknown | defaults to 0 | |
checkIfBoundaryNode | defaults to true |
Definition at line 88 of file BoundaryConditionsContainerImplementation.hpp.
References Node< SPACE_DIM >::IsBoundaryNode(), and AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap.
Referenced by BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineConstantDirichletOnMeshBoundary(), Electrodes< DIM >::Electrodes(), and BidomainDg0Assembler< ELEMENT_DIM, SPACE_DIM >::SetFixedExtracellularPotentialNodes().
void BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AddNeumannBoundaryCondition | ( | const BoundaryElement< ELEM_DIM-1, SPACE_DIM > * | pBoundaryElement, | |
const AbstractBoundaryCondition< SPACE_DIM > * | pBoundaryCondition, | |||
unsigned | indexOfUnknown = 0 | |||
) | [inline] |
Add a Neumann boundary condition specifying two parameters, a pointer to a surface element, and a pointer to a boundary condition object associated with that element.
The destructor for the BoundaryConditionsContainer will destroy the boundary conditions objects.
Note that the value of a Neumann boundary condition should specify D * grad(u).n, not just grad(u).n.
Take care if using non-zero Neumann boundary conditions in 1d. If applied at the left hand end you need to multiply the value by -1 to get the right answer.
pBoundaryElement | Pointer to an element on the boundary | |
pBoundaryCondition | Pointer to the Neumann boundary condition on that element | |
indexOfUnknown | defaults to 0 |
Definition at line 103 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mAnyNonZeroNeumannConditionsForUnknown, BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpNeumannMap, and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpZeroBoundaryCondition.
Referenced by AbstractConvergenceTester< CELL, CARDIAC_PROBLEM, DIM, PROBLEM_DIM >::Converge(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroNeumannOnMeshBoundary(), and Electrodes< DIM >::Electrodes().
void BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroDirichletOnMeshBoundary | ( | AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > * | pMesh, | |
unsigned | indexOfUnknown = 0 | |||
) | [inline] |
This function defines zero Dirichlet boundary conditions on every boundary node of the mesh.
pMesh | Pointer to a mesh object, from which we extract the boundary | |
indexOfUnknown | defaults to 0 |
Definition at line 131 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineConstantDirichletOnMeshBoundary().
void BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineConstantDirichletOnMeshBoundary | ( | AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > * | pMesh, | |
double | value, | |||
unsigned | indexOfUnknown = 0 | |||
) | [inline] |
This function defines constant Dirichlet boundary conditions on every boundary node of the mesh.
pMesh | Pointer to a mesh object, from which we extract the boundary | |
value | the value of the constant Dirichlet boundary condition | |
indexOfUnknown | defaults to 0 |
Definition at line 138 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AddDirichletBoundaryCondition(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryNodeIteratorBegin(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryNodeIteratorEnd(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryNodes().
Referenced by BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroDirichletOnMeshBoundary().
void BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroNeumannOnMeshBoundary | ( | AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > * | pMesh, | |
unsigned | indexOfUnknown = 0 | |||
) | [inline] |
This function defines zero Neumann boundary conditions on every boundary element of the mesh.
pMesh | Pointer to a mesh object, from which we extract the boundary | |
indexOfUnknown | defaults to 0 |
Definition at line 159 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AddNeumannBoundaryCondition(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElementIteratorBegin(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElementIteratorEnd(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumBoundaryElements(), and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mAnyNonZeroNeumannConditionsForUnknown.
Referenced by BidomainRhsMatrixAssembler< DIM >::BidomainRhsMatrixAssembler(), BidomainWithBathRhsMatrixAssembler< DIM >::BidomainWithBathRhsMatrixAssembler(), MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::MonodomainRhsMatrixAssembler(), and CardiacElectroMechanicsProblem< DIM >::Solve().
void BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToLinearProblem | ( | LinearSystem & | rLinearSystem, | |
bool | applyToMatrix = true | |||
) | [inline] |
Alter the given linear system to satisfy Dirichlet boundary conditions.
If the number of unknowns is greater than one, it is assumed the solution vector is of the form (in the case of two unknowns u and v, and N nodes): solnvec = (U_1, V_1, U_2, V_2, ...., U_N, V_N)
rLinearSystem | Linear system on which to apply boundary conditions | |
applyToMatrix | This optional parameter can be set as false to ensure that the matrix of the linear system is not updated. To be used when the matrix does not change between time steps. |
The BCs are imposed in such a way as to ensure that a symmetric linear system remains symmetric. For each node with a boundary condition applied, both the corresponding row and column are zero'd and the RHS vector modified to take into account the zero'd column. See #577.
Suppose we have a matrix [a b c] [x] = [ b1 ] [d e f] [y] [ b2 ] [g h i] [z] [ b3 ] and we want to apply the boundary condition x=v without losing symmetry if the matrix is symmetric. We apply the boundary condition [1 0 0] [x] = [ v ] [d e f] [y] [ b2 ] [g h i] [z] [ b3 ] and then zero the column as well, adding a term to the RHS to take account for the zero-matrix components [1 0 0] [x] = [ v ] - v[ 0 ] [0 e f] [y] [ b2 ] [ d ] [0 h i] [z] [ b3 ] [ g ] Note the last term is the first column of the matrix, with one component zeroed, and multiplied by the boundary condition. This last term is the stored in rLinearSystem.rGetDirichletBoundaryConditionsVector(), and in general form is the SUM_{d=1..D} v_d a'_d where v_d is the boundary value of boundary condition d (d an index into the matrix), and a'_d is the dth-column of the matrix but with the d-th component zeroed, and where there are D boundary conditions
Definition at line 209 of file BoundaryConditionsContainerImplementation.hpp.
References LinearSystem::AssembleFinalLinearSystem(), AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mDirichIterator, AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap, LinearSystem::rGetDirichletBoundaryConditionsVector(), LinearSystem::rGetLhsMatrix(), LinearSystem::rGetRhsVector(), LinearSystem::SetMatrixElement(), LinearSystem::SetRhsVectorElement(), LinearSystem::ZeroMatrixColumn(), and LinearSystem::ZeroMatrixRow().
Referenced by AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::ApplyDirichletConditions().
void BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToNonlinearResidual | ( | const Vec | currentSolution, | |
Vec | residual, | |||
DistributedVectorFactory & | rFactory | |||
) | [inline] |
Alter the residual vector for a nonlinear system to satisfy Dirichlet boundary conditions.
If the number of unknowns is greater than one, it is assumed the solution vector is of the form (in the case of two unknowns u and v, and N nodes): solnvec = (U_1, V_1, U_2, V_2, ...., U_N, V_N)
currentSolution | ||
residual | ||
rFactory | the factory to use to create DistributedVector objects |
Definition at line 296 of file BoundaryConditionsContainerImplementation.hpp.
References DistributedVectorFactory::CreateDistributedVector(), DistributedVector::IsGlobalIndexLocal(), AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mDirichIterator, AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap, and DistributedVector::Restore().
Referenced by AbstractNonlinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CONCRETE >::ApplyDirichletConditions().
void BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyDirichletToNonlinearJacobian | ( | Mat | jacobian | ) | [inline] |
Alter the Jacobian matrix vector for a nonlinear system to satisfy Dirichlet boundary conditions.
If the number of unknowns is greater than one, it is assumed the solution vector is of the form (in the case of two unknowns u and v, and N nodes): solnvec = (U_1, V_1, U_2, V_2, ...., U_N, V_N)
jacobian |
Definition at line 330 of file BoundaryConditionsContainerImplementation.hpp.
References AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mDirichIterator, and AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpDirichletMap.
Referenced by AbstractNonlinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CONCRETE >::ApplyDirichletConditions().
bool BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::Validate | ( | AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > * | pMesh | ) | [inline] |
Check that we have boundary conditions defined everywhere on mesh boundary.
We iterate over all surface elements, and check either that they have an associated Neumann condition, or that each node in the element has an associated Dirichlet condition.
pMesh | Pointer to the mesh to check for validity. |
Definition at line 358 of file BoundaryConditionsContainerImplementation.hpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElementIteratorBegin(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetBoundaryElementIteratorEnd(), AbstractBoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::HasDirichletBoundaryCondition(), and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::HasNeumannBoundaryCondition().
double BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::GetNeumannBCValue | ( | const BoundaryElement< ELEM_DIM-1, SPACE_DIM > * | pSurfaceElement, | |
const ChastePoint< SPACE_DIM > & | rX, | |||
unsigned | indexOfUnknown = 0 | |||
) | [inline] |
Obtain value of Neumann boundary condition at a specified point in a given surface element
It is up to the user to ensure that the point x is contained in the surface element.
pSurfaceElement | pointer to a boundary element | |
rX | a point | |
indexOfUnknown | defaults to 0 |
Definition at line 387 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mLastNeumannCondition, and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpNeumannMap.
Referenced by SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorSurfaceTerm(), SimpleLinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM, CONCRETE >::ComputeVectorSurfaceTerm(), SimpleDg0ParabolicAssembler< ELEMENT_DIM, SPACE_DIM, NON_HEART, CONCRETE >::ComputeVectorSurfaceTerm(), and BidomainDg0Assembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorSurfaceTerm().
bool BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::HasNeumannBoundaryCondition | ( | const BoundaryElement< ELEM_DIM-1, SPACE_DIM > * | pSurfaceElement, | |
unsigned | indexOfUnknown = 0 | |||
) | [inline] |
Test if there is a Neumann boundary condition defined on the given element. Used by SimpleLinearEllipticAssembler.
pSurfaceElement | pointer to a boundary element | |
indexOfUnknown | defaults to 0 |
Definition at line 411 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mLastNeumannCondition, and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpNeumannMap.
Referenced by BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::Validate().
bool BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AnyNonZeroNeumannConditions | ( | ) | [inline] |
Definition at line 422 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mAnyNonZeroNeumannConditionsForUnknown.
Referenced by AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyNeummanBoundaryConditions().
BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::NeumannMapIterator BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::BeginNeumann | ( | ) | [inline] |
Definition at line 436 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpNeumannMap.
Referenced by AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyNeummanBoundaryConditions().
BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::NeumannMapIterator BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::EndNeumann | ( | ) | [inline] |
Definition at line 443 of file BoundaryConditionsContainerImplementation.hpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpNeumannMap.
Referenced by AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ApplyNeummanBoundaryConditions().
std::map< const BoundaryElement<ELEM_DIM-1, SPACE_DIM> *, const AbstractBoundaryCondition<SPACE_DIM>* >* BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpNeumannMap[PROBLEM_DIM] [private] |
List (map) of Neumann boundary conditions.
Definition at line 68 of file BoundaryConditionsContainer.hpp.
Referenced by BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AddNeumannBoundaryCondition(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::BeginNeumann(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::BoundaryConditionsContainer(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::EndNeumann(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::GetNeumannBCValue(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::HasNeumannBoundaryCondition(), and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::~BoundaryConditionsContainer().
NeumannMapIterator BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mLastNeumannCondition[PROBLEM_DIM] [private] |
Neumann boundary condition iterator.
Definition at line 73 of file BoundaryConditionsContainer.hpp.
Referenced by BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::BoundaryConditionsContainer(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::GetNeumannBCValue(), and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::HasNeumannBoundaryCondition().
bool BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mAnyNonZeroNeumannConditionsForUnknown[PROBLEM_DIM] [private] |
Array storing whether there are any Neumann boundary conditions for each unknown.
Definition at line 78 of file BoundaryConditionsContainer.hpp.
Referenced by BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AddNeumannBoundaryCondition(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AnyNonZeroNeumannConditions(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::BoundaryConditionsContainer(), and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroNeumannOnMeshBoundary().
ConstBoundaryCondition<SPACE_DIM>* BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mpZeroBoundaryCondition [private] |
A zero boundary condition, used for other unknowns in ApplyNeumannBoundaryCondition
Definition at line 81 of file BoundaryConditionsContainer.hpp.
Referenced by BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AddNeumannBoundaryCondition(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::BoundaryConditionsContainer(), and BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::~BoundaryConditionsContainer().