#include <SimpleNonlinearEllipticAssembler.hpp>
Public Types | |
typedef SimpleNonlinearEllipticAssembler < ELEMENT_DIM, SPACE_DIM > | SelfType |
typedef AbstractNonlinearAssembler < ELEMENT_DIM, SPACE_DIM, 1, SelfType > | BaseClassType |
Public Member Functions | |
SimpleNonlinearEllipticAssembler (AbstractMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, AbstractNonlinearEllipticPde< SPACE_DIM > *pPde, BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 > *pBoundaryConditions, unsigned numQuadPoints=2) | |
Static Public Attributes | |
static const unsigned | E_DIM = ELEMENT_DIM |
static const unsigned | S_DIM = SPACE_DIM |
static const unsigned | P_DIM = 1u |
Private Member Functions | |
virtual c_matrix< double, 1 *(ELEMENT_DIM+1), 1 *(ELEMENT_DIM+1)> | ComputeMatrixTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, ELEMENT_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 1 > &u, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, 1 *(ELEMENT_DIM+1)> | ComputeVectorTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, ELEMENT_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 1 > &u, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, 1 *ELEMENT_DIM > | ComputeVectorSurfaceTerm (const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > &rSurfaceElement, c_vector< double, ELEMENT_DIM > &rPhi, ChastePoint< SPACE_DIM > &rX) |
Private Attributes | |
AbstractNonlinearEllipticPde < SPACE_DIM > * | mpNonlinearEllipticPde |
Friends | |
class | AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, 1, true, SelfType > |
class | TestSimpleNonlinearEllipticAssembler |
USAGE: call the constructor with the mesh, pde and boundary conditions, then call Solve() with the initial guess.
Definition at line 50 of file SimpleNonlinearEllipticAssembler.hpp.
SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::SimpleNonlinearEllipticAssembler | ( | AbstractMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, | |
AbstractNonlinearEllipticPde< SPACE_DIM > * | pPde, | |||
BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 > * | pBoundaryConditions, | |||
unsigned | numQuadPoints = 2 | |||
) | [inline] |
Constructor - takes in the mesh, pde and boundary conditions container to be solved. Can also define the number of quad points (in each dimension), the default value of which is 2.
Definition at line 34 of file SimpleNonlinearEllipticAssembler.cpp.
References SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::mpNonlinearEllipticPde, AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetBoundaryConditionsContainer(), and AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM > >::SetMesh().
c_matrix< double, 1 *(ELEMENT_DIM+1), 1 *(ELEMENT_DIM+1)> SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm | ( | c_vector< double, ELEMENT_DIM+1 > & | rPhi, | |
c_matrix< double, ELEMENT_DIM, ELEMENT_DIM+1 > & | rGradPhi, | |||
ChastePoint< SPACE_DIM > & | rX, | |||
c_vector< double, 1 > & | u, | |||
c_matrix< double, 1, SPACE_DIM > & | rGradU, | |||
Element< ELEMENT_DIM, SPACE_DIM > * | pElement | |||
) | [inline, private, virtual] |
This method returns the matrix to be added to element stiffness matrix for a given gauss point. The arguments are the bases, bases gradients, x and current solution computed at the Gauss point. The returned matrix will be multiplied by the gauss weight and jacobian determinent and added to the element stiffness matrix (see AssembleOnElement()).
Definition at line 54 of file SimpleNonlinearEllipticAssembler.cpp.
References SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::mpNonlinearEllipticPde.
c_vector< double, 1 *(ELEMENT_DIM+1)> SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm | ( | c_vector< double, ELEMENT_DIM+1 > & | rPhi, | |
c_matrix< double, ELEMENT_DIM, ELEMENT_DIM+1 > & | rGradPhi, | |||
ChastePoint< SPACE_DIM > & | rX, | |||
c_vector< double, 1 > & | u, | |||
c_matrix< double, 1, SPACE_DIM > & | rGradU, | |||
Element< ELEMENT_DIM, SPACE_DIM > * | pElement | |||
) | [inline, private, virtual] |
This method returns the vector to be added to element stiffness vector for a given gauss point. The arguments are the bases, x and current solution computed at the Gauss point. The returned vector will be multiplied by the gauss weight and jacobian determinent and added to the element stiffness matrix (see AssembleOnElement()).
Definition at line 88 of file SimpleNonlinearEllipticAssembler.cpp.
References SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::mpNonlinearEllipticPde.
c_vector< double, 1 *ELEMENT_DIM > SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorSurfaceTerm | ( | const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > & | rSurfaceElement, | |
c_vector< double, ELEMENT_DIM > & | rPhi, | |||
ChastePoint< SPACE_DIM > & | rX | |||
) | [inline, private, virtual] |
This method returns the vector to be added to element stiffness vector for a given gauss point in BoundaryElement. The arguments are the bases, x and current solution computed at the Gauss point. The returned vector will be multiplied by the gauss weight and jacobian determinent and added to the element stiffness matrix (see AssembleOnElement()).
Implements AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.
Definition at line 122 of file SimpleNonlinearEllipticAssembler.cpp.
References BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::GetNeumannBCValue(), and AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpBoundaryConditions.
AbstractNonlinearEllipticPde<SPACE_DIM>* SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::mpNonlinearEllipticPde [private] |
The pde to be solved
Definition at line 68 of file SimpleNonlinearEllipticAssembler.hpp.
Referenced by SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm(), and SimpleNonlinearEllipticAssembler< ELEMENT_DIM, SPACE_DIM >::SimpleNonlinearEllipticAssembler().