![]() |
|
#include <generalised_newtonian_axisym_navier_stokes_elements.h>
Public Member Functions | |
GeneralisedNewtonianAxisymmetricNavierStokesEquations () | |
Constructor: NULL the body force and source function. More... | |
const double & | re () const |
Reynolds number. More... | |
const double & | re_st () const |
Product of Reynolds and Strouhal number (=Womersley number) More... | |
double *& | re_pt () |
Pointer to Reynolds number. More... | |
double *& | re_st_pt () |
Pointer to product of Reynolds and Strouhal number (=Womersley number) More... | |
const double & | re_invfr () const |
Global inverse Froude number. More... | |
double *& | re_invfr_pt () |
Pointer to global inverse Froude number. More... | |
const double & | re_invro () const |
Global Reynolds number multiplied by inverse Rossby number. More... | |
double *& | re_invro_pt () |
Pointer to global inverse Froude number. More... | |
const Vector< double > & | g () const |
Vector of gravitational components. More... | |
Vector< double > *& | g_pt () |
Pointer to Vector of gravitational components. More... | |
const double & | density_ratio () const |
double *& | density_ratio_pt () |
Pointer to Density ratio. More... | |
const double & | viscosity_ratio () const |
double *& | viscosity_ratio_pt () |
Pointer to Viscosity Ratio. More... | |
GeneralisedNewtonianConstitutiveEquation< 3 > *& | constitutive_eqn_pt () |
Access function for the constitutive equation pointer. More... | |
void | use_current_strainrate_to_compute_second_invariant () |
Switch to fully implict evaluation of non-Newtonian const eqn. More... | |
void | use_extrapolated_strainrate_to_compute_second_invariant () |
Use extrapolation for non-Newtonian const eqn. More... | |
virtual unsigned | npres_axi_nst () const =0 |
Function to return number of pressure degrees of freedom. More... | |
virtual unsigned | u_index_axi_nst (const unsigned &i) const |
unsigned | u_index_nst (const unsigned &i) const |
unsigned | n_u_nst () const |
double | du_dt_axi_nst (const unsigned &n, const unsigned &i) const |
void | disable_ALE () |
void | enable_ALE () |
virtual double | p_axi_nst (const unsigned &n_p) const =0 |
virtual int | p_nodal_index_axi_nst () const |
Which nodal value represents the pressure? More... | |
double | pressure_integral () const |
Integral of pressure over element. More... | |
void | max_and_min_invariant_and_viscosity (double &min_invariant, double &max_invariant, double &min_viscosity, double &max_viscosity) const |
double | dissipation () const |
Return integral of dissipation over element. More... | |
double | dissipation (const Vector< double > &s) const |
Return dissipation at local coordinate s. More... | |
double | kin_energy () const |
Get integral of kinetic energy over element. More... | |
void | strain_rate (const Vector< double > &s, DenseMatrix< double > &strain_rate) const |
void | strain_rate (const unsigned &t, const Vector< double > &s, DenseMatrix< double > &strain_rate) const |
virtual void | extrapolated_strain_rate (const Vector< double > &s, DenseMatrix< double > &strain_rate) const |
virtual void | extrapolated_strain_rate (const unsigned &ipt, DenseMatrix< double > &strain_rate) const |
void | traction (const Vector< double > &s, const Vector< double > &N, Vector< double > &traction) const |
void | get_pressure_and_velocity_mass_matrix_diagonal (Vector< double > &press_mass_diag, Vector< double > &veloc_mass_diag, const unsigned &which_one=0) |
unsigned | nscalar_paraview () const |
void | scalar_value_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot) const |
std::string | scalar_name_paraview (const unsigned &i) const |
void | point_output_data (const Vector< double > &s, Vector< double > &data) |
void | output (std::ostream &outfile) |
void | output (std::ostream &outfile, const unsigned &nplot) |
void | output (FILE *file_pt) |
void | output (FILE *file_pt, const unsigned &nplot) |
void | output_veloc (std::ostream &outfile, const unsigned &nplot, const unsigned &t) |
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::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
Compute the element's residual Vector. More... | |
void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
void | fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
virtual void | get_dresidual_dnodal_coordinates (RankThreeTensor< double > &dresidual_dnodal_coordinates) |
void | fill_in_contribution_to_dresiduals_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam) |
Compute the element's residual Vector. More... | |
void | fill_in_contribution_to_djacobian_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam) |
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) |
void | interpolated_u_axi_nst (const Vector< double > &s, Vector< double > &veloc) const |
Compute vector of FE interpolated velocity u at local coordinate s. More... | |
double | interpolated_u_axi_nst (const Vector< double > &s, const unsigned &i) const |
Return FE interpolated velocity u[i] at local coordinate s. More... | |
double | interpolated_u_axi_nst (const unsigned &t, const Vector< double > &s, const unsigned &i) const |
Return FE interpolated velocity u[i] at local coordinate s. More... | |
virtual void | dinterpolated_u_axi_nst_ddata (const Vector< double > &s, const unsigned &i, Vector< double > &du_ddata, Vector< unsigned > &global_eqn_number) |
double | interpolated_p_axi_nst (const Vector< double > &s) const |
Return FE interpolated pressure at local coordinate s. More... | |
double | interpolated_duds_axi_nst (const Vector< double > &s, const unsigned &i, const unsigned &j) const |
double | interpolated_dudx_axi_nst (const Vector< double > &s, const unsigned &i, const unsigned &j) const |
double | interpolated_dudt_axi_nst (const Vector< double > &s, const unsigned &i) const |
double | interpolated_d_dudx_dX_axi_nst (const Vector< double > &s, const unsigned &p, const unsigned &q, const unsigned &i, const unsigned &k) const |
double | compute_physical_size () const |
Compute the volume of the element. More... | |
![]() | |
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 unsigned | required_nvalue (const unsigned &n) const |
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 |
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 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 void | output (const unsigned &t, std::ostream &outfile, const unsigned &n_plot) const |
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, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< 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 | self_test () |
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 |
![]() | |
NavierStokesElementWithDiagonalMassMatrices () | |
Empty constructor. More... | |
virtual | ~NavierStokesElementWithDiagonalMassMatrices () |
Virtual destructor. More... | |
NavierStokesElementWithDiagonalMassMatrices (const NavierStokesElementWithDiagonalMassMatrices &)=delete | |
Broken copy constructor. More... | |
void | operator= (const NavierStokesElementWithDiagonalMassMatrices &)=delete |
Broken assignment operator. More... | |
Public Attributes | |
void(*&)(const double &time, const Vector< double > &x, Vector< double > &f) | axi_nst_body_force_fct_pt () |
Access function for the body-force pointer. More... | |
double(*&)(const double &time, const Vector< double > &x) | source_fct_pt () |
Access function for the source-function pointer. More... | |
Static Public Attributes | |
static Vector< double > | Gamma |
Vector to decide whether the stress-divergence form is used or not. More... | |
![]() | |
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 |
Protected Member Functions | |
virtual int | p_local_eqn (const unsigned &n) const =0 |
virtual double | dshape_and_dtest_eulerian_axi_nst (const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0 |
virtual double | dshape_and_dtest_eulerian_at_knot_axi_nst (const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0 |
virtual double | dshape_and_dtest_eulerian_at_knot_axi_nst (const unsigned &ipt, Shape &psi, DShape &dpsidx, RankFourTensor< double > &d_dpsidx_dX, Shape &test, DShape &dtestdx, RankFourTensor< double > &d_dtestdx_dX, DenseMatrix< double > &djacobian_dX) const =0 |
virtual void | pshape_axi_nst (const Vector< double > &s, Shape &psi) const =0 |
Compute the pressure shape functions at local coordinate s. More... | |
virtual void | pshape_axi_nst (const Vector< double > &s, Shape &psi, Shape &test) const =0 |
virtual void | get_body_force_axi_nst (const double &time, const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, Vector< double > &result) |
Calculate the body force fct at a given time and Eulerian position. More... | |
virtual void | get_body_force_gradient_axi_nst (const double &time, const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, DenseMatrix< double > &d_body_force_dx) |
double | get_source_fct (const double &time, const unsigned &ipt, const Vector< double > &x) |
Calculate the source fct at given time and Eulerian position. More... | |
virtual void | get_source_fct_gradient (const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &gradient) |
virtual void | get_viscosity_ratio_axisym_nst (const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, double &visc_ratio) |
virtual void | fill_in_generic_residual_contribution_axi_nst (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix, unsigned flag) |
virtual void | fill_in_generic_dresidual_contribution_axi_nst (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam, DenseMatrix< double > &dmass_matrix_dparam, unsigned flag) |
void | fill_in_contribution_to_hessian_vector_products (Vector< double > const &Y, DenseMatrix< double > const &C, DenseMatrix< double > &product) |
![]() | |
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) |
void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
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_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 | |
double * | Viscosity_Ratio_pt |
double * | Density_Ratio_pt |
double * | Re_pt |
Pointer to global Reynolds number. More... | |
double * | ReSt_pt |
Pointer to global Reynolds number x Strouhal number (=Womersley) More... | |
double * | ReInvFr_pt |
double * | ReInvRo_pt |
Vector< double > * | G_pt |
Pointer to global gravity Vector. More... | |
void(* | Body_force_fct_pt )(const double &time, const Vector< double > &x, Vector< double > &result) |
Pointer to body force function. More... | |
double(* | Source_fct_pt )(const double &time, const Vector< double > &x) |
Pointer to volumetric source function. More... | |
GeneralisedNewtonianConstitutiveEquation< 3 > * | Constitutive_eqn_pt |
Pointer to the generalised Newtonian constitutive equation. More... | |
bool | Use_extrapolated_strainrate_to_compute_second_invariant |
bool | ALE_is_disabled |
![]() | |
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 |
Static Protected Attributes | |
static bool | Pre_multiply_by_viscosity_ratio |
![]() | |
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 |
Static Private Attributes | |
static int | Pressure_not_stored_at_node |
static double | Default_Physical_Constant_Value |
static double | Default_Physical_Ratio_Value |
static Vector< double > | Default_Gravity_vector |
Static default value for the gravity vector. More... | |
Additional Inherited Members | |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
A class for elements that solve the unsteady axisymmetric Navier–Stokes equations in cylindrical polar coordinates, \( x_0^* = r^*\) and \( x_1^* = z^* \) with \( \partial / \partial \theta = 0 \). We're solving for the radial, axial and azimuthal (swirl) velocities, \( u_0^* = u_r^*(r^*,z^*,t^*) = u^*(r^*,z^*,t^*), \ u_1^* = u_z^*(r^*,z^*,t^*) = w^*(r^*,z^*,t^*)\) and \( u_2^* = u_\theta^*(r^*,z^*,t^*) = v^*(r^*,z^*,t^*) \), respectively, and the pressure \( p(r^*,z^*,t^*) \). This class contains the generic maths – any concrete implementation must be derived from this.
In dimensional form the axisymmetric Navier-Stokes equations are given by the momentum equations (for the \( r^* \), \( z^* \) and \( \theta \) directions, respectively)
\[ \rho\left(\frac{\partial u^*}{\partial t^*} + {u^*}\frac{\partial u^*}{\partial r^*} - \frac{{v^*}^2}{r^*} + {w^*}\frac{\partial u^*}{\partial z^*} \right) = B_r^*\left(r^*,z^*,t^*\right)+ \rho G_r^*+ \frac{1}{r^*} \frac{\partial\left({r^*}\sigma_{rr}^*\right)}{\partial r^*} - \frac{\sigma_{\theta\theta}^*}{r^*} + \frac{\partial\sigma_{rz}^*}{\partial z^*}, \]
\[ \rho\left(\frac{\partial w^*}{\partial t^*} + {u^*}\frac{\partial w^*}{\partial r^*} + {w^*}\frac{\partial w^*}{\partial z^*} \right) = B_z^*\left(r^*,z^*,t^*\right)+\rho G_z^*+ \frac{1}{r^*}\frac{\partial\left({r^*}\sigma_{zr}^*\right)}{\partial r^*} + \frac{\partial\sigma_{zz}^*}{\partial z^*}, \]
\[ \rho\left(\frac{\partial v^*}{\partial t^*} + {u^*}\frac{\partial v^*}{\partial r^*} + \frac{u^* v^*}{r^*} +{w^*}\frac{\partial v^*}{\partial z^*} \right)= B_\theta^*\left(r^*,z^*,t^*\right)+ \rho G_\theta^*+ \frac{1}{r^*}\frac{\partial\left({r^*}\sigma_{\theta r}^*\right)}{\partial r^*} + \frac{\sigma_{r\theta}^*}{r^*} + \frac{\partial\sigma_{\theta z}^*}{\partial z^*}, \]
and
\[ \frac{1}{r^*}\frac{\partial\left(r^*u^*\right)}{\partial r^*} + \frac{\partial w^*}{\partial z^*} = Q^*. \]
The dimensional, symmetric stress tensor is defined as:
\[ \sigma_{rr}^* = -p^* + 2\mu\frac{\partial u^*}{\partial r^*}, \qquad \sigma_{\theta\theta}^* = -p^* +2\mu\frac{u^*}{r^*}, \]
\[ \sigma_{zz}^* = -p^* + 2\mu\frac{\partial w^*}{\partial z^*}, \qquad \sigma_{rz}^* = \mu\left(\frac{\partial u^*}{\partial z^*} + \frac{\partial w^*}{\partial r^*}\right), \]
\[ \sigma_{\theta r}^* = \mu r^*\frac{\partial}{\partial r^*} \left(\frac{v^*}{r^*}\right), \qquad \sigma_{\theta z}^* = \mu\frac{\partial v^*}{\partial z^*}. \]
Here, the (dimensional) velocity components are denoted by \( u^* \), \( w^* \) and \( v^* \) for the radial, axial and azimuthal velocities, respectively, and we have split the body force into two components: A constant vector \( \rho \ G_i^* \) which typically represents gravitational forces; and a variable body force, \( B_i^*(r^*,z^*,t^*) \). \( Q^*(r^*,z^*,t^*) \) is a volumetric source term for the continuity equation and is typically equal to zero.
We non-dimensionalise the equations, using problem-specific reference quantities for the velocity, \( U \), length, \( L \), and time, \( T \), and scale the constant body force vector on the gravitational acceleration, \( g \), so that
\[ u^* = U\, u, \qquad w^* = U\, w, \qquad v^* = U\, v, \]
\[ r^* = L\, r, \qquad z^* = L\, z, \qquad t^* = T\, t, \]
\[ G_i^* = g\, G_i, \qquad B_i^* = \frac{U\mu_{ref}}{L^2}\, B_i, \qquad p^* = \frac{\mu_{ref} U}{L}\, p, \qquad Q^* = \frac{U}{L}\, Q. \]
where we note that the pressure and the variable body force have been non-dimensionalised on the viscous scale. \( \mu_{ref} \) and \( \rho_{ref} \) (used below) are reference values for the fluid viscosity and density, respectively. In single-fluid problems, they are identical to the viscosity \( \mu \) and density \( \rho \) of the (one and only) fluid in the problem.
The non-dimensional form of the axisymmetric Navier-Stokes equations is then given by
\[ R_{\rho} Re\left(St\frac{\partial u}{\partial t} + {u}\frac{\partial u}{\partial r} - \frac{{v}^2}{r} + {w}\frac{\partial u}{\partial z} \right) = B_r\left(r,z,t\right)+ R_\rho \frac{Re}{Fr} G_r + \frac{1}{r} \frac{\partial\left({r}\sigma_{rr}\right)}{\partial r} - \frac{\sigma_{\theta\theta}}{r} + \frac{\partial\sigma_{rz}}{\partial z}, \]
\[ R_{\rho} Re\left(St\frac{\partial w}{\partial t} + {u}\frac{\partial w}{\partial r} + {w}\frac{\partial w}{\partial z} \right) = B_z\left(r,z,t\right)+ R_\rho \frac{Re}{Fr} G_z+ \frac{1}{r}\frac{\partial\left({r}\sigma_{zr}\right)}{\partial r} + \frac{\partial\sigma_{zz}}{\partial z}, \]
\[ R_{\rho} Re\left(St\frac{\partial v}{\partial t} + {u}\frac{\partial v}{\partial r} + \frac{u v}{r} +{w}\frac{\partial v}{\partial z} \right)= B_\theta\left(r,z,t\right)+ R_\rho \frac{Re}{Fr} G_\theta+ \frac{1}{r}\frac{\partial\left({r}\sigma_{\theta r}\right)}{\partial r} + \frac{\sigma_{r\theta}}{r} + \frac{\partial\sigma_{\theta z}}{\partial z}, \]
and
\[ \frac{1}{r}\frac{\partial\left(ru\right)}{\partial r} + \frac{\partial w}{\partial z} = Q. \]
Here the non-dimensional, symmetric stress tensor is defined as:
\[ \sigma_{rr} = -p + 2R_\mu \frac{\partial u}{\partial r}, \qquad \sigma_{\theta\theta} = -p +2R_\mu \frac{u}{r}, \]
\[ \sigma_{zz} = -p + 2R_\mu \frac{\partial w}{\partial z}, \qquad \sigma_{rz} = R_\mu \left(\frac{\partial u}{\partial z} + \frac{\partial w}{\partial r}\right), \]
\[ \sigma_{\theta r} = R_\mu r \frac{\partial}{\partial r}\left(\frac{v}{r}\right), \qquad \sigma_{\theta z} = R_\mu \frac{\partial v}{\partial z}. \]
and the dimensionless parameters
\[ Re = \frac{UL\rho_{ref}}{\mu_{ref}}, \qquad St = \frac{L}{UT}, \qquad Fr = \frac{U^2}{gL}, \]
are the Reynolds number, Strouhal number and Froude number respectively. \( R_\rho=\rho/\rho_{ref} \) and \( R_\mu(T) =\mu(T)/\mu_{ref}\) represent the ratios of the fluid's density and its dynamic viscosity, relative to the density and viscosity values used to form the non-dimensional parameters (By default, \( R_\rho = R_\mu = 1 \); other values tend to be used in problems involving multiple fluids).
|
inline |
Constructor: NULL the body force and source function.
References Default_Gravity_vector, Default_Physical_Constant_Value, Default_Physical_Ratio_Value, Density_Ratio_pt, G_pt, Re_pt, ReInvFr_pt, ReInvRo_pt, ReSt_pt, and Viscosity_Ratio_pt.
|
virtual |
Validate against exact solution. Solution is provided via function pointer. Plot at a given number of plot points and compute L2 error and L2 norm of velocity solution over element
Validate against exact velocity solution Solution is provided via function pointer. Plot at a given number of plot points and compute L2 error and L2 norm of velocity solution over element.
Reimplemented from oomph::FiniteElement.
References calibrate::error, ProblemParameters::exact_soln(), i, oomph::FiniteElement::integral_pt(), interpolated_u_axi_nst(), oomph::FiniteElement::interpolated_x(), J, oomph::FiniteElement::J_eulerian(), oomph::Integral::knot(), GlobalParameters::Nintpt, oomph::Integral::nweight(), s, w, oomph::QuadTreeNames::W, oomph::Integral::weight(), and plotDoE::x.
|
virtual |
Validate against exact solution at given time Solution is provided via function pointer. Plot at a given number of plot points and compute L2 error and L2 norm of velocity solution over element
Validate against exact velocity solution at given time. Solution is provided via function pointer. Plot at a given number of plot points and compute L2 error and L2 norm of velocity solution over element.
Reimplemented from oomph::FiniteElement.
References calibrate::error, ProblemParameters::exact_soln(), i, oomph::FiniteElement::integral_pt(), interpolated_u_axi_nst(), oomph::FiniteElement::interpolated_x(), J, oomph::FiniteElement::J_eulerian(), oomph::Integral::knot(), GlobalParameters::Nintpt, oomph::Integral::nweight(), s, w, oomph::QuadTreeNames::W, oomph::Integral::weight(), and plotDoE::x.
|
inlinevirtual |
Compute the volume of the element.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::dim(), i, oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), J, oomph::FiniteElement::J_eulerian(), oomph::Integral::knot(), oomph::FiniteElement::nodal_dimension(), oomph::Integral::nweight(), oomph::MathematicalConstants::Pi, s, w, oomph::Integral::weight(), and plotDoE::x.
|
inline |
Access function for the constitutive equation pointer.
References Constitutive_eqn_pt.
|
inline |
Density ratio for element: Element's density relative to the viscosity used in the definition of the Reynolds number
References Density_Ratio_pt.
Referenced by fill_in_contribution_to_hessian_vector_products(), fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inline |
Pointer to Density ratio.
References Density_Ratio_pt.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
inlinevirtual |
Compute the derivatives of the i-th component of velocity at point s with respect to all data that can affect its value. In addition, return the global equation numbers corresponding to the data. The function is virtual so that it can be overloaded in the refineable version
Reimplemented in oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations.
References oomph::Data::eqn_number(), i, oomph::FiniteElement::nnode(), oomph::FiniteElement::node_pt(), s, oomph::FiniteElement::shape(), and u_index_axi_nst().
|
inlinevirtual |
Disable ALE, i.e. assert the mesh is not moving – you do this at your own risk!
Reimplemented from oomph::FiniteElement.
References ALE_is_disabled.
double oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::dissipation | ( | ) | const |
Return integral of dissipation over element.
References i, oomph::FiniteElement::integral_pt(), J, j, oomph::FiniteElement::J_eulerian(), oomph::Integral::knot(), GlobalParameters::Nintpt, oomph::Integral::nweight(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, s, strain_rate(), w, and oomph::Integral::weight().
double oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::dissipation | ( | const Vector< double > & | s | ) | const |
Return dissipation at local coordinate s.
References i, j, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, s, and strain_rate().
|
protectedpure virtual |
Shape/test functions and derivs w.r.t. to global coords at integration point ipt; return Jacobian of mapping (J). Also compute derivatives of dpsidx, dtestdx and J w.r.t. nodal coordinates.
Implemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
|
protectedpure virtual |
Compute the shape functions and derivatives w.r.t. global coords at ipt-th integration point Return Jacobian of mapping between local and global coordinates.
Implemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
Referenced by fill_in_contribution_to_hessian_vector_products(), fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
protectedpure virtual |
Compute the shape functions and derivatives w.r.t. global coords at local coordinate s. Return Jacobian of mapping between local and global coordinates.
Implemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
|
inline |
i-th component of du/dt at local node n. Uses suitably interpolated value for hanging nodes.
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(), u_index_axi_nst(), and oomph::TimeStepper::weight().
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), and interpolated_dudt_axi_nst().
|
inlinevirtual |
(Re-)enable ALE, i.e. take possible mesh motion into account when evaluating the time-derivative. Note: By default, ALE is enabled, at the expense of possibly creating unnecessary work in problems where the mesh is, in fact, stationary.
Reimplemented from oomph::FiniteElement.
References ALE_is_disabled.
|
inlinevirtual |
Extrapolated strain-rate tensor: \( e_{ij} \) where \( i,j = r,z,\theta \) (in that order) based on the previous time steps evaluated at ipt-th integration point
References extrapolated_strain_rate(), i, oomph::FiniteElement::integral_pt(), oomph::Integral::knot(), s, and strain_rate().
|
virtual |
Extrapolated strain-rate tensor: \( e_{ij} \) where \( i,j = r,z,\theta \) (in that order) based on the previous time steps evaluated at local coordinate s
Get strain-rate tensor: \( e_{ij} \) where \( i,j = r,z,\theta \) (in that order). Extrapolated from history values.
References oomph::Time::dt(), i, j, oomph::DenseMatrix< T >::ncol(), oomph::FiniteElement::node_pt(), oomph::DenseMatrix< T >::nrow(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, s, strain_rate(), oomph::TimeStepper::time_pt(), oomph::GeomObject::time_stepper_pt(), and oomph::Data::time_stepper_pt().
Referenced by extrapolated_strain_rate(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), and traction().
|
inlinevirtual |
Add the element's contribution to its residuals vector, jacobian matrix and mass matrix
Reimplemented from oomph::GeneralisedElement.
References fill_in_generic_dresidual_contribution_axi_nst().
|
inlinevirtual |
Compute the element's residual Vector and the jacobian matrix Virtual function can be overloaded by hanging-node version
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::Dummy_matrix, and fill_in_generic_dresidual_contribution_axi_nst().
|
inlinevirtual |
Compute the element's residual Vector.
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::Dummy_matrix, and fill_in_generic_dresidual_contribution_axi_nst().
|
protectedvirtual |
Compute the hessian tensor vector products required to perform continuation of bifurcations analytically
Reimplemented from oomph::GeneralisedElement.
Reimplemented in oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations.
References ALE_is_disabled, density_ratio(), dshape_and_dtest_eulerian_at_knot_axi_nst(), G, g(), i, oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), J, j, k, oomph::Integral::knot(), oomph::GeneralisedElement::ndof(), GlobalParameters::Nintpt, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::Matrix< T, MATRIX_TYPE >::nrow(), oomph::Integral::nweight(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, product(), UniformPSDSelfTest::r, oomph::FiniteElement::raw_nodal_position(), oomph::FiniteElement::raw_nodal_value(), re(), s, u_index_axi_nst(), v, w, oomph::QuadTreeNames::W, oomph::Integral::weight(), and Y.
|
inlinevirtual |
Compute the element's residual Vector and the jacobian matrix Virtual function can be overloaded by hanging-node version
Reimplemented from oomph::GeneralisedElement.
Reimplemented in oomph::PseudoSolidNodeUpdateElement< GeneralisedNewtonianAxisymmetricTTaylorHoodElement, TPVDElement< 2, 3 > >.
References oomph::GeneralisedElement::Dummy_matrix, and fill_in_generic_residual_contribution_axi_nst().
|
inlinevirtual |
Add the element's contribution to its residuals vector, jacobian matrix and mass matrix
Reimplemented from oomph::GeneralisedElement.
Reimplemented in oomph::PseudoSolidNodeUpdateElement< GeneralisedNewtonianAxisymmetricTTaylorHoodElement, TPVDElement< 2, 3 > >.
References fill_in_generic_residual_contribution_axi_nst().
|
inlinevirtual |
Compute the element's residual Vector.
Reimplemented from oomph::GeneralisedElement.
Reimplemented in oomph::PseudoSolidNodeUpdateElement< GeneralisedNewtonianAxisymmetricTTaylorHoodElement, TPVDElement< 2, 3 > >.
References oomph::GeneralisedElement::Dummy_matrix, and fill_in_generic_residual_contribution_axi_nst().
|
protectedvirtual |
Compute the derivative of residuals for the Navier–Stokes equations; with respect to a parameeter flag=2 or 1 or 0: compute the Jacobian and/or mass matrix as well
Compute the residuals for the Navier–Stokes equations; flag=1(or 0): do (or don't) compute the Jacobian as well.
Reimplemented in oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations.
References ALE_is_disabled, density_ratio(), dshape_and_dtest_eulerian_at_knot_axi_nst(), du_dt_axi_nst(), G, g(), get_viscosity_ratio_axisym_nst(), i, oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), J, j, k, oomph::Integral::knot(), GlobalParameters::Nintpt, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::FiniteElement::node_pt(), npres_axi_nst(), oomph::Integral::nweight(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, p_axi_nst(), pshape_axi_nst(), UniformPSDSelfTest::r, oomph::FiniteElement::raw_dnodal_position_dt(), oomph::FiniteElement::raw_nodal_position(), oomph::FiniteElement::raw_nodal_value(), re_invfr_pt(), re_invro_pt(), Re_pt, re_pt(), re_st_pt(), s, oomph::Data::time_stepper_pt(), u_index_axi_nst(), w, oomph::QuadTreeNames::W, oomph::Integral::weight(), and oomph::TimeStepper::weight().
Referenced by fill_in_contribution_to_djacobian_and_dmass_matrix_dparameter(), fill_in_contribution_to_djacobian_dparameter(), and fill_in_contribution_to_dresiduals_dparameter().
|
protectedvirtual |
Compute the residuals for the Navier–Stokes equations; flag=2 or 1 or 0: compute the Jacobian and/or mass matrix as well.
Compute the residuals for the Navier–Stokes equations; flag=1(or 0): do (or don't) compute the Jacobian as well.
Reimplemented in oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations.
References ALE_is_disabled, Global_Parameters::body_force(), Constitutive_eqn_pt, density_ratio(), dshape_and_dtest_eulerian_at_knot_axi_nst(), du_dt_axi_nst(), oomph::GeneralisedNewtonianConstitutiveEquation< DIM >::dviscosity_dinvariant(), extrapolated_strain_rate(), G, g(), Gamma, get_body_force_axi_nst(), get_source_fct(), get_viscosity_ratio_axisym_nst(), i, oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), J, j, k, oomph::Integral::knot(), m, n, oomph::GeneralisedElement::ndof(), GlobalParameters::Nintpt, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::FiniteElement::node_pt(), npres_axi_nst(), oomph::Integral::nweight(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, p_axi_nst(), p_local_eqn(), Pre_multiply_by_viscosity_ratio, pshape_axi_nst(), UniformPSDSelfTest::r, oomph::FiniteElement::raw_dnodal_position_dt(), oomph::FiniteElement::raw_nodal_position(), oomph::FiniteElement::raw_nodal_value(), re(), re_invfr(), re_invro(), re_st(), s, oomph::SecondInvariantHelper::second_invariant(), TestProblem::source(), strain_rate(), oomph::Time::time(), oomph::TimeStepper::time_pt(), oomph::Data::time_stepper_pt(), u_index_axi_nst(), Use_extrapolated_strainrate_to_compute_second_invariant, oomph::GeneralisedNewtonianConstitutiveEquation< DIM >::viscosity(), w, oomph::QuadTreeNames::W, oomph::Integral::weight(), and oomph::TimeStepper::weight().
Referenced by fill_in_contribution_to_jacobian(), fill_in_contribution_to_jacobian_and_mass_matrix(), and fill_in_contribution_to_residuals().
|
inline |
Vector of gravitational components.
References G_pt.
Referenced by fill_in_contribution_to_hessian_vector_products(), fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
Pointer to Vector of gravitational components.
References G_pt.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
inlineprotectedvirtual |
Calculate the body force fct at a given time and Eulerian position.
References Body_force_fct_pt, i, and plotDoE::x.
Referenced by fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_body_force_gradient_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inlineprotectedvirtual |
Get gradient of body force term at (Eulerian) position x. Computed via function pointer (if set) or by finite differencing (default)
References Global_Parameters::body_force(), oomph::GeneralisedElement::Default_fd_jacobian_step, get_body_force_axi_nst(), i, j, s, and plotDoE::x.
Referenced by get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
virtual |
Compute derivatives of elemental residual vector with respect to nodal coordinates. This function computes these terms analytically and overwrites the default implementation in the FiniteElement base class. dresidual_dnodal_coordinates(l,i,j) = d res(l) / dX_{ij}
Compute derivatives of elemental residual vector with respect to nodal coordinates. dresidual_dnodal_coordinates(l,i,j) = d res(l) / dX_{ij} Overloads the FD-based version in the FiniteElement base class.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations.
References ALE_is_disabled, Global_Parameters::body_force(), oomph::GeneralisedElement::Default_fd_jacobian_step, density_ratio(), dshape_and_dtest_eulerian_at_knot_axi_nst(), du_dt_axi_nst(), G, g(), Gamma, get_body_force_axi_nst(), get_body_force_gradient_axi_nst(), get_source_fct(), get_source_fct_gradient(), oomph::Node::has_auxiliary_node_update_fct_pt(), i, oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), J, j, k, oomph::Integral::knot(), oomph::GeneralisedElement::ndof(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::FiniteElement::node_pt(), npres_axi_nst(), oomph::Integral::nweight(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, p, p_axi_nst(), p_local_eqn(), oomph::Node::perform_auxiliary_node_update_fct(), oomph::Node::position_time_stepper_pt(), pshape_axi_nst(), Eigen::numext::q, UniformPSDSelfTest::r, oomph::FiniteElement::raw_dnodal_position_dt(), oomph::FiniteElement::raw_nodal_position(), oomph::FiniteElement::raw_nodal_value(), re(), re_invfr(), re_invro(), re_st(), s, TestProblem::source(), oomph::Time::time(), oomph::TimeStepper::time_pt(), oomph::Data::time_stepper_pt(), tmp, u_index_axi_nst(), oomph::Data::value_pt(), viscosity_ratio(), w, oomph::Integral::weight(), oomph::TimeStepper::weight(), and oomph::Node::x().
|
virtual |
Compute the diagonal of the velocity/pressure mass matrices. If which one=0, both are computed, otherwise only the pressure (which_one=1) or the velocity mass matrix (which_one=2 – the LSC version of the preconditioner only needs that one) NOTE: pressure versions isn't implemented yet because this element has never been tried with Fp preconditoner.
Implements oomph::NavierStokesElementWithDiagonalMassMatrices.
References i, oomph::FiniteElement::integral_pt(), J, oomph::FiniteElement::J_eulerian_at_knot(), oomph::GeneralisedElement::ndof(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::FiniteElement::nodal_position(), oomph::Integral::nweight(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, UniformPSDSelfTest::r, oomph::FiniteElement::shape_at_knot(), Eigen::test, u_index_axi_nst(), w, oomph::QuadTreeNames::W, and oomph::Integral::weight().
|
inlineprotected |
Calculate the source fct at given time and Eulerian position.
References Source_fct_pt, and plotDoE::x.
Referenced by fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), and get_source_fct_gradient().
|
inlineprotectedvirtual |
Get gradient of source term at (Eulerian) position x. Computed via function pointer (if set) or by finite differencing (default)
References oomph::GeneralisedElement::Default_fd_jacobian_step, get_source_fct(), i, TestProblem::source(), and plotDoE::x.
Referenced by get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inlineprotectedvirtual |
Calculate the viscosity ratio relative to the viscosity used in the definition of the Reynolds number at given time and Eulerian position This is the equivalent of the Newtonian case and basically allows the flow of two Generalised Newtonian fluids with different reference viscosities
References Viscosity_Ratio_pt.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), and fill_in_generic_residual_contribution_axi_nst().
|
inline |
Return FE interpolated derivatives w.r.t. nodal coordinates X_{pq} of the spatial derivatives of the velocity components du_i/dx_k at local coordinate s
References oomph::FiniteElement::d_dshape_eulerian_dnodal_coordinates(), oomph::FiniteElement::dJ_eulerian_dnodal_coordinates(), oomph::FiniteElement::dshape_local(), i, k, oomph::FiniteElement::local_to_eulerian_mapping(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), p, Eigen::numext::q, and u_index_axi_nst().
|
inline |
Return FE interpolated derivatives of velocity component u[i] w.r.t spatial local coordinate direction s[j] at local coordinate s
References oomph::FiniteElement::dshape_local(), i, j, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), and u_index_axi_nst().
|
inline |
Return FE interpolated derivatives of velocity component u[i] w.r.t time at local coordinate s
References du_dt_axi_nst(), i, oomph::FiniteElement::nnode(), s, and oomph::FiniteElement::shape().
|
inline |
Return FE interpolated derivatives of velocity component u[i] w.r.t spatial global coordinate direction x[j] at local coordinate s
References oomph::FiniteElement::dshape_eulerian(), i, j, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), and u_index_axi_nst().
|
inline |
Return FE interpolated pressure at local coordinate s.
References npres_axi_nst(), p_axi_nst(), pshape_axi_nst(), and s.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement::further_build(), oomph::RefineableGeneralisedNewtonianAxisymmetricQTaylorHoodElement::get_interpolated_values(), output(), point_output_data(), pressure_integral(), scalar_value_paraview(), and traction().
|
inline |
Return FE interpolated velocity u[i] at local coordinate s.
References i, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), s, oomph::FiniteElement::shape(), plotPSD::t, and u_index_axi_nst().
|
inline |
Return FE interpolated velocity u[i] at local coordinate s.
References i, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), s, oomph::FiniteElement::shape(), and u_index_axi_nst().
|
inline |
Compute vector of FE interpolated velocity u at local coordinate s.
References i, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), s, oomph::FiniteElement::shape(), and u_index_axi_nst().
Referenced by compute_error(), oomph::RefineableGeneralisedNewtonianAxisymmetricQTaylorHoodElement::get_interpolated_values(), oomph::RefineableGeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), kin_energy(), output(), point_output_data(), and scalar_value_paraview().
double oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::kin_energy | ( | ) | const |
Get integral of kinetic energy over element.
Get integral of kinetic energy over element:
References i, oomph::FiniteElement::integral_pt(), interpolated_u_axi_nst(), oomph::FiniteElement::interpolated_x(), J, oomph::FiniteElement::J_eulerian(), oomph::Integral::knot(), GlobalParameters::Nintpt, oomph::Integral::nweight(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, s, w, and oomph::Integral::weight().
void oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::max_and_min_invariant_and_viscosity | ( | double & | min_invariant, |
double & | max_invariant, | ||
double & | min_viscosity, | ||
double & | max_viscosity | ||
) | const |
Get max. and min. strain rate invariant and visocosity over all integration points in element
References Constitutive_eqn_pt, i, oomph::FiniteElement::integral_pt(), oomph::Integral::knot(), max, min, GlobalParameters::Nintpt, oomph::Integral::nweight(), s, oomph::SecondInvariantHelper::second_invariant(), strain_rate(), and oomph::GeneralisedNewtonianConstitutiveEquation< DIM >::viscosity().
|
inline |
|
pure virtual |
Function to return number of pressure degrees of freedom.
Implemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), and interpolated_p_axi_nst().
|
inlinevirtual |
Number of scalars/fields output by this element. Reimplements broken virtual function in base class.
Reimplemented from oomph::FiniteElement.
|
inlinevirtual |
Output function: x,y,[z],u,v,[w],p in tecplot format. Default number of plot points
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::PseudoSolidNodeUpdateElement< GeneralisedNewtonianAxisymmetricTTaylorHoodElement, TPVDElement< 2, 3 > >, oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
References output().
|
virtual |
Output function: x,y,[z],u,v,[w],p in tecplot format. nplot points in each coordinate direction
Output function: r,z,u,v,w,p in tecplot format. Specified number of plot points in each coordinate direction.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement, and oomph::PseudoSolidNodeUpdateElement< GeneralisedNewtonianAxisymmetricTTaylorHoodElement, TPVDElement< 2, 3 > >.
References oomph::FiniteElement::get_s_plot(), i, interpolated_p_axi_nst(), interpolated_u_axi_nst(), oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::tecplot_zone_string(), and oomph::FiniteElement::write_tecplot_zone_footer().
|
inlinevirtual |
Output function: x,y,[z],u,v,[w],p in tecplot format. Default number of plot points
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::PseudoSolidNodeUpdateElement< GeneralisedNewtonianAxisymmetricTTaylorHoodElement, TPVDElement< 2, 3 > >, oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
Referenced by output(), oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement::output(), oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement::output(), oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement::output(), and oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement::output().
|
virtual |
Output function: x,y,[z],u,v,[w],p in tecplot format. nplot points in each coordinate direction
Output function: r,z,u,v,w,p in tecplot format. Specified number of plot points in each coordinate direction.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement, and oomph::PseudoSolidNodeUpdateElement< GeneralisedNewtonianAxisymmetricTTaylorHoodElement, TPVDElement< 2, 3 > >.
References oomph::FiniteElement::get_s_plot(), i, interpolated_p_axi_nst(), interpolated_u_axi_nst(), oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::tecplot_zone_string(), and oomph::FiniteElement::write_tecplot_zone_footer().
|
virtual |
Output exact solution specified via function pointer at a given time and at a given number of plot points. Function prints as many components as are returned in solution Vector.
Output "exact" solution at a given time Solution is provided via function pointer. Plot at a given number of plot points. Function prints as many components as are returned in solution Vector.
Reimplemented from oomph::FiniteElement.
References ProblemParameters::exact_soln(), oomph::FiniteElement::get_s_plot(), i, oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::tecplot_zone_string(), oomph::FiniteElement::write_tecplot_zone_footer(), and plotDoE::x.
|
virtual |
Output exact solution specified via function pointer at a given number of plot points. Function prints as many components as are returned in solution Vector
Output "exact" solution Solution is provided via function pointer. Plot at a given number of plot points. Function prints as many components as are returned in solution Vector.
Reimplemented from oomph::FiniteElement.
References ProblemParameters::exact_soln(), oomph::FiniteElement::get_s_plot(), i, oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::tecplot_zone_string(), oomph::FiniteElement::write_tecplot_zone_footer(), and plotDoE::x.
void oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::output_veloc | ( | std::ostream & | outfile, |
const unsigned & | nplot, | ||
const unsigned & | t | ||
) |
Output function: x,y,[z],u,v,[w] in tecplot format. nplot points in each coordinate direction at timestep t (t=0: present; t>0: previous timestep)
Output function: Velocities only x,y,[z],u,v,[w] in tecplot format at specified previous timestep (t=0: present; t>0: previous timestep). Specified number of plot points in each coordinate direction.
References oomph::FiniteElement::get_s_plot(), i, oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_position(), oomph::FiniteElement::nodal_value(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::shape(), plotPSD::t, oomph::FiniteElement::tecplot_zone_string(), u_index_axi_nst(), and oomph::FiniteElement::write_tecplot_zone_footer().
|
pure virtual |
Pressure at local pressure "node" n_p Uses suitably interpolated value for hanging nodes.
Implemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), and interpolated_p_axi_nst().
|
protectedpure virtual |
Access function for the local equation number information for the pressure. p_local_eqn[n] = local equation number or < 0 if pinned
Implemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
Referenced by fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inlinevirtual |
Which nodal value represents the pressure?
Reimplemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement.
References Pressure_not_stored_at_node.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inlinevirtual |
Output solution in data vector at local cordinates s: r,z,u_r,u_z,u_phi,p
Reimplemented from oomph::FiniteElement.
References data, i, interpolated_p_axi_nst(), interpolated_u_axi_nst(), oomph::FiniteElement::interpolated_x(), and s.
double oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::pressure_integral | ( | ) | const |
Integral of pressure over element.
Return pressure integrated over the element.
References i, oomph::FiniteElement::integral_pt(), interpolated_p_axi_nst(), oomph::FiniteElement::interpolated_x(), J, oomph::FiniteElement::J_eulerian(), oomph::Integral::knot(), GlobalParameters::Nintpt, oomph::Integral::nweight(), s, w, oomph::QuadTreeNames::W, and oomph::Integral::weight().
|
protectedpure virtual |
Compute the pressure shape functions at local coordinate s.
Implemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), and interpolated_p_axi_nst().
|
protectedpure virtual |
Compute the pressure shape and test functions at local coordinate s
Implemented in oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement, oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement, oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement, and oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement.
|
inline |
Reynolds number.
References Re_pt.
Referenced by fill_in_contribution_to_hessian_vector_products(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inline |
Global inverse Froude number.
References ReInvFr_pt.
Referenced by fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inline |
Pointer to global inverse Froude number.
References ReInvFr_pt.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
inline |
Global Reynolds number multiplied by inverse Rossby number.
References ReInvRo_pt.
Referenced by fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inline |
Pointer to global inverse Froude number.
References ReInvRo_pt.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
inline |
Pointer to Reynolds number.
References Re_pt.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
inline |
Product of Reynolds and Strouhal number (=Womersley number)
References ReSt_pt.
Referenced by fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inline |
Pointer to product of Reynolds and Strouhal number (=Womersley number)
References ReSt_pt.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
inlinevirtual |
Name of the i-th scalar field. Default implementation returns V1 for the first one, V2 for the second etc. Can (should!) be overloaded with more meaningful names in specific elements.
Reimplemented from oomph::FiniteElement.
References i, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::StringConversion::to_string().
|
inlinevirtual |
Write values of the i-th scalar field at the plot points. Needs to be implemented for each new specific element type.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::get_s_plot(), i, interpolated_p_axi_nst(), interpolated_u_axi_nst(), oomph::FiniteElement::nplot_points_paraview(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and s.
void oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::strain_rate | ( | const unsigned & | t, |
const Vector< double > & | s, | ||
DenseMatrix< double > & | strainrate | ||
) | const |
Strain-rate tensor: \( e_{ij} \) where \( i,j = r,z,\theta \) (in that order) at a specific time history value
Get strain-rate tensor: \( e_{ij} \) where \( i,j = r,z,\theta \) (in that order) at a specific time
References oomph::FiniteElement::dshape_eulerian(), boost::multiprecision::fabs(), i, j, oomph::DenseMatrix< T >::ncol(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_position(), oomph::FiniteElement::nodal_value(), oomph::FiniteElement::node_pt(), oomph::DenseMatrix< T >::nrow(), OOMPH_EXCEPTION_LOCATION, s, plotPSD::t, u_index_axi_nst(), and oomph::Node::x().
void oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::strain_rate | ( | const Vector< double > & | s, |
DenseMatrix< double > & | strainrate | ||
) | const |
Strain-rate tensor: \( e_{ij} \) where \( i,j = r,z,\theta \) (in that order)
Get strain-rate tensor: \( e_{ij} \) where \( i,j = r,z,\theta \) (in that order)
References oomph::FiniteElement::dshape_eulerian(), boost::multiprecision::fabs(), i, oomph::DenseMatrix< T >::ncol(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_position(), oomph::FiniteElement::nodal_value(), oomph::DenseMatrix< T >::nrow(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, s, and u_index_axi_nst().
Referenced by dissipation(), extrapolated_strain_rate(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_Z2_flux(), oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement::get_Z2_flux(), oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement::get_Z2_flux(), max_and_min_invariant_and_viscosity(), and traction().
void oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::traction | ( | const Vector< double > & | s, |
const Vector< double > & | N, | ||
Vector< double > & | traction | ||
) | const |
Compute traction (on the viscous scale) at local coordinate s for outer unit normal N
References Constitutive_eqn_pt, extrapolated_strain_rate(), i, interpolated_p_axi_nst(), j, N, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, s, oomph::SecondInvariantHelper::second_invariant(), strain_rate(), Use_extrapolated_strainrate_to_compute_second_invariant, and oomph::GeneralisedNewtonianConstitutiveEquation< DIM >::viscosity().
Referenced by oomph::GeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement::get_traction(), and oomph::GeneralisedNewtonianAxisymmetricQTaylorHoodElement::get_traction().
|
inlinevirtual |
Return the index at which the i-th unknown velocity component is stored. The default value, i, is appropriate for single-physics problems. In derived multi-physics elements, this function should be overloaded to reflect the chosen storage scheme. Note that these equations require that the unknowns are always stored at the same indices at each node.
References i.
Referenced by dinterpolated_u_axi_nst_ddata(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::dinterpolated_u_axi_nst_ddata(), du_dt_axi_nst(), fill_in_contribution_to_hessian_vector_products(), fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricQTaylorHoodElement::get_interpolated_values(), oomph::RefineableGeneralisedNewtonianAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), get_pressure_and_velocity_mass_matrix_diagonal(), oomph::GeneralisedNewtonianAxisymmetricTCrouzeixRaviartElement::identify_load_data(), interpolated_d_dudx_dX_axi_nst(), interpolated_duds_axi_nst(), interpolated_dudx_axi_nst(), interpolated_u_axi_nst(), output_veloc(), strain_rate(), and u_index_nst().
|
inline |
Return the index at which the i-th unknown velocity component is stored with a common interface for use in general FluidInterface and similar elements. To do: Merge all common storage etc to a common base class for Navier–Stokes elements in all coordinate systems.
References u_index_axi_nst().
|
inline |
Switch to fully implict evaluation of non-Newtonian const eqn.
References Use_extrapolated_strainrate_to_compute_second_invariant.
|
inline |
Use extrapolation for non-Newtonian const eqn.
References Use_extrapolated_strainrate_to_compute_second_invariant.
|
inline |
Viscosity ratio for element: Element's viscosity relative to the viscosity used in the definition of the Reynolds number
References Viscosity_Ratio_pt.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inline |
Pointer to Viscosity Ratio.
References Viscosity_Ratio_pt.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
protected |
Boolean flag to indicate if ALE formulation is disabled when the time-derivatives are computed. Only set to true if you're sure that the mesh is stationary
Referenced by disable_ALE(), enable_ALE(), fill_in_contribution_to_hessian_vector_products(), fill_in_generic_dresidual_contribution_axi_nst(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
inline |
Access function for the body-force pointer.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
protected |
Pointer to body force function.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), and get_body_force_axi_nst().
|
protected |
Pointer to the generalised Newtonian constitutive equation.
Referenced by constitutive_eqn_pt(), fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), max_and_min_invariant_and_viscosity(), and traction().
|
staticprivate |
Static default value for the gravity vector.
Navier-Stokes equations default gravity vector.
Referenced by GeneralisedNewtonianAxisymmetricNavierStokesEquations().
|
staticprivate |
Static default value for the physical constants (all initialised to zero)
Referenced by GeneralisedNewtonianAxisymmetricNavierStokesEquations().
|
staticprivate |
Static default value for the physical ratios (all are initialised to one)
Referenced by GeneralisedNewtonianAxisymmetricNavierStokesEquations().
|
protected |
Pointer to the density ratio (relative to the density used in the definition of the Reynolds number)
Referenced by density_ratio(), density_ratio_pt(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), and GeneralisedNewtonianAxisymmetricNavierStokesEquations().
Pointer to global gravity Vector.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), g(), g_pt(), and GeneralisedNewtonianAxisymmetricNavierStokesEquations().
Vector to decide whether the stress-divergence form is used or not.
Navier–Stokes equations static data.
Referenced by fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), get_dresidual_dnodal_coordinates(), and oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates().
|
staticprotected |
Static boolean telling us whether we pre-multiply the pressure and continuity by the viscosity ratio
Referenced by fill_in_generic_residual_contribution_axi_nst().
|
staticprivate |
Static "magic" number that indicates that the pressure is not stored at a node
Referenced by p_nodal_index_axi_nst().
|
protected |
Pointer to global Reynolds number.
Referenced by fill_in_generic_dresidual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), GeneralisedNewtonianAxisymmetricNavierStokesEquations(), re(), and re_pt().
|
protected |
Pointer to global Reynolds number x inverse Froude number (= Bond number / Capillary number)
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), GeneralisedNewtonianAxisymmetricNavierStokesEquations(), re_invfr(), and re_invfr_pt().
|
protected |
Pointer to global Reynolds number x inverse Rossby number (used when in a rotating frame)
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), GeneralisedNewtonianAxisymmetricNavierStokesEquations(), re_invro(), and re_invro_pt().
|
protected |
Pointer to global Reynolds number x Strouhal number (=Womersley)
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), GeneralisedNewtonianAxisymmetricNavierStokesEquations(), re_st(), and re_st_pt().
|
inline |
Access function for the source-function pointer.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build().
|
protected |
Pointer to volumetric source function.
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), and get_source_fct().
|
protected |
Referenced by fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), traction(), use_current_strainrate_to_compute_second_invariant(), and use_extrapolated_strainrate_to_compute_second_invariant().
|
protected |
Pointer to the viscosity ratio (relative to the viscosity used in the definition of the Reynolds number)
Referenced by oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::further_build(), GeneralisedNewtonianAxisymmetricNavierStokesEquations(), get_viscosity_ratio_axisym_nst(), viscosity_ratio(), and viscosity_ratio_pt().