27 #ifndef OOMPH_FVK_VOLUME_CONSTRAINT_ELEMENT_HEADER
28 #define OOMPH_FVK_VOLUME_CONSTRAINT_ELEMENT_HEADER
31 #include <oomph-lib-config.h>
34 #include "../generic/elements.h"
35 #include "../meshes/triangle_mesh.h"
50 template<
class ELEMENT,
template<
class>
class MESH>
63 MESH<ELEMENT>* bounding_mesh_pt,
65 const double& pressure = 0.0)
92 double bounded_volume = 0.0;
96 for (
unsigned r = 0;
r < n_contributing_regions;
r++)
101 for (
unsigned e = 0;
e < n_inner_el;
e++)
104 ELEMENT* el_pt =
dynamic_cast<ELEMENT*
>(
106 bounded_volume += el_pt->get_bounded_volume();
109 return bounded_volume;
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void set_value(const unsigned &i, const double &value_)
Definition: nodes.h:271
Definition: foeppl_von_karman_volume_constraint_element.h:53
double get_bounded_volume()
Definition: foeppl_von_karman_volume_constraint_element.h:90
Data * pressure_data_pt() const
Definition: foeppl_von_karman_volume_constraint_element.h:240
FoepplvonKarmanVolumeConstraintElement(const FoepplvonKarmanVolumeConstraintElement &)=delete
Broken copy constructor.
MESH< ELEMENT > * Bounding_mesh_pt
Definition: foeppl_von_karman_volume_constraint_element.h:262
int Volume_control_local_eqn
Local equation number of volume constraint.
Definition: foeppl_von_karman_volume_constraint_element.h:255
Data * Volume_control_pressure_pt
Definition: foeppl_von_karman_volume_constraint_element.h:248
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Fill in contribution to elemental residual and Jacobian.
Definition: foeppl_von_karman_volume_constraint_element.h:130
unsigned Pressure_data_index
Definition: foeppl_von_karman_volume_constraint_element.h:252
double * Prescribed_volume_pt
Pointer to target volume.
Definition: foeppl_von_karman_volume_constraint_element.h:269
~FoepplvonKarmanVolumeConstraintElement()
Definition: foeppl_von_karman_volume_constraint_element.h:79
void operator=(const FoepplvonKarmanVolumeConstraintElement &)=delete
Broken assignment operator.
void fill_in_contribution_to_residuals(Vector< double > &residuals)
Definition: foeppl_von_karman_volume_constraint_element.h:120
void set_prescribed_volume(double *volume_pt)
Set pointer to target volume.
Definition: foeppl_von_karman_volume_constraint_element.h:233
Vector< unsigned > Contributing_region
Definition: foeppl_von_karman_volume_constraint_element.h:266
void assign_additional_local_eqn_numbers()
Assign the equation number for the new equation.
Definition: foeppl_von_karman_volume_constraint_element.h:113
FoepplvonKarmanVolumeConstraintElement(MESH< ELEMENT > *bounding_mesh_pt, const Vector< unsigned > &contributing_region, const double &pressure=0.0)
Definition: foeppl_von_karman_volume_constraint_element.h:62
Definition: elements.h:73
int internal_local_eqn(const unsigned &i, const unsigned &j) const
Definition: elements.h:267
unsigned add_internal_data(Data *const &data_pt, const bool &fd=true)
Definition: elements.cc:62
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10