#include <SimpleNonlinearEllipticSolver.hpp>
Inherits AbstractNonlinearAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, 1 >.

Public Member Functions | |
| SimpleNonlinearEllipticSolver (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, AbstractNonlinearEllipticPde< SPACE_DIM > *pPde, BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 > *pBoundaryConditions, unsigned numQuadPoints=2) | |
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, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 1 > &rU, 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, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
Private Attributes | |
| AbstractNonlinearEllipticPde < SPACE_DIM > * | mpNonlinearEllipticPde |
Solver of nonlinear elliptic PDEs.
Definition at line 39 of file SimpleNonlinearEllipticSolver.hpp.
| SimpleNonlinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::SimpleNonlinearEllipticSolver | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, | |
| AbstractNonlinearEllipticPde< SPACE_DIM > * | pPde, | |||
| BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 > * | pBoundaryConditions, | |||
| unsigned | numQuadPoints = 2 | |||
| ) | [inline] |
Constructor.
| pMesh | pointer to the mesh | |
| pPde | pointer to the PDE | |
| pBoundaryConditions | pointer to the boundary conditions | |
| numQuadPoints | number of quadrature points in each dimension to use per element (defaults to 2) |
Definition at line 95 of file SimpleNonlinearEllipticSolver.cpp.
| c_matrix< double, 1 *(ELEMENT_DIM+1), 1 *(ELEMENT_DIM+1)> SimpleNonlinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm | ( | c_vector< double, ELEMENT_DIM+1 > & | rPhi, | |
| c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > & | rGradPhi, | |||
| ChastePoint< SPACE_DIM > & | rX, | |||
| c_vector< double, 1 > & | rU, | |||
| 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 determinant and added to the element stiffness matrix (see AssembleOnElement()).
| rPhi | The basis functions, rPhi(i) = phi_i, i=1..numBases | |
| rGradPhi | Basis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i) | |
| rX | The point in space | |
| rU | The unknown as a vector, u(i) = u_i | |
| rGradU | The gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j) | |
| pElement | Pointer to the element |
Definition at line 32 of file SimpleNonlinearEllipticSolver.cpp.
References SimpleNonlinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::mpNonlinearEllipticPde.
| c_vector< double, 1 *(ELEMENT_DIM+1)> SimpleNonlinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm | ( | c_vector< double, ELEMENT_DIM+1 > & | rPhi, | |
| c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > & | rGradPhi, | |||
| ChastePoint< SPACE_DIM > & | rX, | |||
| c_vector< double, 1 > & | rU, | |||
| 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 determinant and added to the element stiffness matrix (see AssembleOnElement()).
| rPhi | The basis functions, rPhi(i) = phi_i, i=1..numBases | |
| rGradPhi | Basis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i) | |
| rX | The point in space | |
| rU | The unknown as a vector, u(i) = u_i | |
| rGradU | The gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j) | |
| pElement | Pointer to the element |
Definition at line 65 of file SimpleNonlinearEllipticSolver.cpp.
References SimpleNonlinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::mpNonlinearEllipticPde.
AbstractNonlinearEllipticPde<SPACE_DIM>* SimpleNonlinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::mpNonlinearEllipticPde [private] |
The PDE to be solved.
Definition at line 44 of file SimpleNonlinearEllipticSolver.hpp.
Referenced by SimpleNonlinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm(), and SimpleNonlinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm().
1.6.3