![]() |
|
#include <poroelasticity_elements.h>
Public Types | |
typedef void(* | SourceFctPt) (const double &time, const Vector< double > &x, Vector< double > &f) |
Source function pointer typedef. More... | |
typedef void(* | MassSourceFctPt) (const double &time, const Vector< double > &x, double &f) |
Mass source function pointer typedef. More... | |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
Public Member Functions | |
PoroelasticityEquations () | |
Constructor. More... | |
const double & | lambda_sq () const |
Access function for timescale ratio (nondim density) More... | |
double *& | lambda_sq_pt () |
Access function for pointer to timescale ratio (nondim density) More... | |
const double & | density_ratio () const |
Access function for the density ratio. More... | |
double *& | density_ratio_pt () |
Access function for pointer to the density ratio. More... | |
const double & | k_inv () const |
Access function for the nondim inverse permeability. More... | |
double *& | k_inv_pt () |
Access function for pointer to the nondim inverse permeability. More... | |
const double & | alpha () const |
Access function for alpha. More... | |
double *& | alpha_pt () |
Access function for pointer to alpha. More... | |
const double & | porosity () const |
Access function for the porosity. More... | |
double *& | porosity_pt () |
Access function for pointer to the porosity. More... | |
SourceFctPt & | force_solid_fct_pt () |
Access function: Pointer to solid force function. More... | |
SourceFctPt | force_solid_fct_pt () const |
Access function: Pointer to solid force function (const version) More... | |
SourceFctPt & | force_fluid_fct_pt () |
Access function: Pointer to fluid force function. More... | |
SourceFctPt | force_fluid_fct_pt () const |
Access function: Pointer to fluid force function (const version) More... | |
MassSourceFctPt & | mass_source_fct_pt () |
Access function: Pointer to mass source function. More... | |
MassSourceFctPt | mass_source_fct_pt () const |
Access function: Pointer to mass source function (const version) More... | |
void | force_solid (const double &time, const Vector< double > &x, Vector< double > &b) const |
void | force_fluid (const double &time, const Vector< double > &x, Vector< double > &b) const |
void | mass_source (const double &time, const Vector< double > &x, double &b) const |
ElasticityTensor *& | elasticity_tensor_pt () |
Return the pointer to the elasticity_tensor. More... | |
const double | E (const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const |
Access function to the entries in the elasticity tensor. More... | |
void | get_stress (const Vector< double > &s, DenseMatrix< double > &sigma) const |
void | get_strain (const Vector< double > &s, DenseMatrix< double > &strain) const |
Return the strain tensor. More... | |
virtual unsigned | required_nvalue (const unsigned &n) const =0 |
Number of values required at node n. More... | |
virtual unsigned | u_index (const unsigned &n) const =0 |
Return the nodal index of the n-th solid displacement unknown. More... | |
virtual int | q_edge_local_eqn (const unsigned &n) const =0 |
Return the equation number of the n-th edge (flux) degree of freedom. More... | |
virtual int | q_internal_local_eqn (const unsigned &n) const =0 |
virtual unsigned | q_edge_index (const unsigned &n) const =0 |
Return the nodal index at which the nth edge unknown is stored. More... | |
virtual unsigned | q_internal_index () const =0 |
virtual unsigned | q_edge_node_number (const unsigned &n) const =0 |
Return the number of the node where the nth edge unknown is stored. More... | |
virtual double | q_edge (const unsigned &n) const =0 |
Return the values of the edge (flux) degrees of freedom. More... | |
virtual double | q_edge (const unsigned &t, const unsigned &n) const =0 |
virtual double | q_internal (const unsigned &n) const =0 |
Return the values of the internal (moment) degrees of freedom. More... | |
virtual double | q_internal (const unsigned &t, const unsigned &n) const =0 |
virtual unsigned | nq_basis () const =0 |
Return the total number of computational basis functions for q. More... | |
virtual unsigned | nq_basis_edge () const =0 |
Return the number of edge basis functions for q. More... | |
virtual void | get_q_basis_local (const Vector< double > &s, Shape &q_basis) const =0 |
Returns the local form of the q basis at local coordinate s. More... | |
virtual void | get_div_q_basis_local (const Vector< double > &s, Shape &div_q_basis_ds) const =0 |
void | get_q_basis (const Vector< double > &s, Shape &q_basis) const |
Returns the transformed basis at local coordinate s. More... | |
virtual unsigned | nedge_gauss_point () const =0 |
Returns the number of gauss points along each edge of the element. More... | |
virtual double | edge_gauss_point (const unsigned &edge, const unsigned &n) const =0 |
Returns the nth gauss point along an edge. More... | |
virtual void | edge_gauss_point_global (const unsigned &edge, const unsigned &n, Vector< double > &x) const =0 |
Returns the global coordinates of the nth gauss point along an edge. More... | |
virtual void | pin_q_internal_value (const unsigned &n)=0 |
Pin the nth internal q value. More... | |
virtual int | p_local_eqn (const unsigned &n) const =0 |
Return the equation number of the n-th pressure degree of freedom. More... | |
virtual double | p_value (unsigned &n) const =0 |
Return the nth pressure value. More... | |
virtual unsigned | np_basis () const =0 |
Return the total number of pressure basis functions. More... | |
virtual void | get_p_basis (const Vector< double > &s, Shape &p_basis) const =0 |
Return the pressure basis. More... | |
virtual void | pin_p_value (const unsigned &n, const double &p)=0 |
Pin the nth pressure value. More... | |
virtual void | scale_basis (Shape &basis) const =0 |
Scale the edge basis to allow arbitrary edge mappings. More... | |
double | transform_basis (const Vector< double > &s, const Shape &q_basis_local, Shape &psi, DShape &dpsi, Shape &q_basis) const |
double | transform_basis (const Vector< double > &s, const Shape &q_basis_local, Shape &psi, Shape &q_basis) const |
void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
Fill in contribution to residuals for the Darcy equations. More... | |
void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
Fill in the Jacobian matrix for the Newton method. More... | |
void | interpolated_u (const Vector< double > &s, Vector< double > &disp) const |
Calculate the FE representation of u. More... | |
double | interpolated_u (const Vector< double > &s, const unsigned &i) const |
Calculate the FE representation of the i-th component of u. More... | |
void | interpolated_q (const Vector< double > &s, Vector< double > &u) const |
Calculate the FE representation of q. More... | |
double | interpolated_q (const Vector< double > &s, const unsigned i) const |
Calculate the FE representation of the i-th component of q. More... | |
void | interpolated_div_q (const Vector< double > &s, double &div_q) const |
Calculate the FE representation of div u. More... | |
double | interpolated_div_q (const Vector< double > &s) |
Calculate the FE representation of div q and return it. More... | |
void | interpolated_p (const Vector< double > &s, double &p) const |
Calculate the FE representation of p. More... | |
double | interpolated_p (const Vector< double > &s) const |
Calculate the FE representation of p and return it. More... | |
double | du_dt (const unsigned &n, const unsigned &i) const |
du/dt at local node n More... | |
double | d2u_dt2 (const unsigned &n, const unsigned &i) const |
d^2u/dt^2 at local node n More... | |
double | dq_edge_dt (const unsigned &n) const |
dq_edge/dt for the n-th edge degree of freedom More... | |
double | dq_internal_dt (const unsigned &n) const |
dq_internal/dt for the n-th internal degree of freedom More... | |
void | set_q_internal_timestepper (TimeStepper *const time_stepper_pt) |
Set the timestepper of the q internal data object. More... | |
unsigned | self_test () |
void | output (std::ostream &outfile) |
Output with default number of plot points. More... | |
void | output (std::ostream &outfile, const unsigned &nplot) |
void | output_fct (std::ostream &outfile, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
void | output_fct (std::ostream &outfile, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) |
void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
![]() | |
void | set_dimension (const unsigned &dim) |
void | set_nodal_dimension (const unsigned &nodal_dim) |
void | set_nnodal_position_type (const unsigned &nposition_type) |
Set the number of types required to interpolate the coordinate. More... | |
void | set_n_node (const unsigned &n) |
int | nodal_local_eqn (const unsigned &n, const unsigned &i) const |
double | dJ_eulerian_at_knot (const unsigned &ipt, Shape &psi, DenseMatrix< double > &djacobian_dX) const |
FiniteElement () | |
Constructor. More... | |
virtual | ~FiniteElement () |
FiniteElement (const FiniteElement &)=delete | |
Broken copy constructor. More... | |
virtual bool | local_coord_is_valid (const Vector< double > &s) |
Broken assignment operator. More... | |
virtual void | move_local_coord_back_into_element (Vector< double > &s) const |
void | get_centre_of_gravity_and_max_radius_in_terms_of_zeta (Vector< double > &cog, double &max_radius) const |
virtual void | local_coordinate_of_node (const unsigned &j, Vector< double > &s) const |
virtual void | local_fraction_of_node (const unsigned &j, Vector< double > &s_fraction) |
virtual double | local_one_d_fraction_of_node (const unsigned &n1d, const unsigned &i) |
virtual void | set_macro_elem_pt (MacroElement *macro_elem_pt) |
MacroElement * | macro_elem_pt () |
Access function to pointer to macro element. More... | |
void | get_x (const Vector< double > &s, Vector< double > &x) const |
void | get_x (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | get_x_from_macro_element (const Vector< double > &s, Vector< double > &x) const |
virtual void | get_x_from_macro_element (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | set_integration_scheme (Integral *const &integral_pt) |
Set the spatial integration scheme. More... | |
Integral *const & | integral_pt () const |
Return the pointer to the integration scheme (const version) More... | |
virtual void | shape (const Vector< double > &s, Shape &psi) const =0 |
virtual void | shape_at_knot (const unsigned &ipt, Shape &psi) const |
virtual void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
virtual void | dshape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids) const |
virtual void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual void | d2shape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual double | J_eulerian (const Vector< double > &s) const |
virtual double | J_eulerian_at_knot (const unsigned &ipt) const |
void | check_J_eulerian_at_knots (bool &passed) const |
void | check_jacobian (const double &jacobian) const |
double | dshape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsi, DenseMatrix< double > &djacobian_dX, RankFourTensor< double > &d_dpsidx_dX) const |
double | d2shape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual double | d2shape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual void | assign_nodal_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | describe_nodal_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | assign_all_generic_local_eqn_numbers (const bool &store_local_dof_pt) |
Node *& | node_pt (const unsigned &n) |
Return a pointer to the local node n. More... | |
Node *const & | node_pt (const unsigned &n) const |
Return a pointer to the local node n (const version) More... | |
unsigned | nnode () const |
Return the number of nodes. More... | |
virtual unsigned | nnode_1d () const |
double | raw_nodal_position (const unsigned &n, const unsigned &i) const |
double | raw_nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position (const unsigned &n, const unsigned &i) const |
double | nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
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. More... | |
double | dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
virtual void | get_dresidual_dnodal_coordinates (RankThreeTensor< double > &dresidual_dnodal_coordinates) |
virtual void | disable_ALE () |
virtual void | enable_ALE () |
unsigned | nnodal_position_type () const |
bool | has_hanging_nodes () const |
unsigned | nodal_dimension () const |
Return the required Eulerian dimension of the nodes in this element. More... | |
virtual unsigned | nvertex_node () const |
virtual Node * | vertex_node_pt (const unsigned &j) const |
virtual Node * | construct_node (const unsigned &n) |
virtual Node * | construct_node (const unsigned &n, TimeStepper *const &time_stepper_pt) |
virtual Node * | construct_boundary_node (const unsigned &n) |
virtual Node * | construct_boundary_node (const unsigned &n, TimeStepper *const &time_stepper_pt) |
int | get_node_number (Node *const &node_pt) const |
virtual Node * | get_node_at_local_coordinate (const Vector< double > &s) const |
double | raw_nodal_value (const unsigned &n, const unsigned &i) const |
double | raw_nodal_value (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | nodal_value (const unsigned &n, const unsigned &i) const |
double | nodal_value (const unsigned &t, const unsigned &n, const unsigned &i) const |
unsigned | dim () const |
virtual ElementGeometry::ElementGeometry | element_geometry () const |
Return the geometry type of the element (either Q or T usually). More... | |
virtual double | interpolated_x (const Vector< double > &s, const unsigned &i) const |
Return FE interpolated coordinate x[i] at local coordinate s. More... | |
virtual double | interpolated_x (const unsigned &t, const Vector< double > &s, const unsigned &i) const |
virtual void | interpolated_x (const Vector< double > &s, Vector< double > &x) const |
Return FE interpolated position x[] at local coordinate s as Vector. More... | |
virtual void | interpolated_x (const unsigned &t, const Vector< double > &s, Vector< double > &x) const |
virtual double | interpolated_dxdt (const Vector< double > &s, const unsigned &i, const unsigned &t) |
virtual void | interpolated_dxdt (const Vector< double > &s, const unsigned &t, Vector< double > &dxdt) |
unsigned | ngeom_data () const |
Data * | geom_data_pt (const unsigned &j) |
void | position (const Vector< double > &zeta, Vector< double > &r) const |
void | position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const |
void | dposition_dt (const Vector< double > &zeta, const unsigned &t, Vector< double > &drdt) |
virtual double | zeta_nodal (const unsigned &n, const unsigned &k, const unsigned &i) const |
void | interpolated_zeta (const Vector< double > &s, Vector< double > &zeta) const |
void | locate_zeta (const Vector< double > &zeta, GeomObject *&geom_object_pt, Vector< double > &s, const bool &use_coordinate_as_initial_guess=false) |
virtual void | node_update () |
virtual void | identify_field_data_for_interactions (std::set< std::pair< Data *, unsigned >> &paired_field_data) |
virtual void | identify_geometric_data (std::set< Data * > &geometric_data_pt) |
virtual double | s_min () const |
Min value of local coordinate. More... | |
virtual double | s_max () const |
Max. value of local coordinate. More... | |
double | size () const |
virtual double | compute_physical_size () const |
virtual void | point_output_data (const Vector< double > &s, Vector< double > &data) |
void | point_output (std::ostream &outfile, const Vector< double > &s) |
virtual unsigned | nplot_points_paraview (const unsigned &nplot) const |
virtual unsigned | nsub_elements_paraview (const unsigned &nplot) const |
void | output_paraview (std::ofstream &file_out, const unsigned &nplot) const |
virtual void | write_paraview_output_offset_information (std::ofstream &file_out, const unsigned &nplot, unsigned &counter) const |
virtual void | write_paraview_type (std::ofstream &file_out, const unsigned &nplot) const |
virtual void | write_paraview_offsets (std::ofstream &file_out, const unsigned &nplot, unsigned &offset_sum) const |
virtual unsigned | nscalar_paraview () const |
virtual void | scalar_value_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot) const |
virtual void | scalar_value_fct_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) const |
virtual void | scalar_value_fct_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) const |
virtual std::string | scalar_name_paraview (const unsigned &i) const |
virtual void | output (const unsigned &t, std::ostream &outfile, const unsigned &n_plot) const |
virtual void | output (FILE *file_pt) |
virtual void | output (FILE *file_pt, const unsigned &n_plot) |
virtual void | output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, const SolutionFunctorBase &exact_soln) const |
Output a time-dependent exact solution over the element. More... | |
virtual void | get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &shifted_to_interior=false) const |
virtual std::string | tecplot_zone_string (const unsigned &nplot) const |
virtual void | write_tecplot_zone_footer (std::ostream &outfile, const unsigned &nplot) const |
virtual void | write_tecplot_zone_footer (FILE *file_pt, const unsigned &nplot) const |
virtual unsigned | nplot_points (const unsigned &nplot) const |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
Calculate the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
Calculate the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
virtual void | compute_abs_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error) |
void | integrate_fct (FiniteElement::SteadyExactSolutionFctPt integrand_fct_pt, Vector< double > &integral) |
Integrate Vector-valued function over element. More... | |
void | integrate_fct (FiniteElement::UnsteadyExactSolutionFctPt integrand_fct_pt, const double &time, Vector< double > &integral) |
Integrate Vector-valued time-dep function over element. More... | |
virtual void | build_face_element (const int &face_index, FaceElement *face_element_pt) |
virtual unsigned | get_bulk_node_number (const int &face_index, const unsigned &i) const |
virtual int | face_outer_unit_normal_sign (const int &face_index) const |
Get the sign of the outer unit normal on the face given by face_index. More... | |
virtual unsigned | nnode_on_face () const |
void | face_node_number_error_check (const unsigned &i) const |
Range check for face node numbers. More... | |
virtual CoordinateMappingFctPt | face_to_bulk_coordinate_fct_pt (const int &face_index) const |
virtual BulkCoordinateDerivativesFctPt | bulk_coordinate_derivatives_fct_pt (const int &face_index) const |
![]() | |
GeneralisedElement () | |
Constructor: Initialise all pointers and all values to zero. More... | |
virtual | ~GeneralisedElement () |
Virtual destructor to clean up any memory allocated by the object. More... | |
GeneralisedElement (const GeneralisedElement &)=delete | |
Broken copy constructor. More... | |
void | operator= (const GeneralisedElement &)=delete |
Broken assignment operator. More... | |
Data *& | internal_data_pt (const unsigned &i) |
Return a pointer to i-th internal data object. More... | |
Data *const & | internal_data_pt (const unsigned &i) const |
Return a pointer to i-th internal data object (const version) More... | |
Data *& | external_data_pt (const unsigned &i) |
Return a pointer to i-th external data object. More... | |
Data *const & | external_data_pt (const unsigned &i) const |
Return a pointer to i-th external data object (const version) More... | |
unsigned long | eqn_number (const unsigned &ieqn_local) const |
int | local_eqn_number (const unsigned long &ieqn_global) const |
unsigned | add_external_data (Data *const &data_pt, const bool &fd=true) |
bool | external_data_fd (const unsigned &i) const |
void | exclude_external_data_fd (const unsigned &i) |
void | include_external_data_fd (const unsigned &i) |
void | flush_external_data () |
Flush all external data. More... | |
void | flush_external_data (Data *const &data_pt) |
Flush the object addressed by data_pt from the external data array. More... | |
unsigned | ninternal_data () const |
Return the number of internal data objects. More... | |
unsigned | nexternal_data () const |
Return the number of external data objects. More... | |
unsigned | ndof () const |
Return the number of equations/dofs in the element. More... | |
void | dof_vector (const unsigned &t, Vector< double > &dof) |
Return the vector of dof values at time level t. More... | |
void | dof_pt_vector (Vector< double * > &dof_pt) |
Return the vector of pointers to dof values. More... | |
void | set_internal_data_time_stepper (const unsigned &i, TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
void | assign_internal_eqn_numbers (unsigned long &global_number, Vector< double * > &Dof_pt) |
void | describe_dofs (std::ostream &out, const std::string ¤t_string) const |
void | add_internal_value_pt_to_map (std::map< unsigned, double * > &map_of_value_pt) |
virtual void | assign_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | complete_setup_of_dependencies () |
virtual void | get_residuals (Vector< double > &residuals) |
virtual void | get_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
virtual void | get_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &mass_matrix) |
virtual void | get_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
virtual void | get_dresiduals_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam) |
virtual void | get_djacobian_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam) |
virtual void | get_djacobian_and_dmass_matrix_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam, DenseMatrix< double > &dmass_matrix_dparam) |
virtual void | get_hessian_vector_products (Vector< double > const &Y, DenseMatrix< double > const &C, DenseMatrix< double > &product) |
virtual void | get_inner_products (Vector< std::pair< unsigned, unsigned >> const &history_index, Vector< double > &inner_product) |
virtual void | get_inner_product_vectors (Vector< unsigned > const &history_index, Vector< Vector< double >> &inner_product_vector) |
virtual void | compute_norm (Vector< double > &norm) |
virtual void | compute_norm (double &norm) |
virtual unsigned | ndof_types () const |
virtual void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const |
![]() | |
GeomObject () | |
Default constructor. More... | |
GeomObject (const unsigned &ndim) | |
GeomObject (const unsigned &nlagrangian, const unsigned &ndim) | |
GeomObject (const unsigned &nlagrangian, const unsigned &ndim, TimeStepper *time_stepper_pt) | |
GeomObject (const GeomObject &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const GeomObject &)=delete |
Broken assignment operator. More... | |
virtual | ~GeomObject () |
(Empty) destructor More... | |
unsigned | nlagrangian () const |
Access function to # of Lagrangian coordinates. More... | |
unsigned | ndim () const |
Access function to # of Eulerian coordinates. More... | |
void | set_nlagrangian_and_ndim (const unsigned &n_lagrangian, const unsigned &n_dim) |
Set # of Lagrangian and Eulerian coordinates. More... | |
TimeStepper *& | time_stepper_pt () |
TimeStepper * | time_stepper_pt () const |
virtual void | position (const double &t, const Vector< double > &zeta, Vector< double > &r) const |
virtual void | dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const |
virtual void | d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const |
virtual void | d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const |
Protected Member Functions | |
virtual double | shape_basis_test_local (const Vector< double > &s, Shape &psi, DShape &dpsi, Shape &u_basis, Shape &u_test, DShape &du_basis_dx, DShape &du_test_dx, Shape &q_basis, Shape &q_test, Shape &p_basis, Shape &p_test, Shape &div_q_basis_ds, Shape &div_q_test_ds) const =0 |
virtual double | shape_basis_test_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsi, Shape &u_basis, Shape &u_test, DShape &du_basis_dx, DShape &du_test_dx, Shape &q_basis, Shape &q_test, Shape &p_basis, Shape &p_test, Shape &div_q_basis_ds, Shape &div_q_test_ds) const =0 |
virtual void | fill_in_generic_residual_contribution (Vector< double > &residuals, DenseMatrix< double > &jacobian, bool flag) |
Fill in residuals and, if flag==true, jacobian. More... | |
![]() | |
virtual void | assemble_local_to_eulerian_jacobian (const DShape &dpsids, DenseMatrix< double > &jacobian) const |
virtual void | assemble_local_to_eulerian_jacobian2 (const DShape &d2psids, DenseMatrix< double > &jacobian2) const |
virtual void | assemble_eulerian_base_vectors (const DShape &dpsids, DenseMatrix< double > &interpolated_G) const |
template<unsigned DIM> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
virtual double | invert_jacobian_mapping (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
virtual double | local_to_eulerian_mapping (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
double | local_to_eulerian_mapping (const DShape &dpsids, DenseMatrix< double > &inverse_jacobian) const |
virtual double | local_to_eulerian_mapping_diagonal (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
virtual void | dJ_eulerian_dnodal_coordinates (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<unsigned DIM> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
virtual void | d_dshape_eulerian_dnodal_coordinates (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<unsigned DIM> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
virtual void | transform_derivatives (const DenseMatrix< double > &inverse_jacobian, DShape &dbasis) const |
void | transform_derivatives_diagonal (const DenseMatrix< double > &inverse_jacobian, DShape &dbasis) const |
virtual void | transform_second_derivatives (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<unsigned DIM> | |
void | transform_second_derivatives_template (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<unsigned DIM> | |
void | transform_second_derivatives_diagonal (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
virtual void | fill_in_jacobian_from_nodal_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_jacobian_from_nodal_by_fd (DenseMatrix< double > &jacobian) |
virtual void | update_before_nodal_fd () |
virtual void | reset_after_nodal_fd () |
virtual void | update_in_nodal_fd (const unsigned &i) |
virtual void | reset_in_nodal_fd (const unsigned &i) |
template<> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
Zero-d specialisation of function to calculate inverse of jacobian mapping. More... | |
template<> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
One-d specialisation of function to calculate inverse of jacobian mapping. More... | |
template<> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
Two-d specialisation of function to calculate inverse of jacobian mapping. More... | |
template<> | |
double | invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
template<> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<> | |
void | dJ_eulerian_dnodal_coordinates_templated_helper (const DenseMatrix< double > &jacobian, const DShape &dpsids, DenseMatrix< double > &djacobian_dX) const |
template<> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<> | |
void | d_dshape_eulerian_dnodal_coordinates_templated_helper (const double &det_jacobian, const DenseMatrix< double > &jacobian, const DenseMatrix< double > &djacobian_dX, const DenseMatrix< double > &inverse_jacobian, const DShape &dpsids, RankFourTensor< double > &d_dpsidx_dX) const |
template<> | |
void | transform_second_derivatives_template (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<> | |
void | transform_second_derivatives_template (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<> | |
void | transform_second_derivatives_diagonal (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
template<> | |
void | transform_second_derivatives_diagonal (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const |
![]() | |
unsigned | add_internal_data (Data *const &data_pt, const bool &fd=true) |
bool | internal_data_fd (const unsigned &i) const |
void | exclude_internal_data_fd (const unsigned &i) |
void | include_internal_data_fd (const unsigned &i) |
void | clear_global_eqn_numbers () |
void | add_global_eqn_numbers (std::deque< unsigned long > const &global_eqn_numbers, std::deque< double * > const &global_dof_pt) |
virtual void | assign_internal_and_external_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | assign_additional_local_eqn_numbers () |
int | internal_local_eqn (const unsigned &i, const unsigned &j) const |
int | external_local_eqn (const unsigned &i, const unsigned &j) |
void | fill_in_jacobian_from_internal_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian, const bool &fd_all_data=false) |
void | fill_in_jacobian_from_internal_by_fd (DenseMatrix< double > &jacobian, const bool &fd_all_data=false) |
void | fill_in_jacobian_from_external_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian, const bool &fd_all_data=false) |
void | fill_in_jacobian_from_external_by_fd (DenseMatrix< double > &jacobian, const bool &fd_all_data=false) |
virtual void | update_before_internal_fd () |
virtual void | reset_after_internal_fd () |
virtual void | update_in_internal_fd (const unsigned &i) |
virtual void | reset_in_internal_fd (const unsigned &i) |
virtual void | update_before_external_fd () |
virtual void | reset_after_external_fd () |
virtual void | update_in_external_fd (const unsigned &i) |
virtual void | reset_in_external_fd (const unsigned &i) |
virtual void | fill_in_contribution_to_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &mass_matrix) |
virtual void | fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
virtual void | fill_in_contribution_to_dresiduals_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam) |
virtual void | fill_in_contribution_to_djacobian_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam) |
virtual void | fill_in_contribution_to_djacobian_and_dmass_matrix_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam, DenseMatrix< double > &dmass_matrix_dparam) |
virtual void | fill_in_contribution_to_hessian_vector_products (Vector< double > const &Y, DenseMatrix< double > const &C, DenseMatrix< double > &product) |
virtual void | fill_in_contribution_to_inner_products (Vector< std::pair< unsigned, unsigned >> const &history_index, Vector< double > &inner_product) |
virtual void | fill_in_contribution_to_inner_product_vectors (Vector< unsigned > const &history_index, Vector< Vector< double >> &inner_product_vector) |
Protected Attributes | |
ElasticityTensor * | Elasticity_tensor_pt |
Pointer to the elasticity tensor. More... | |
![]() | |
MacroElement * | Macro_elem_pt |
Pointer to the element's macro element (NULL by default) More... | |
![]() | |
unsigned | NLagrangian |
Number of Lagrangian (intrinsic) coordinates. More... | |
unsigned | Ndim |
Number of Eulerian coordinates. More... | |
TimeStepper * | Geom_object_time_stepper_pt |
Private Attributes | |
SourceFctPt | Force_solid_fct_pt |
Pointer to solid source function. More... | |
SourceFctPt | Force_fluid_fct_pt |
Pointer to fluid source function. More... | |
MassSourceFctPt | Mass_source_fct_pt |
Pointer to the mass source function. More... | |
double * | Lambda_sq_pt |
Timescale ratio (non-dim. density) More... | |
double * | Density_ratio_pt |
Density ratio. More... | |
double * | K_inv_pt |
1/k More... | |
double * | Alpha_pt |
Alpha. More... | |
double * | Porosity_pt |
Porosity. More... | |
Static Private Attributes | |
static double | Default_lambda_sq_value = 1.0 |
Static default value for timescale ratio (1.0 – for natural scaling) More... | |
static double | Default_density_ratio_value = 1.0 |
Static default value for the density ratio. More... | |
static double | Default_k_inv_value = 1.0 |
Static default value for 1/k. More... | |
static double | Default_alpha_value = 1.0 |
Static default value for alpha. More... | |
static double | Default_porosity_value = 1.0 |
Static default value for the porosity. More... | |
Additional Inherited Members | |
![]() | |
static double | Tolerance_for_singular_jacobian = 1.0e-16 |
Tolerance below which the jacobian is considered singular. More... | |
static bool | Accept_negative_jacobian = false |
static bool | Suppress_output_while_checking_for_inverted_elements |
![]() | |
static bool | Suppress_warning_about_repeated_internal_data |
static bool | Suppress_warning_about_repeated_external_data = true |
static double | Default_fd_jacobian_step = 1.0e-8 |
![]() | |
static const unsigned | Default_Initial_Nvalue = 0 |
Default value for the number of values at a node. More... | |
static const double | Node_location_tolerance = 1.0e-14 |
static const unsigned | N2deriv [] = {0, 1, 3, 6} |
![]() | |
static DenseMatrix< double > | Dummy_matrix |
static std::deque< double * > | Dof_pt_deque |
Class implementing the generic maths of the poroelasticity equations: linear elasticity coupled with Darcy equations (using Raviart-Thomas elements with both edge and internal degrees of freedom)
typedef void(* oomph::PoroelasticityEquations< DIM >::MassSourceFctPt) (const double &time, const Vector< double > &x, double &f) |
Mass source function pointer typedef.
typedef void(* oomph::PoroelasticityEquations< DIM >::SourceFctPt) (const double &time, const Vector< double > &x, Vector< double > &f) |
Source function pointer typedef.
|
inline |
Constructor.
|
inline |
Access function for alpha.
References oomph::PoroelasticityEquations< DIM >::Alpha_pt.
|
inline |
Access function for pointer to alpha.
References oomph::PoroelasticityEquations< DIM >::Alpha_pt.
|
virtual |
Compute the error between the FE solution and the exact solution using the H(div) norm for q and L^2 norm for p
Compute the error between the FE solution and the exact solution using the H(div) norm for q and L^2 norm for u and p
Reimplemented from oomph::FiniteElement.
References DIM, calibrate::error, ProblemParameters::exact_soln(), i, J, s, w, oomph::QuadTreeNames::W, and plotDoE::x.
|
virtual |
Compute the error between the FE solution and the exact solution using the H(div) norm for q and L^2 norm for p. Unsteady version
Compute the error between the FE solution and the exact solution using the H(div) norm for u and L^2 norm for p. Unsteady version
Reimplemented from oomph::FiniteElement.
References DIM, calibrate::error, ProblemParameters::exact_soln(), i, J, s, w, oomph::QuadTreeNames::W, and plotDoE::x.
|
inline |
d^2u/dt^2 at local node n
References i, oomph::TimeStepper::is_steady(), n, oomph::FiniteElement::nodal_value(), oomph::FiniteElement::node_pt(), oomph::TimeStepper::ntstorage(), plotPSD::t, oomph::GeomObject::time_stepper_pt(), oomph::Data::time_stepper_pt(), oomph::PoroelasticityEquations< DIM >::u_index(), and oomph::TimeStepper::weight().
|
inline |
Access function for the density ratio.
References oomph::PoroelasticityEquations< DIM >::Density_ratio_pt.
|
inline |
Access function for pointer to the density ratio.
References oomph::PoroelasticityEquations< DIM >::Density_ratio_pt.
|
inline |
dq_edge/dt for the n-th edge degree of freedom
References oomph::TimeStepper::is_steady(), n, oomph::FiniteElement::node_pt(), oomph::TimeStepper::ntstorage(), oomph::PoroelasticityEquations< DIM >::q_edge(), oomph::PoroelasticityEquations< DIM >::q_edge_node_number(), plotPSD::t, oomph::GeomObject::time_stepper_pt(), oomph::Data::time_stepper_pt(), and oomph::TimeStepper::weight().
|
inline |
dq_internal/dt for the n-th internal degree of freedom
References oomph::GeneralisedElement::internal_data_pt(), oomph::TimeStepper::is_steady(), n, oomph::TimeStepper::ntstorage(), oomph::PoroelasticityEquations< DIM >::q_internal(), oomph::PoroelasticityEquations< DIM >::q_internal_index(), plotPSD::t, oomph::GeomObject::time_stepper_pt(), oomph::Data::time_stepper_pt(), and oomph::TimeStepper::weight().
|
inline |
du/dt at local node n
References i, oomph::TimeStepper::is_steady(), n, oomph::FiniteElement::nodal_value(), oomph::FiniteElement::node_pt(), oomph::TimeStepper::ntstorage(), plotPSD::t, oomph::GeomObject::time_stepper_pt(), oomph::Data::time_stepper_pt(), oomph::PoroelasticityEquations< DIM >::u_index(), and oomph::TimeStepper::weight().
|
inline |
Access function to the entries in the elasticity tensor.
References oomph::PoroelasticityEquations< DIM >::Elasticity_tensor_pt, i, j, and k.
|
pure virtual |
Returns the nth gauss point along an edge.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Returns the global coordinates of the nth gauss point along an edge.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
inline |
Return the pointer to the elasticity_tensor.
References oomph::PoroelasticityEquations< DIM >::Elasticity_tensor_pt.
|
inlinevirtual |
Fill in the Jacobian matrix for the Newton method.
Reimplemented from oomph::FiniteElement.
References oomph::PoroelasticityEquations< DIM >::fill_in_generic_residual_contribution().
|
inlinevirtual |
Fill in contribution to residuals for the Darcy equations.
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::Dummy_matrix, and oomph::PoroelasticityEquations< DIM >::fill_in_generic_residual_contribution().
|
protectedvirtual |
Fill in residuals and, if flag==true, jacobian.
Referenced by oomph::PoroelasticityEquations< DIM >::fill_in_contribution_to_jacobian(), and oomph::PoroelasticityEquations< DIM >::fill_in_contribution_to_residuals().
|
inline |
Indirect access to the fluid forcing function - returns 0 if no forcing function has been set
References b, oomph::FiniteElement::dim(), oomph::PoroelasticityEquations< DIM >::Force_fluid_fct_pt, i, n, and plotDoE::x.
|
inline |
Access function: Pointer to fluid force function.
References oomph::PoroelasticityEquations< DIM >::Force_fluid_fct_pt.
|
inline |
Access function: Pointer to fluid force function (const version)
References oomph::PoroelasticityEquations< DIM >::Force_fluid_fct_pt.
|
inline |
Indirect access to the solid force function - returns 0 if no forcing function has been set
References b, oomph::FiniteElement::dim(), oomph::PoroelasticityEquations< DIM >::Force_solid_fct_pt, i, n, and plotDoE::x.
|
inline |
Access function: Pointer to solid force function.
References oomph::PoroelasticityEquations< DIM >::Force_solid_fct_pt.
|
inline |
Access function: Pointer to solid force function (const version)
References oomph::PoroelasticityEquations< DIM >::Force_solid_fct_pt.
|
pure virtual |
Returns the local form of the q basis and dbasis/ds at local coordinate s
Implemented in oomph::TPoroelasticityElement< ORDER >, oomph::TPoroelasticityElement< ORDER >, and oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_div_q().
|
pure virtual |
Return the pressure basis.
Implemented in oomph::TPoroelasticityElement< ORDER >, oomph::TPoroelasticityElement< ORDER >, and oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_p().
|
inline |
Returns the transformed basis at local coordinate s.
References DIM, oomph::PoroelasticityEquations< DIM >::get_q_basis_local(), oomph::FiniteElement::nnode(), oomph::PoroelasticityEquations< DIM >::nq_basis(), and oomph::PoroelasticityEquations< DIM >::transform_basis().
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_q().
|
pure virtual |
Returns the local form of the q basis at local coordinate s.
Implemented in oomph::TPoroelasticityElement< ORDER >, oomph::TPoroelasticityElement< ORDER >, and oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::get_q_basis().
void oomph::PoroelasticityEquations< DIM >::get_strain | ( | const Vector< double > & | s, |
DenseMatrix< double > & | strain | ||
) | const |
Return the strain tensor.
Compute the strain tensor at local coordinate s.
Now fill in the entries of the strain tensor
References DIM, i, j, oomph::DenseMatrix< T >::ncol(), oomph::DenseMatrix< T >::nrow(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and s.
void oomph::PoroelasticityEquations< DIM >::get_stress | ( | const Vector< double > & | s, |
DenseMatrix< double > & | stress | ||
) | const |
Return the Cauchy stress tensor, as calculated from the elasticity tensor at specified local coordinate
Compute the Cauchy stress tensor at local coordinate s for displacement formulation.
References DIM, Global_Physical_Variables::E, i, j, k, oomph::DenseMatrix< T >::ncol(), oomph::DenseMatrix< T >::nrow(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and s.
|
inline |
Calculate the FE representation of div q and return it.
References oomph::PoroelasticityEquations< DIM >::interpolated_div_q(), and s.
|
inline |
Calculate the FE representation of div u.
References DIM, oomph::FiniteElement::dshape_local(), oomph::PoroelasticityEquations< DIM >::get_div_q_basis_local(), oomph::FiniteElement::local_to_eulerian_mapping(), oomph::FiniteElement::nnode(), oomph::PoroelasticityEquations< DIM >::nq_basis(), oomph::PoroelasticityEquations< DIM >::nq_basis_edge(), oomph::PoroelasticityEquations< DIM >::q_edge(), oomph::PoroelasticityEquations< DIM >::q_internal(), and s.
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_div_q().
|
inline |
Calculate the FE representation of p and return it.
References oomph::PoroelasticityEquations< DIM >::interpolated_p(), p, and s.
|
inline |
Calculate the FE representation of p.
References oomph::PoroelasticityEquations< DIM >::get_p_basis(), oomph::PoroelasticityEquations< DIM >::np_basis(), p, oomph::PoroelasticityEquations< DIM >::p_value(), and s.
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_p().
|
inline |
Calculate the FE representation of the i-th component of q.
References DIM, oomph::PoroelasticityEquations< DIM >::get_q_basis(), i, oomph::PoroelasticityEquations< DIM >::nq_basis(), oomph::PoroelasticityEquations< DIM >::nq_basis_edge(), oomph::PoroelasticityEquations< DIM >::q_edge(), oomph::PoroelasticityEquations< DIM >::q_internal(), and s.
|
inline |
Calculate the FE representation of q.
References DIM, oomph::PoroelasticityEquations< DIM >::get_q_basis(), i, oomph::PoroelasticityEquations< DIM >::nq_basis(), oomph::PoroelasticityEquations< DIM >::nq_basis_edge(), oomph::PoroelasticityEquations< DIM >::q_edge(), oomph::PoroelasticityEquations< DIM >::q_internal(), and s.
|
inline |
Calculate the FE representation of the i-th component of u.
References i, oomph::PoroelasticityEquations< DIM >::interpolated_u(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), s, oomph::FiniteElement::shape(), and oomph::PoroelasticityEquations< DIM >::u_index().
|
inline |
Calculate the FE representation of u.
References DIM, i, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), s, oomph::FiniteElement::shape(), and oomph::PoroelasticityEquations< DIM >::u_index().
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_u().
|
inline |
Access function for the nondim inverse permeability.
References oomph::PoroelasticityEquations< DIM >::K_inv_pt.
|
inline |
Access function for pointer to the nondim inverse permeability.
References oomph::PoroelasticityEquations< DIM >::K_inv_pt.
|
inline |
Access function for timescale ratio (nondim density)
References oomph::PoroelasticityEquations< DIM >::Lambda_sq_pt.
|
inline |
Access function for pointer to timescale ratio (nondim density)
References oomph::PoroelasticityEquations< DIM >::Lambda_sq_pt.
|
inline |
Indirect access to the mass source function - returns 0 if no mass source function has been set
References b, oomph::PoroelasticityEquations< DIM >::Mass_source_fct_pt, and plotDoE::x.
|
inline |
Access function: Pointer to mass source function.
References oomph::PoroelasticityEquations< DIM >::Mass_source_fct_pt.
|
inline |
Access function: Pointer to mass source function (const version)
References oomph::PoroelasticityEquations< DIM >::Mass_source_fct_pt.
|
pure virtual |
Returns the number of gauss points along each edge of the element.
Implemented in oomph::TPoroelasticityElement< ORDER >, oomph::TPoroelasticityElement< ORDER >, and oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Return the total number of pressure basis functions.
Implemented in oomph::TPoroelasticityElement< ORDER >, oomph::TPoroelasticityElement< ORDER >, and oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_p().
|
pure virtual |
Return the total number of computational basis functions for q.
Implemented in oomph::TPoroelasticityElement< ORDER >, oomph::TPoroelasticityElement< ORDER >, and oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::get_q_basis(), oomph::PoroelasticityEquations< DIM >::interpolated_div_q(), and oomph::PoroelasticityEquations< DIM >::interpolated_q().
|
pure virtual |
Return the number of edge basis functions for q.
Implemented in oomph::TPoroelasticityElement< ORDER >, oomph::TPoroelasticityElement< ORDER >, and oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_div_q(), and oomph::PoroelasticityEquations< DIM >::interpolated_q().
|
inlinevirtual |
Output with default number of plot points.
Reimplemented from oomph::FiniteElement.
Referenced by oomph::TPoroelasticityElement< ORDER >::output().
|
virtual |
Output FE representation of soln: x,y,u1,u2,div_q,p at Nplot^DIM plot points
Output FE representation of soln: x,y,u1,u2,q1,q2,div_q,p at Nplot^DIM plot points
Reimplemented from oomph::FiniteElement.
References DIM, i, s, and oomph::OneDimLagrange::shape().
|
virtual |
Output FE representation of exact soln: x,y,u1,u2,div_q,p at Nplot^DIM plot points. Unsteady version
Reimplemented from oomph::FiniteElement.
References DIM, ProblemParameters::exact_soln(), i, s, and plotDoE::x.
|
virtual |
Output FE representation of exact soln: x,y,u1,u2,div_q,p at Nplot^DIM plot points
Output FE representation of exact soln: x,y,u1,u2,q1,q2,div_q,p at Nplot^DIM plot points
Reimplemented from oomph::FiniteElement.
References DIM, ProblemParameters::exact_soln(), i, s, and plotDoE::x.
|
pure virtual |
Return the equation number of the n-th pressure degree of freedom.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Return the nth pressure value.
Implemented in oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::interpolated_p().
|
pure virtual |
Pin the nth pressure value.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Pin the nth internal q value.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
inline |
Access function for the porosity.
References oomph::PoroelasticityEquations< DIM >::Porosity_pt.
|
inline |
Access function for pointer to the porosity.
References oomph::PoroelasticityEquations< DIM >::Porosity_pt.
|
pure virtual |
Return the values of the edge (flux) degrees of freedom.
Implemented in oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::dq_edge_dt(), oomph::PoroelasticityEquations< DIM >::interpolated_div_q(), and oomph::PoroelasticityEquations< DIM >::interpolated_q().
|
pure virtual |
Return the values of the edge (flux) degrees of freedom at time history level t
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Return the nodal index at which the nth edge unknown is stored.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Return the equation number of the n-th edge (flux) degree of freedom.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Return the number of the node where the nth edge unknown is stored.
Implemented in oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::dq_edge_dt().
|
pure virtual |
Return the values of the internal (moment) degrees of freedom.
Implemented in oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::dq_internal_dt(), oomph::PoroelasticityEquations< DIM >::interpolated_div_q(), and oomph::PoroelasticityEquations< DIM >::interpolated_q().
|
pure virtual |
Return the values of the internal (moment) degrees of freedom at time history level t
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Return the index of the internal data where the q_internal degrees of freedom are stored
Implemented in oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::dq_internal_dt(), and oomph::PoroelasticityEquations< DIM >::set_q_internal_timestepper().
|
pure virtual |
Return the equation number of the n-th internal (moment) degree of freedom
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Number of values required at node n.
Reimplemented from oomph::FiniteElement.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
pure virtual |
Scale the edge basis to allow arbitrary edge mappings.
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
inlinevirtual |
Self-test: Check inversion of element & do self-test for GeneralisedElement. Return 0 if OK.
Self-test: Have all internal values been classified as pinned/unpinned? Has pointer to spatial integration scheme been set? Return 0 if OK.
Reimplemented from oomph::FiniteElement.
|
inline |
Set the timestepper of the q internal data object.
References oomph::GeneralisedElement::internal_data_pt(), oomph::PoroelasticityEquations< DIM >::q_internal_index(), oomph::Data::set_time_stepper(), and oomph::GeomObject::time_stepper_pt().
|
protectedpure virtual |
Returns the geometric basis, and the q, p and divergence basis functions and test functions at local coordinate s
Implemented in oomph::TPoroelasticityElement< ORDER >.
|
protectedpure virtual |
Returns the geometric basis, and the q, p and divergence basis functions and test functions at integration point ipt
Implemented in oomph::TPoroelasticityElement< ORDER >.
double oomph::PoroelasticityEquations< DIM >::transform_basis | ( | const Vector< double > & | s, |
const Shape & | q_basis_local, | ||
Shape & | psi, | ||
DShape & | dpsi, | ||
Shape & | q_basis | ||
) | const |
Performs a div-conserving transformation of the vector basis functions from the reference element to the actual element
Referenced by oomph::PoroelasticityEquations< DIM >::get_q_basis(), and oomph::PoroelasticityEquations< DIM >::transform_basis().
|
inline |
Performs a div-conserving transformation of the vector basis functions from the reference element to the actual element
References DIM, oomph::FiniteElement::nnode(), s, and oomph::PoroelasticityEquations< DIM >::transform_basis().
|
pure virtual |
Return the nodal index of the n-th solid displacement unknown.
Implemented in oomph::TPoroelasticityElement< ORDER >.
Referenced by oomph::PoroelasticityEquations< DIM >::d2u_dt2(), oomph::PoroelasticityEquations< DIM >::du_dt(), and oomph::PoroelasticityEquations< DIM >::interpolated_u().
|
private |
Alpha.
Referenced by oomph::PoroelasticityEquations< DIM >::alpha(), and oomph::PoroelasticityEquations< DIM >::alpha_pt().
|
staticprivate |
Static default value for alpha.
|
staticprivate |
Static default value for the density ratio.
|
staticprivate |
Static default value for 1/k.
|
staticprivate |
Static default value for timescale ratio (1.0 – for natural scaling)
|
staticprivate |
Static default value for the porosity.
|
private |
Density ratio.
Referenced by oomph::PoroelasticityEquations< DIM >::density_ratio(), and oomph::PoroelasticityEquations< DIM >::density_ratio_pt().
|
protected |
Pointer to the elasticity tensor.
Referenced by oomph::PoroelasticityEquations< DIM >::E(), and oomph::PoroelasticityEquations< DIM >::elasticity_tensor_pt().
|
private |
Pointer to fluid source function.
Referenced by oomph::PoroelasticityEquations< DIM >::force_fluid(), and oomph::PoroelasticityEquations< DIM >::force_fluid_fct_pt().
|
private |
Pointer to solid source function.
Referenced by oomph::PoroelasticityEquations< DIM >::force_solid(), and oomph::PoroelasticityEquations< DIM >::force_solid_fct_pt().
|
private |
1/k
Referenced by oomph::PoroelasticityEquations< DIM >::k_inv(), and oomph::PoroelasticityEquations< DIM >::k_inv_pt().
|
private |
Timescale ratio (non-dim. density)
Referenced by oomph::PoroelasticityEquations< DIM >::lambda_sq(), and oomph::PoroelasticityEquations< DIM >::lambda_sq_pt().
|
private |
Pointer to the mass source function.
Referenced by oomph::PoroelasticityEquations< DIM >::mass_source(), and oomph::PoroelasticityEquations< DIM >::mass_source_fct_pt().
|
private |
Porosity.
Referenced by oomph::PoroelasticityEquations< DIM >::porosity(), and oomph::PoroelasticityEquations< DIM >::porosity_pt().