Public Member Functions | Protected Types | Protected Attributes | List of all members
oomph::ProjectableElementBase Class Referenceabstract

Template-free Base class for projectable elements. More...

#include <projection.h>

+ Inheritance diagram for oomph::ProjectableElementBase:

Public Member Functions

 ProjectableElementBase ()
 Constructor: Initialise data so that we don't project but solve the "normal" equations associated with the element. More...
 
virtual ~ProjectableElementBase ()
 Virtual destructor. More...
 
virtual Vector< std::pair< Data *, unsigned > > data_values_of_field (const unsigned &fld)=0
 Pure virtual function in which the element writer must specify the values associated with field fld. The information is returned in a vector of pairs which comprise the Data object and the value within it, that correspond to field fld. E.g. in Taylor Hood elements the fld-th velocities are stored at the fld-th value of the nodes; the pressures (the DIM-th field) are the DIM-th values at the vertex nodes etc. More...
 
virtual unsigned nfields_for_projection ()=0
 Number of fields of the problem, so e.g. for 2D Navier Stokes this would be 3 (for the two velocities and one pressure) More...
 
virtual unsigned nhistory_values_for_projection (const unsigned &fld)=0
 Number of history values to be stored for fld-th field (includes current value!) More...
 
virtual unsigned nhistory_values_for_coordinate_projection ()=0
 Number of history values to be stored when projecting the history values of the nodal coordinates (includes current value!) More...
 
virtual unsigned nvalue_of_field (const unsigned &fld)=0
 Return number of values (pinned or not) associated with field fld within the element. This must correspond to the number of shape functions returned in jacobian_and_shape_of_field(...). More...
 
virtual int local_equation (const unsigned &fld, const unsigned &ivalue)=0
 Return local equation numbers associated with value ivalue of field fld within the element. More...
 
virtual double jacobian_and_shape_of_field (const unsigned &fld, const Vector< double > &s, Shape &psi)=0
 Return Jacobian of mapping and the shape functions associated with field fld. The number of shape functions must match the number of values specified in nvalue_of_field(...). For Lagrange-type interpolations the shape functinos are simply the "normal" nodal shape functions; if the element contains internal Data that is not associated with shape functions, simply set the corresonding shape function to 1. More...
 
virtual double get_field (const unsigned &time, const unsigned &fld, const Vector< double > &s)=0
 Return the fld-th field at local coordinates s at time-level time (time=0: current value; time>0: history values) More...
 

Protected Types

enum  Projection_Type { Coordinate , Lagrangian , Value }
 Enumerated collection to specify which projection problem is to be solved. More...
 

Protected Attributes

unsigned Projected_field
 Field that is currently being projected. More...
 
unsigned Time_level_for_projection
 Time level we are projecting (0=current values; >0: history values) More...
 
unsigned Projected_coordinate
 When projecting the history values of the nodal coordinates, this is the coordinate we're projecting. More...
 
unsigned Projected_lagrangian
 When projecting the Lagrangain coordinates indicate which coordiante is to be projected. More...
 
Projection_Type Projection_type
 Variable to indicate if we're projecting the history values of the nodal coordinates (Coordinate) the values themselves (Value), or the Lagrangian coordinates in Solid Mechanics problems (Lagrangian) More...
 
bool Do_projection
 Bool to know if we do projection or not. If false (the default) we solve the element's "real" equations rather than the projection equations. More...
 
unsigned Backup_ninteraction
 Store number of "external" interactions that were assigned to the element before doing the projection. More...
 
bool Backup_external_geometric_data
 Remember if the element includes external geometric data when used in non-projection mode (this is temporarily disabled during the projection) More...
 
bool Backup_external_interaction_data
 Remember if the element includes external data when used in non-projection mode (this is temporarily disabled during the projection) More...
 

Detailed Description

Template-free Base class for projectable elements.

Definition at line 54 of file projection.h.

Member Enumeration Documentation

◆ Projection_Type

Enumerated collection to specify which projection problem is to be solved.

Enumerator
Coordinate 
Lagrangian 
Value 

Definition at line 59 of file projection.h.

Constructor & Destructor Documentation

◆ ProjectableElementBase()

oomph::ProjectableElementBase::ProjectableElementBase ( )
inline

Constructor: Initialise data so that we don't project but solve the "normal" equations associated with the element.

Definition at line 110 of file projection.h.

◆ ~ProjectableElementBase()

virtual oomph::ProjectableElementBase::~ProjectableElementBase ( )
inlinevirtual

Virtual destructor.

Definition at line 123 of file projection.h.

Member Function Documentation

◆ data_values_of_field()

virtual Vector<std::pair<Data*, unsigned> > oomph::ProjectableElementBase::data_values_of_field ( const unsigned &  fld)
pure virtual

Pure virtual function in which the element writer must specify the values associated with field fld. The information is returned in a vector of pairs which comprise the Data object and the value within it, that correspond to field fld. E.g. in Taylor Hood elements the fld-th velocities are stored at the fld-th value of the nodes; the pressures (the DIM-th field) are the DIM-th values at the vertex nodes etc.

Implemented in oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >.

◆ get_field()

virtual double oomph::ProjectableElementBase::get_field ( const unsigned &  time,
const unsigned &  fld,
const Vector< double > &  s 
)
pure virtual

Return the fld-th field at local coordinates s at time-level time (time=0: current value; time>0: history values)

Implemented in oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >.

Referenced by oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >::residual_for_projection(), oomph::ProjectableDarcyElement< DARCY_ELEMENT >::residual_for_projection(), and oomph::ProjectableElement< ELEMENT >::residual_for_projection().

◆ jacobian_and_shape_of_field()

virtual double oomph::ProjectableElementBase::jacobian_and_shape_of_field ( const unsigned &  fld,
const Vector< double > &  s,
Shape psi 
)
pure virtual

Return Jacobian of mapping and the shape functions associated with field fld. The number of shape functions must match the number of values specified in nvalue_of_field(...). For Lagrange-type interpolations the shape functinos are simply the "normal" nodal shape functions; if the element contains internal Data that is not associated with shape functions, simply set the corresonding shape function to 1.

Implemented in oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >.

Referenced by oomph::ProjectableElement< ELEMENT >::residual_for_projection().

◆ local_equation()

virtual int oomph::ProjectableElementBase::local_equation ( const unsigned &  fld,
const unsigned &  ivalue 
)
pure virtual

Return local equation numbers associated with value ivalue of field fld within the element.

Implemented in oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >.

Referenced by oomph::ProjectableElement< ELEMENT >::residual_for_projection().

◆ nfields_for_projection()

virtual unsigned oomph::ProjectableElementBase::nfields_for_projection ( )
pure virtual

Number of fields of the problem, so e.g. for 2D Navier Stokes this would be 3 (for the two velocities and one pressure)

Implemented in oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >.

◆ nhistory_values_for_coordinate_projection()

virtual unsigned oomph::ProjectableElementBase::nhistory_values_for_coordinate_projection ( )
pure virtual

Number of history values to be stored when projecting the history values of the nodal coordinates (includes current value!)

Implemented in oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >.

◆ nhistory_values_for_projection()

virtual unsigned oomph::ProjectableElementBase::nhistory_values_for_projection ( const unsigned &  fld)
pure virtual

Number of history values to be stored for fld-th field (includes current value!)

Implemented in oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >.

◆ nvalue_of_field()

virtual unsigned oomph::ProjectableElementBase::nvalue_of_field ( const unsigned &  fld)
pure virtual

Return number of values (pinned or not) associated with field fld within the element. This must correspond to the number of shape functions returned in jacobian_and_shape_of_field(...).

Implemented in oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableTaylorHoodSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >.

Referenced by oomph::ProjectableElement< ELEMENT >::residual_for_projection().

Member Data Documentation

◆ Backup_external_geometric_data

bool oomph::ProjectableElementBase::Backup_external_geometric_data
protected

Remember if the element includes external geometric data when used in non-projection mode (this is temporarily disabled during the projection)

Definition at line 98 of file projection.h.

Referenced by oomph::ProjectableElement< ELEMENT >::disable_projection(), and oomph::ProjectableElement< ELEMENT >::enable_projection().

◆ Backup_external_interaction_data

bool oomph::ProjectableElementBase::Backup_external_interaction_data
protected

Remember if the element includes external data when used in non-projection mode (this is temporarily disabled during the projection)

Definition at line 104 of file projection.h.

Referenced by oomph::ProjectableElement< ELEMENT >::disable_projection(), and oomph::ProjectableElement< ELEMENT >::enable_projection().

◆ Backup_ninteraction

unsigned oomph::ProjectableElementBase::Backup_ninteraction
protected

Store number of "external" interactions that were assigned to the element before doing the projection.

Definition at line 93 of file projection.h.

Referenced by oomph::ProjectableElement< ELEMENT >::disable_projection(), and oomph::ProjectableElement< ELEMENT >::enable_projection().

◆ Do_projection

bool oomph::ProjectableElementBase::Do_projection
protected

◆ Projected_coordinate

unsigned oomph::ProjectableElementBase::Projected_coordinate
protected

◆ Projected_field

unsigned oomph::ProjectableElementBase::Projected_field
protected

◆ Projected_lagrangian

unsigned oomph::ProjectableElementBase::Projected_lagrangian
protected

◆ Projection_type

Projection_Type oomph::ProjectableElementBase::Projection_type
protected

◆ Time_level_for_projection

unsigned oomph::ProjectableElementBase::Time_level_for_projection
protected

The documentation for this class was generated from the following file: