#include <AbstractFunctionalCalculator.hpp>
Public Member Functions | |
double | Calculate (TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, Vec solution) |
Private Member Functions | |
virtual double | GetIntegrand (ChastePoint< SPACE_DIM > &rX, c_vector< double, PROBLEM_DIM > &rU, c_matrix< double, PROBLEM_DIM, SPACE_DIM > &rGradU)=0 |
double | CalculateOnElement (Element< ELEMENT_DIM, SPACE_DIM > &rElement) |
Private Attributes | |
ReplicatableVector | mSolutionReplicated |
Note linear basis functions and 2 quad points per dimension are currently hardcoded.
Definition at line 51 of file AbstractFunctionalCalculator.hpp.
virtual double AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetIntegrand | ( | ChastePoint< SPACE_DIM > & | rX, | |
c_vector< double, PROBLEM_DIM > & | rU, | |||
c_matrix< double, PROBLEM_DIM, SPACE_DIM > & | rGradU | |||
) | [private, pure virtual] |
The integrand. Must be defined by the user
Referenced by AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement().
double AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement | ( | Element< ELEMENT_DIM, SPACE_DIM > & | rElement | ) | [inline, private] |
Compute the contribution to the integral from one element
NOTE: This assumes that the Jacobian is constant on an element, ie no curvilinear bases were used for position
Definition at line 63 of file AbstractFunctionalCalculator.hpp.
References AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetIntegrand(), GaussianQuadratureRule< ELEM_DIM >::GetNumQuadPoints(), GaussianQuadratureRule< ELEM_DIM >::GetWeight(), AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mSolutionReplicated, and GaussianQuadratureRule< ELEM_DIM >::rGetQuadPoint().
Referenced by AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Calculate().
double AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Calculate | ( | TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > & | rMesh, | |
Vec | solution | |||
) | [inline] |
Calculate the integral over the given mesh, using the given solution vector on the mesh.
Definition at line 134 of file AbstractFunctionalCalculator.hpp.
References AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement(), and AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mSolutionReplicated.
ReplicatableVector AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mSolutionReplicated [private] |
replicated store of the solution vector
Definition at line 55 of file AbstractFunctionalCalculator.hpp.
Referenced by AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Calculate(), and AbstractFunctionalCalculator< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::CalculateOnElement().