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.
 
virtual ~ProjectableElementBase ()
 Virtual destructor.
 
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.
 
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)
 
virtual unsigned nhistory_values_for_projection (const unsigned &fld)=0
 Number of history values to be stored for fld-th field (includes current value!)
 
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!)
 
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(...).
 
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.
 
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.
 
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)
 

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.
 
unsigned Time_level_for_projection
 Time level we are projecting (0=current values; >0: history values)
 
unsigned Projected_coordinate
 When projecting the history values of the nodal coordinates, this is the coordinate we're projecting.
 
unsigned Projected_lagrangian
 When projecting the Lagrangain coordinates indicate which coordiante is to be projected.
 
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)
 
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.
 
unsigned Backup_ninteraction
 Store number of "external" interactions that were assigned to the element before doing the projection.
 
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)
 
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)
 

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

Referenced by 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::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDElement< PVD_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDWithPressureElement< PVD_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_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::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDElement< PVD_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDWithPressureElement< PVD_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_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::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDElement< PVD_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDWithPressureElement< PVD_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_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::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDElement< PVD_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDWithPressureElement< PVD_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_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::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDElement< PVD_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDWithPressureElement< PVD_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_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::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >, oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >, oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDElement< PVD_ELEMENT >, oomph::ProjectableAxisymCylindricalPVDWithPressureElement< PVD_ELEMENT >, oomph::ProjectableDarcyElement< DARCY_ELEMENT >, oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >, oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >, oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >, oomph::ProjectableTaylorHoodElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >, oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >, oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectablePoissonElement< POISSON_ELEMENT >, oomph::ProjectablePVDElement< PVD_ELEMENT >, oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >, oomph::ProjectableTaylorHoodMixedOrderSpaceTimeElement< TAYLOR_HOOD_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >, oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >, and oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_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: