108 for (
unsigned i = 0;
i < 2;
i++)
119 for (
unsigned j = 0;
j < 2;
j++)
144 double detg = g(0, 0) * g(1, 1) * g(2, 2);
186 for (
unsigned i = 0;
i < 2;
i++)
188 for (
unsigned a = 0; a < 2; a++)
190 for (
unsigned b = a; b < 2; b++)
211 for (
unsigned i = 0;
i < 2;
i++)
225 for (
unsigned a = 0; a < 2; a++)
227 for (
unsigned b = 0; b < 2; b++)
248 for (
unsigned ii = 0;
ii < 2;
ii++)
259 for (
unsigned a = 0; a < 2; a++)
261 for (
unsigned b = a; b < 2; b++)
264 if (a == b)
factor *= 0.5;
266 for (
unsigned aa = 0;
aa < 3;
aa++)
270 for (
unsigned bb =
aa;
bb < 3;
bb++)
283 for (
unsigned aa = 0;
aa < 3;
aa++)
287 for (
unsigned bb =
aa;
bb < 3;
bb++)
311 for (
unsigned a = 0; a < 2; a++)
313 for (
unsigned b = 0; b < 2; b++)
352 const unsigned&
flag)
415 for (
unsigned i = 0;
i < 2;
i++)
426 for (
unsigned j = 0;
j < 2;
j++)
457 double detg = g(0, 0) * g(1, 1) * g(2, 2);
495 for (
unsigned i = 0;
i < 3;
i++)
497 for (
unsigned j = 0;
j < 3;
j++)
537 for (
unsigned i = 0;
i < 2;
i++)
539 for (
unsigned a = 0; a < 2; a++)
541 for (
unsigned b = a; b < 2; b++)
562 for (
unsigned i = 0;
i < 2;
i++)
576 for (
unsigned a = 0; a < 2; a++)
578 for (
unsigned b = 0; b < 2; b++)
599 for (
unsigned ii = 0;
ii < 2;
ii++)
610 for (
unsigned a = 0; a < 2; a++)
612 for (
unsigned b = a; b < 2; b++)
615 if (a == b)
factor *= 0.5;
617 for (
unsigned aa = 0;
aa < 3;
aa++)
621 for (
unsigned bb =
aa;
bb < 3;
bb++)
634 for (
unsigned aa = 0;
aa < 3;
aa++)
638 for (
unsigned bb =
aa;
bb < 3;
bb++)
662 for (
unsigned a = 0; a < 2; a++)
664 for (
unsigned b = 0; b < 2; b++)
700 for (
unsigned a = 0; a < 2; a++)
702 for (
unsigned b = 0; b < 2; b++)
746 for (
unsigned ii = 0;
ii < 2;
ii++)
758 for (
unsigned aa = 0;
aa < 3;
aa++)
762 for (
unsigned bb =
aa;
bb < 3;
bb++)
788 for (
unsigned ii = 0;
ii < 2;
ii++)
798 for (
unsigned aa = 0;
aa < 3;
aa++)
801 for (
unsigned bb =
aa;
bb < 3;
bb++)
836 1, 0, 1, 0, 0, 0, 1, 0, 1};
864 for (
unsigned i = 0;
i < 2;
i++)
void get_stress(const DenseMatrix< double > &g, const DenseMatrix< double > &G, DenseMatrix< double > &sigma)
Return the stress tensor, as calculated from the constitutive law.
static double Default_lambda_sq_value
Static default value for timescale ratio (1.0 – for natural scaling)
double eta_mass()
Return the mass damping parameter.
void body_force(const Vector< double > &xi, Vector< double > &b) const
Evaluate body force at Lagrangian coordinate xi at present time (returns zero vector if no body force...
virtual void fill_in_contribution_to_residuals_axisym_pvd(Vector< double > &residuals, DenseMatrix< double > &jacobian, const unsigned &flag)
Return the residuals for the equations of solid mechanics.
const double & lambda_sq() const
Access function for timescale ratio (nondim density)
void get_d_stress_dG_upper(const DenseMatrix< double > &g, const DenseMatrix< double > &G, const DenseMatrix< double > &sigma, RankFourTensor< double > &d_sigma_dG)
Return the derivatives of the 2nd Piola Kirchhoff stress tensor, as calculated from the constitutive ...
static double Default_eta_value
Static default value for damping parameters.
void body_force(const Vector< double > &xi, Vector< double > &b) const
Evaluate body force at Lagrangian coordinate xi at present time (returns zero vector if no body force...
void get_stress(const DenseMatrix< double > &g, const DenseMatrix< double > &G, DenseMatrix< double > &sigma, DenseMatrix< double > &Gup, double &pressure_stress, double &kappa)
Return the stress tensor, as calculated from the constitutive law in the Near-incompresible formulati...
virtual void solid_pshape(const Vector< double > &s, Shape &psi) const =0
Return the solid pressure shape functions.
double eta_mass()
Return the mass damping parameter.
double interpolated_solid_p(const Vector< double > &s) const
Return the interpolated_solid_pressure.
void solid_pshape_at_knot(const unsigned &ipt, Shape &psi) const
Return the stored solid shape functions at the knots.
virtual int solid_p_local_eqn(const unsigned &i) const =0
Access function that returns the local equation number for the n-th solid pressure value.
void get_d_stress_dG_upper(const DenseMatrix< double > &g, const DenseMatrix< double > &G, const DenseMatrix< double > &sigma, const double &gen_dil, const double &inv_kappa, const double &interpolated_solid_p, RankFourTensor< double > &d_sigma_dG, DenseMatrix< double > &d_gen_dil_dG)
Return the derivative of the deviatoric part of the 2nd Piola Kirchhoff stress tensor,...
virtual double solid_p(const unsigned &l) const =0
Return the lth solid pressures.
static double Default_eta_value
Static default value for damping parameters.
bool Incompressible
Boolean to determine whether the solid is incompressible or not.
static double Default_lambda_sq_value
Static default value for timescale ratio (1.0 – for natural scaling)
virtual void fill_in_contribution_to_residuals_axisym_pvd_with_pressure(Vector< double > &residuals, DenseMatrix< double > &jacobian, const unsigned &flag)
Return the residuals for the equations of solid mechanics.
virtual unsigned nsolid_pres() const =0
Return the number of solid pressure degrees of freedom.
const double & lambda_sq() const
Access function for timescale ratio (nondim density)
A Class for the derivatives of shape functions The class design is essentially the same as Shape,...
Integral *const & integral_pt() const
Return the pointer to the integration scheme (const version)
unsigned nnode() const
Return the number of nodes.
double nodal_position(const unsigned &n, const unsigned &i) const
Return the i-th coordinate at local node n. If the node is hanging, the appropriate interpolation is ...
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
double dnodal_position_dt(const unsigned &n, const unsigned &i) const
Return the i-th component of nodal velocity: dx/dt at local node n.
virtual double knot(const unsigned &i, const unsigned &j) const =0
Return local coordinate s[j] of i-th integration point.
virtual unsigned nweight() const =0
Return the number of integration points of the scheme.
virtual double weight(const unsigned &i) const =0
Return weight of i-th integration point.
TimeStepper *& position_time_stepper_pt()
Return a pointer to the position timestepper.
static const unsigned Initial_Nvalue[]
Static array of ints to hold number of variables at node.
static const unsigned Pconv[]
Static array of ints to hold conversion from pressure node numbers to actual node numbers.
A Class for shape functions. In simple cases, the shape functions have only one index that can be tho...
double lagrangian_position(const unsigned &n, const unsigned &i) const
Return i-th Lagrangian coordinate at local node n.
int position_local_eqn(const unsigned &n, const unsigned &k, const unsigned &j) const
Access function that returns the local equation number that corresponds to the j-th coordinate of the...
virtual double interpolated_xi(const Vector< double > &s, const unsigned &i) const
Return i-th FE-interpolated Lagrangian coordinate xi[i] at local coordinate s.
virtual double dshape_lagrangian_at_knot(const unsigned &ipt, Shape &psi, DShape &dpsidxi) const
Return the geometric shape functions and also first derivatives w.r.t. Lagrangian coordinates at ipt-...
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
static const unsigned Initial_Nvalue[]
Static array of ints to hold number of variables at node.
static const unsigned Pconv[]
Static array of ints to hold conversion from pressure node numbers to actual node numbers.
virtual double weight(const unsigned &i, const unsigned &j) const
Access function for j-th weight for the i-th derivative.
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).