![]() |
|
#include <axisym_buoyant_navier_stokes.h>
Public Member Functions | |
RefineableBuoyantQAxisymCrouzeixRaviartElement () | |
unsigned | required_nvalue (const unsigned &n) const |
const double & | ra () const |
Access function for the Rayleigh number (const version) More... | |
double *& | ra_pt () |
Access function for the pointer to the Rayleigh number. More... | |
void | disable_ALE () |
Final override for disable ALE. More... | |
void | enable_ALE () |
Final override for enable ALE. More... | |
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 | output (std::ostream &outfile) |
Overload the standard output function with the broken default. More... | |
void | output (std::ostream &outfile, const unsigned &nplot) |
void | output (FILE *file_pt) |
C-style output function: Broken default. More... | |
void | output (FILE *file_pt, const unsigned &n_plot) |
C-style output function: Broken default. More... | |
void | output_fct (std::ostream &outfile, const unsigned &Nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
Output function for an exact solution: Broken default. More... | |
void | output_fct (std::ostream &outfile, const unsigned &Nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) |
unsigned | u_index_axi_adv_diff () const |
unsigned | nvertex_node () const |
Node * | vertex_node_pt (const unsigned &j) const |
unsigned | ncont_interpolated_values () const |
void | get_interpolated_values (const Vector< double > &s, Vector< double > &values) |
void | get_interpolated_values (const unsigned &t, const Vector< double > &s, Vector< double > &values) |
void | further_setup_hanging_nodes () |
void | rebuild_from_sons (Mesh *&mesh_pt) |
double | geometric_jacobian (const Vector< double > &x) |
Fill in the geometric Jacobian, which in this case is r. More... | |
void | further_build () |
unsigned | nrecovery_order () |
The recovery order is that of the NavierStokes elements. More... | |
unsigned | num_Z2_flux_terms () |
void | get_Z2_flux (const Vector< double > &s, Vector< double > &flux) |
unsigned | ncompound_fluxes () |
void | get_Z2_compound_flux_indices (Vector< unsigned > &flux_index) |
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 | get_wind_axi_adv_diff (const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, Vector< double > &wind) const |
void | get_body_force_axi_nst (const double &time, const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, Vector< double > &result) |
void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
Fill in the constituent elements' contribution to the 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) |
void | fill_in_off_diagonal_jacobian_blocks_analytic (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
RefineableBuoyantQAxisymCrouzeixRaviartElement () | |
unsigned | required_nvalue (const unsigned &n) const |
const double & | ra () const |
Access function for the Rayleigh number (const version) More... | |
double *& | ra_pt () |
Access function for the pointer to the Rayleigh number. More... | |
void | disable_ALE () |
Final override for disable ALE. More... | |
void | enable_ALE () |
Final override for enable ALE. More... | |
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 | output (std::ostream &outfile) |
Overload the standard output function with the broken default. More... | |
void | output (std::ostream &outfile, const unsigned &nplot) |
void | output (FILE *file_pt) |
C-style output function: Broken default. More... | |
void | output (FILE *file_pt, const unsigned &n_plot) |
C-style output function: Broken default. More... | |
void | output_fct (std::ostream &outfile, const unsigned &Nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
Output function for an exact solution: Broken default. More... | |
void | output_fct (std::ostream &outfile, const unsigned &Nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) |
unsigned | u_index_axi_adv_diff () const |
unsigned | nvertex_node () const |
Node * | vertex_node_pt (const unsigned &j) const |
unsigned | ncont_interpolated_values () const |
void | get_interpolated_values (const Vector< double > &s, Vector< double > &values) |
void | get_interpolated_values (const unsigned &t, const Vector< double > &s, Vector< double > &values) |
void | further_setup_hanging_nodes () |
void | rebuild_from_sons (Mesh *&mesh_pt) |
double | geometric_jacobian (const Vector< double > &x) |
Fill in the geometric Jacobian, which in this case is r. More... | |
void | further_build () |
unsigned | nrecovery_order () |
The recovery order is that of the NavierStokes elements. More... | |
unsigned | num_Z2_flux_terms () |
void | get_Z2_flux (const Vector< double > &s, Vector< double > &flux) |
unsigned | ncompound_fluxes () |
void | get_Z2_compound_flux_indices (Vector< unsigned > &flux_index) |
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 | get_wind_axi_adv_diff (const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, Vector< double > &wind) const |
void | get_body_force_axi_nst (const double &time, const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, Vector< double > &result) |
void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
Fill in the constituent elements' contribution to the 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) |
void | fill_in_off_diagonal_jacobian_blocks_analytic (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
![]() | |
RefineableQAxisymAdvectionDiffusionElement () | |
Empty Constructor: More... | |
RefineableQAxisymAdvectionDiffusionElement (const RefineableQAxisymAdvectionDiffusionElement< NNODE_1D > &dummy)=delete | |
Broken copy constructor. More... | |
unsigned | ncont_interpolated_values () const |
Broken assignment operator. More... | |
unsigned | nvertex_node () const |
Number of vertex nodes in the element. More... | |
Node * | vertex_node_pt (const unsigned &j) const |
Pointer to the j-th vertex node in the element. More... | |
void | rebuild_from_sons (Mesh *&mesh_pt) |
Rebuild from sons: empty. More... | |
unsigned | nrecovery_order () |
void | further_setup_hanging_nodes () |
![]() | |
QAxisymAdvectionDiffusionElement () | |
QAxisymAdvectionDiffusionElement (const QAxisymAdvectionDiffusionElement< NNODE_1D > &dummy)=delete | |
Broken copy constructor. More... | |
unsigned | required_nvalue (const unsigned &n) const |
Broken assignment operator. More... | |
void | output (std::ostream &outfile) |
void | output (std::ostream &outfile, const unsigned &n_plot) |
void | output (FILE *file_pt) |
void | output (FILE *file_pt, const unsigned &n_plot) |
void | output_fct (std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
![]() | |
QElement () | |
Constructor. More... | |
QElement (const QElement &)=delete | |
Broken copy constructor. More... | |
void | shape (const Vector< double > &s, Shape &psi) const |
Broken assignment operator. More... | |
void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
Derivatives of shape functions for specific QElement<2,..> More... | |
void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
double | invert_jacobian_mapping (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
double | s_min () const |
Min. value of local coordinate. More... | |
double | s_max () const |
Max. value of local coordinate. More... | |
void | local_coordinate_of_node (const unsigned &j, Vector< double > &s) const |
Get local coordinates of node j in the element; vector sets its own size. More... | |
void | local_fraction_of_node (const unsigned &j, Vector< double > &s_fraction) |
Get the local fraction of node j in the element. More... | |
double | local_one_d_fraction_of_node (const unsigned &n1d, const unsigned &i) |
Node * | get_node_at_local_coordinate (const Vector< double > &s) const |
Get the node at the specified local coordinate. More... | |
unsigned | nnode_1d () const |
Number of nodes along each element edge. More... | |
unsigned | nplot_points_paraview (const unsigned &nplot) const |
unsigned | nsub_elements_paraview (const unsigned &nplot) const |
void | write_paraview_output_offset_information (std::ofstream &file_out, const unsigned &nplot, unsigned &counter) const |
void | write_paraview_type (std::ofstream &file_out, const unsigned &nplot) const |
void | write_paraview_offsets (std::ofstream &file_out, const unsigned &nplot, unsigned &offset_sum) const |
void | output (std::ostream &outfile) |
Output. More... | |
void | output (std::ostream &outfile, const unsigned &n_plot) |
Output at n_plot points. More... | |
void | output (FILE *file_pt) |
C-style output. More... | |
void | output (FILE *file_pt, const unsigned &n_plot) |
C_style output at n_plot points. More... | |
void | get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &use_equally_spaced_interior_sample_points=false) const |
std::string | tecplot_zone_string (const unsigned &nplot) const |
unsigned | nplot_points (const unsigned &nplot) const |
unsigned | get_bulk_node_number (const int &face_index, const unsigned &i) const |
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... | |
CoordinateMappingFctPt | face_to_bulk_coordinate_fct_pt (const int &face_index) const |
BulkCoordinateDerivativesFctPt | bulk_coordinate_derivatives_fct_pt (const int &face_index) const |
![]() | |
QuadElementBase () | |
Constructor. Empty. More... | |
![]() | |
QElementBase () | |
Constructor: Initialise pointers to macro element reference coords. More... | |
QElementBase (const QElementBase &)=delete | |
Broken copy constructor. More... | |
virtual | ~QElementBase () |
Broken assignment operator. More... | |
bool | local_coord_is_valid (const Vector< double > &s) |
Check whether the local coordinate are valid or not. More... | |
void | move_local_coord_back_into_element (Vector< double > &s) const |
virtual void | set_macro_elem_pt (MacroElement *macro_elem_pt) |
double & | s_macro_ll (const unsigned &i) |
double & | s_macro_ur (const unsigned &i) |
double | s_macro_ll (const unsigned &i) const |
double | s_macro_ur (const unsigned &i) const |
void | get_x_from_macro_element (const Vector< double > &s, Vector< double > &x) const |
void | get_x_from_macro_element (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
unsigned | nnode_on_face () const |
ElementGeometry::ElementGeometry | element_geometry () const |
It's a Q element! More... | |
![]() | |
QElementGeometricBase () | |
Empty default constructor. More... | |
QElementGeometricBase (const QElementGeometricBase &)=delete | |
Broken copy constructor. 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... | |
void | get_centre_of_gravity_and_max_radius_in_terms_of_zeta (Vector< double > &cog, double &max_radius) const |
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 | 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_at_knot (const unsigned &ipt, Shape &psi) const |
virtual void | dshape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids) 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 | 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... | |
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 |
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 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 |
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 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_geometric_data (std::set< Data * > &geometric_data_pt) |
double | size () const |
void | point_output (std::ostream &outfile, const Vector< double > &s) |
void | output_paraview (std::ofstream &file_out, const unsigned &nplot) const |
virtual void | scalar_value_fct_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) const |
virtual void | scalar_value_fct_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) const |
virtual 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 | 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 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) |
void | face_node_number_error_check (const unsigned &i) const |
Range check for face node numbers. More... | |
![]() | |
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) |
![]() | |
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 |
![]() | |
AxisymAdvectionDiffusionEquations () | |
AxisymAdvectionDiffusionEquations (const AxisymAdvectionDiffusionEquations &dummy)=delete | |
Broken copy constructor. More... | |
double | du_dt_axi_adv_diff (const unsigned &n) const |
void | disable_ALE () |
void | enable_ALE () |
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 | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
Get error against and norm of exact solution. More... | |
AxisymAdvectionDiffusionSourceFctPt & | source_fct_pt () |
Access function: Pointer to source function. More... | |
AxisymAdvectionDiffusionSourceFctPt | source_fct_pt () const |
Access function: Pointer to source function. Const version. More... | |
AxisymAdvectionDiffusionWindFctPt & | wind_fct_pt () |
Access function: Pointer to wind function. More... | |
AxisymAdvectionDiffusionWindFctPt | wind_fct_pt () const |
Access function: Pointer to wind function. Const version. More... | |
const double & | pe () const |
Peclet number. More... | |
double *& | pe_pt () |
Pointer to Peclet number. More... | |
const double & | pe_st () const |
Peclet number multiplied by Strouhal number. More... | |
double *& | pe_st_pt () |
Pointer to Peclet number multipled by Strouha number. More... | |
const double & | d () const |
Peclet number multiplied by Strouhal number. More... | |
double *& | d_pt () |
Pointer to Peclet number multipled by Strouha number. More... | |
virtual void | get_source_axi_adv_diff (const unsigned &ipt, const Vector< double > &x, double &source) const |
void | get_flux (const Vector< double > &s, Vector< double > &flux) const |
Get flux: [du/dr,du/dz]. More... | |
void | fill_in_contribution_to_residuals (Vector< double > &residuals) |
Add the element's contribution to its residual vector (wrapper) More... | |
void | fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
double | interpolated_u_axi_adv_diff (const Vector< double > &s) const |
Return FE representation of function value u(s) at local coordinate s. More... | |
virtual void | dinterpolated_u_axi_adv_diff_ddata (const Vector< double > &s, Vector< double > &du_ddata, Vector< unsigned > &global_eqn_number) |
unsigned | self_test () |
Self-test: Return 0 for OK. More... | |
![]() | |
RefineableAxisymAdvectionDiffusionEquations () | |
Empty Constructor. More... | |
RefineableAxisymAdvectionDiffusionEquations (const RefineableAxisymAdvectionDiffusionEquations &dummy)=delete | |
Broken copy constructor. More... | |
unsigned | num_Z2_flux_terms () |
Broken assignment operator. More... | |
void | get_Z2_flux (const Vector< double > &s, Vector< double > &flux) |
void | get_interpolated_values (const Vector< double > &s, Vector< double > &values) |
void | get_interpolated_values (const unsigned &t, const Vector< double > &s, Vector< double > &values) |
double | geometric_jacobian (const Vector< double > &x) |
Fill in the geometric Jacobian, which in this case is r. More... | |
void | further_build () |
Further build: Copy source function pointer from father element. More... | |
void | dinterpolated_u_adv_diff_ddata (const Vector< double > &s, Vector< double > &du_ddata, Vector< unsigned > &global_eqn_number) |
![]() | |
RefineableElement () | |
virtual | ~RefineableElement () |
Destructor, delete the allocated storage for the hanging equations. More... | |
RefineableElement (const RefineableElement &)=delete | |
Broken copy constructor. More... | |
void | operator= (const RefineableElement &)=delete |
Broken assignment operator. More... | |
Tree * | tree_pt () |
Access function: Pointer to quadtree representation of this element. More... | |
void | set_tree_pt (Tree *my_tree_pt) |
Set pointer to quadtree representation of this element. More... | |
bool | refinement_is_enabled () |
Flag to indicate suppression of any refinement. More... | |
void | disable_refinement () |
Suppress of any refinement for this element. More... | |
void | enable_refinement () |
Emnable refinement for this element. More... | |
template<class ELEMENT > | |
void | split (Vector< ELEMENT * > &son_pt) const |
int | local_hang_eqn (Node *const &node_pt, const unsigned &i) |
void | set_refinement_level (const int &refine_level) |
Set the refinement level. More... | |
unsigned | refinement_level () const |
Return the Refinement level. More... | |
void | select_for_refinement () |
Select the element for refinement. More... | |
void | deselect_for_refinement () |
Deselect the element for refinement. More... | |
void | select_sons_for_unrefinement () |
Unrefinement will be performed by merging the four sons of this element. More... | |
void | deselect_sons_for_unrefinement () |
bool | to_be_refined () |
Has the element been selected for refinement? More... | |
bool | sons_to_be_unrefined () |
Has the element been selected for unrefinement? More... | |
virtual void | unbuild () |
virtual void | deactivate_element () |
virtual bool | nodes_built () |
Return true if all the nodes have been built, false if not. More... | |
long | number () const |
Element number (for debugging/plotting) More... | |
void | set_number (const long &mynumber) |
Set element number (for debugging/plotting) More... | |
virtual Node * | interpolating_node_pt (const unsigned &n, const int &value_id) |
virtual double | local_one_d_fraction_of_interpolating_node (const unsigned &n1d, const unsigned &i, const int &value_id) |
virtual Node * | get_interpolating_node_at_local_coordinate (const Vector< double > &s, const int &value_id) |
virtual unsigned | ninterpolating_node (const int &value_id) |
virtual unsigned | ninterpolating_node_1d (const int &value_id) |
virtual void | interpolating_basis (const Vector< double > &s, Shape &psi, const int &value_id) const |
void | identify_field_data_for_interactions (std::set< std::pair< Data *, unsigned >> &paired_field_data) |
void | assign_nodal_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual RefineableElement * | root_element_pt () |
virtual RefineableElement * | father_element_pt () const |
Return a pointer to the father element. More... | |
void | get_father_at_refinement_level (unsigned &refinement_level, RefineableElement *&father_at_reflevel_pt) |
virtual void | initial_setup (Tree *const &adopted_father_pt=0, const unsigned &initial_p_order=0) |
virtual void | pre_build (Mesh *&mesh_pt, Vector< Node * > &new_node_pt) |
Pre-build the element. More... | |
void | get_dresidual_dnodal_coordinates (RankThreeTensor< double > &dresidual_dnodal_coordinates) |
unsigned | nshape_controlling_nodes () |
std::map< Node *, unsigned > | shape_controlling_node_lookup () |
![]() | |
ElementWithZ2ErrorEstimator () | |
Default empty constructor. More... | |
ElementWithZ2ErrorEstimator (const ElementWithZ2ErrorEstimator &)=delete | |
Broken copy constructor. More... | |
void | operator= (const ElementWithZ2ErrorEstimator &)=delete |
Broken assignment operator. More... | |
virtual void | compute_exact_Z2_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_flux_pt, double &error, double &norm) |
![]() | |
RefineableQElement () | |
Constructor: Pass refinement level (default 0 = root) More... | |
RefineableQElement (const RefineableQElement< 2 > &dummy)=delete | |
Broken copy constructor. More... | |
virtual | ~RefineableQElement () |
Broken assignment operator. More... | |
unsigned | required_nsons () const |
A refineable quad element has four sons. More... | |
virtual Node * | node_created_by_neighbour (const Vector< double > &s_fraction, bool &is_periodic) |
virtual Node * | node_created_by_son_of_neighbour (const Vector< double > &s_fraction, bool &is_periodic) |
virtual void | build (Mesh *&mesh_pt, Vector< Node * > &new_node_pt, bool &was_already_built, std::ofstream &new_nodes_file) |
void | check_integrity (double &max_error) |
void | output_corners (std::ostream &outfile, const std::string &colour) const |
Print corner nodes, use colour. More... | |
QuadTree * | quadtree_pt () |
Pointer to quadtree representation of this element. More... | |
QuadTree * | quadtree_pt () const |
Pointer to quadtree representation of this element. More... | |
void | setup_hanging_nodes (Vector< std::ofstream * > &output_stream) |
void | get_boundaries (const int &edge, std::set< unsigned > &boundaries) const |
void | get_bcs (int bound, Vector< int > &bound_cons) const |
void | interpolated_zeta_on_edge (const unsigned &boundary, const int &edge, const Vector< double > &s, Vector< double > &zeta) |
![]() | |
RefineableAxisymmetricQCrouzeixRaviartElement () | |
Constructor: More... | |
unsigned | ncont_interpolated_values () const |
Number of continuously interpolated values: 3 (velocities) More... | |
void | rebuild_from_sons (Mesh *&mesh_pt) |
Rebuild from sons: Reconstruct pressure from the (merged) sons. More... | |
unsigned | nrecovery_order () |
unsigned | nvertex_node () const |
Number of vertex nodes in the element. More... | |
Node * | vertex_node_pt (const unsigned &j) const |
Pointer to the j-th vertex node in the element. More... | |
void | get_interpolated_values (const Vector< double > &s, Vector< double > &values) |
void | get_interpolated_values (const unsigned &t, const Vector< double > &s, Vector< double > &values) |
void | further_setup_hanging_nodes () |
void | further_build () |
![]() | |
AxisymmetricQCrouzeixRaviartElement () | |
Constructor, there are three internal values (for the pressure) More... | |
double | p_axi_nst (const unsigned &i) const |
unsigned | npres_axi_nst () const |
Return number of pressure values. More... | |
void | fix_pressure (const unsigned &p_dof, const double &pvalue) |
Function to fix the internal pressure dof idof_internal. More... | |
void | get_traction (const Vector< double > &s, const Vector< double > &N, Vector< double > &traction) const |
Compute traction at local coordinate s for outer unit normal N. More... | |
int | p_local_eqn (const unsigned &n) const |
void | output (std::ostream &outfile) |
Redirect output to NavierStokesEquations output. More... | |
void | output (std::ostream &outfile, const unsigned &n_plot) |
Redirect output to NavierStokesEquations output. More... | |
void | output (FILE *file_pt) |
Redirect output to NavierStokesEquations output. More... | |
void | output (FILE *file_pt, const unsigned &n_plot) |
Redirect output to NavierStokesEquations output. More... | |
unsigned | ndof_types () const |
void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const |
![]() | |
AxisymmetricNavierStokesEquations () | |
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... | |
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 int | p_nodal_index_axi_nst () const |
Which nodal value represents the pressure? More... | |
double | pressure_integral () const |
Integral of pressure over element. More... | |
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 |
Strain-rate tensor: \( e_{ij} \) where \( i,j = r,z,\theta \) (in that order) More... | |
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_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) |
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... | |
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... | |
![]() | |
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... | |
![]() | |
RefineableAxisymmetricNavierStokesEquations () | |
Empty Constructor. More... | |
unsigned | num_Z2_flux_terms () |
Number of 'flux' terms for Z2 error estimation. More... | |
void | get_Z2_flux (const Vector< double > &s, Vector< double > &flux) |
double | geometric_jacobian (const Vector< double > &x) |
Fill in the geometric Jacobian, which in this case is r. More... | |
void | dinterpolated_u_axi_nst_ddata (const Vector< double > &s, const unsigned &i, Vector< double > &du_ddata, Vector< unsigned > &global_eqn_number) |
virtual void | get_dresidual_dnodal_coordinates (RankThreeTensor< double > &dresidual_dnodal_coordinates) |
Private Attributes | |
double * | Ra_pt |
Pointer to a new physical variable, the Rayleigh number. More... | |
Static Private Attributes | |
static double | Default_Physical_Constant_Value =0.0 |
The static default value of the Rayleigh number. More... | |
Additional Inherited Members | |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
![]() | |
typedef void(* | AxisymAdvectionDiffusionSourceFctPt) (const Vector< double > &x, double &f) |
typedef void(* | AxisymAdvectionDiffusionWindFctPt) (const Vector< double > &x, Vector< double > &wind) |
![]() | |
typedef void(RefineableQElement< 2 >::* | VoidMemberFctPt) () |
![]() | |
static double & | max_integrity_tolerance () |
Max. allowed discrepancy in element integrity check. More... | |
![]() | |
static void | pin_redundant_nodal_pressures (const Vector< GeneralisedElement * > &element_pt) |
static void | unpin_all_pressure_dofs (const Vector< GeneralisedElement * > &element_pt) |
Unpin all pressure dofs in elements listed in vector. More... | |
![]() | |
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 double | Tolerance_for_singular_jacobian = 1.0e-16 |
Tolerance below which the jacobian is considered singular. More... | |
static bool | Accept_negative_jacobian = false |
static bool | Suppress_output_while_checking_for_inverted_elements |
![]() | |
static bool | Suppress_warning_about_repeated_internal_data |
static bool | Suppress_warning_about_repeated_external_data = true |
static double | Default_fd_jacobian_step = 1.0e-8 |
![]() | |
static Vector< double > | Gamma |
Vector to decide whether the stress-divergence form is used or not. More... | |
![]() | |
double | dshape_and_dtest_eulerian_axi_adv_diff (const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const |
double | dshape_and_dtest_eulerian_at_knot_axi_adv_diff (const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const |
![]() | |
template<unsigned DIM> | |
double | invert_jacobian (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 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 |
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) |
![]() | |
void | fill_in_generic_residual_contribution_axi_adv_diff (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix, unsigned flag) |
![]() | |
void | assemble_local_to_eulerian_jacobian (const DShape &dpsids, DenseMatrix< double > &jacobian) const |
void | assemble_local_to_eulerian_jacobian2 (const DShape &d2psids, DenseMatrix< double > &jacobian2) const |
void | assemble_eulerian_base_vectors (const DShape &dpsids, DenseMatrix< double > &interpolated_G) const |
double | local_to_eulerian_mapping_diagonal (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const |
void | assign_hanging_local_eqn_numbers (const bool &store_local_dof_pt) |
Assign the local equation numbers for hanging node variables. More... | |
virtual void | fill_in_jacobian_from_nodal_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
![]() | |
void | setup_father_bounds () |
void | get_edge_bcs (const int &edge, Vector< int > &bound_cons) const |
Determine Vector of boundary conditions along edge (N/S/W/E) More... | |
void | setup_hang_for_value (const int &value_id) |
virtual void | quad_hang_helper (const int &value_id, const int &my_edge, std::ofstream &output_hangfile) |
![]() | |
double | dshape_and_dtest_eulerian_axi_nst (const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const |
double | dshape_and_dtest_eulerian_at_knot_axi_nst (const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const |
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 |
void | pshape_axi_nst (const Vector< double > &s, Shape &psi) const |
Pressure shape functions at local coordinate s. More... | |
void | pshape_axi_nst (const Vector< double > &s, Shape &psi, Shape &test) const |
Pressure shape and test functions at local coordinte s. 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 Node * | pressure_node_pt (const unsigned &n_p) |
virtual void | pin_elemental_redundant_nodal_pressure_dofs () |
![]() | |
static void | check_value_id (const int &n_continuously_interpolated_values, const int &value_id) |
![]() | |
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 |
![]() | |
double * | Pe_pt |
Pointer to global Peclet number. More... | |
double * | PeSt_pt |
Pointer to global Peclet number multiplied by Strouhal number. More... | |
double * | D_pt |
Pointer to global Diffusion parameter. More... | |
AxisymAdvectionDiffusionSourceFctPt | Source_fct_pt |
Pointer to source function: More... | |
AxisymAdvectionDiffusionWindFctPt | Wind_fct_pt |
Pointer to wind function: More... | |
bool | ALE_is_disabled |
Boolean flag to indicate whether AlE formulation is disable. More... | |
![]() | |
Tree * | Tree_pt |
A pointer to a general tree object. More... | |
unsigned | Refine_level |
Refinement level. More... | |
bool | To_be_refined |
Flag for refinement. More... | |
bool | Refinement_is_enabled |
Flag to indicate suppression of any refinement. More... | |
bool | Sons_to_be_unrefined |
Flag for unrefinement. More... | |
long | Number |
Global element number – for plotting/validation purposes. More... | |
![]() | |
unsigned | P_axi_nst_internal_index |
![]() | |
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... | |
bool | ALE_is_disabled |
![]() | |
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 double | Max_integrity_tolerance = 1.0e-8 |
Max. allowed discrepancy in element integrity check. More... | |
![]() | |
static std::map< unsigned, DenseMatrix< int > > | Father_bound |
A RefineableElement class that solves the Boussinesq approximation of the Navier–Stokes and energy equations by coupling two pre-existing classes. The RefineableQAdvectionDiffusionElement with bi-quadratic interpolation for the scalar variable (temperature) and RefineableQCrouzeixRaviartElement which solves the Navier–Stokes equations using bi-quadratic interpolation for the velocities and a discontinuous bi-linear interpolation for the pressure. Note that we are free to choose the order in which we store the variables at the nodes. In this case we choose to store the variables in the order fluid velocities followed by temperature. We must, therefore, overload the function AdvectionDiffusionEquations<DIM>::u_index_adv_diff() to indicate that the temperature is stored at the DIM-th position not the 0-th. We do not need to overload the corresponding function in the NavierStokesEquations<DIM> class because the velocities are stored first. Finally, we choose to use the flux-recovery calculation from the fluid velocities to provide the error used in the mesh adaptation.
|
inline |
Constructor: call the underlying constructors and initialise the pointer to the Rayleigh number to address the default value of 0.0
References Default_Physical_Constant_Value, and Ra_pt.
|
inline |
Constructor: call the underlying constructors and initialise the pointer to the Rayleigh number to address the default value of 0.0
References Default_Physical_Constant_Value, and Ra_pt.
|
inlinevirtual |
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 Overload to broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::compute_error(), and calibrate::error.
|
inlinevirtual |
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 Overload to broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::compute_error(), and calibrate::error.
|
inlinevirtual |
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 Overload to broken default
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::compute_error(), and calibrate::error.
|
inlinevirtual |
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 Overload to broken default
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::compute_error(), and calibrate::error.
|
inlinevirtual |
Final override for disable ALE.
Reimplemented from oomph::FiniteElement.
References oomph::AxisymAdvectionDiffusionEquations::disable_ALE(), and oomph::AxisymmetricNavierStokesEquations::disable_ALE().
|
inlinevirtual |
Final override for disable ALE.
Reimplemented from oomph::FiniteElement.
References oomph::AxisymAdvectionDiffusionEquations::disable_ALE(), and oomph::AxisymmetricNavierStokesEquations::disable_ALE().
|
inlinevirtual |
Final override for enable ALE.
Reimplemented from oomph::FiniteElement.
References oomph::AxisymAdvectionDiffusionEquations::enable_ALE(), and oomph::AxisymmetricNavierStokesEquations::enable_ALE().
|
inlinevirtual |
Final override for enable ALE.
Reimplemented from oomph::FiniteElement.
References oomph::AxisymAdvectionDiffusionEquations::enable_ALE(), and oomph::AxisymmetricNavierStokesEquations::enable_ALE().
|
inlinevirtual |
Compute the element's residual Vector and the jacobian matrix using full finite differences, the default implementation
Reimplemented from oomph::GeneralisedElement.
References oomph::AxisymAdvectionDiffusionEquations::fill_in_contribution_to_jacobian(), oomph::AxisymmetricNavierStokesEquations::fill_in_contribution_to_jacobian(), oomph::FiniteElement::fill_in_contribution_to_jacobian(), and fill_in_off_diagonal_jacobian_blocks_analytic().
|
inlinevirtual |
Compute the element's residual Vector and the jacobian matrix using full finite differences, the default implementation
Reimplemented from oomph::GeneralisedElement.
References oomph::AxisymAdvectionDiffusionEquations::fill_in_contribution_to_jacobian(), oomph::AxisymmetricNavierStokesEquations::fill_in_contribution_to_jacobian(), oomph::FiniteElement::fill_in_contribution_to_jacobian(), and fill_in_off_diagonal_jacobian_blocks_analytic().
|
inlinevirtual |
Add the element's contribution to its residuals vector, jacobian matrix and mass matrix
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::fill_in_contribution_to_jacobian_and_mass_matrix().
|
inlinevirtual |
Add the element's contribution to its residuals vector, jacobian matrix and mass matrix
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::fill_in_contribution_to_jacobian_and_mass_matrix().
|
inlinevirtual |
Fill in the constituent elements' contribution to the residual vector.
Reimplemented from oomph::GeneralisedElement.
References oomph::AxisymAdvectionDiffusionEquations::fill_in_contribution_to_residuals(), and oomph::AxisymmetricNavierStokesEquations::fill_in_contribution_to_residuals().
|
inlinevirtual |
Fill in the constituent elements' contribution to the residual vector.
Reimplemented from oomph::GeneralisedElement.
References oomph::AxisymAdvectionDiffusionEquations::fill_in_contribution_to_residuals(), and oomph::AxisymmetricNavierStokesEquations::fill_in_contribution_to_residuals().
|
inline |
Compute the contribution of the off-diagonal blocks analytically.
References oomph::AxisymmetricQCrouzeixRaviartElement::dshape_and_dtest_eulerian_at_knot_axi_nst(), oomph::AxisymmetricNavierStokesEquations::g(), oomph::Node::hanging_pt(), i, oomph::FiniteElement::integral_pt(), oomph::Node::is_hanging(), J, j, oomph::RefineableElement::local_hang_eqn(), m, m2(), oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), oomph::HangInfo::nmaster(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::FiniteElement::nodal_position(), oomph::FiniteElement::nodal_value(), oomph::FiniteElement::node_pt(), oomph::Integral::nweight(), Global_Parameters::Pe, oomph::AxisymAdvectionDiffusionEquations::pe(), UniformPSDSelfTest::r, ra(), Global_Parameters::Ra, u_index_axi_adv_diff(), oomph::AxisymmetricNavierStokesEquations::u_index_axi_nst(), w, oomph::QuadTreeNames::W, and oomph::Integral::weight().
Referenced by fill_in_contribution_to_jacobian().
|
inline |
Compute the contribution of the off-diagonal blocks analytically.
References oomph::AxisymmetricQCrouzeixRaviartElement::dshape_and_dtest_eulerian_at_knot_axi_nst(), oomph::AxisymmetricNavierStokesEquations::g(), oomph::Node::hanging_pt(), i, oomph::FiniteElement::integral_pt(), oomph::Node::is_hanging(), J, j, oomph::RefineableElement::local_hang_eqn(), m, m2(), oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), oomph::HangInfo::nmaster(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::FiniteElement::nodal_position(), oomph::FiniteElement::nodal_value(), oomph::FiniteElement::node_pt(), oomph::Integral::nweight(), Global_Parameters::Pe, oomph::AxisymAdvectionDiffusionEquations::pe(), UniformPSDSelfTest::r, ra(), Global_Parameters::Ra, u_index_axi_adv_diff(), oomph::AxisymmetricNavierStokesEquations::u_index_axi_nst(), w, oomph::QuadTreeNames::W, and oomph::Integral::weight().
|
inlinevirtual |
Call the underlying single-physics element's further_build() functions and make sure that the pointer to the Rayleigh number is passed to the sons
Reimplemented from oomph::RefineableElement.
References oomph::RefineableElement::father_element_pt(), oomph::RefineableAxisymAdvectionDiffusionEquations::further_build(), oomph::RefineableAxisymmetricQCrouzeixRaviartElement::further_build(), and ra_pt().
|
inlinevirtual |
Call the underlying single-physics element's further_build() functions and make sure that the pointer to the Rayleigh number is passed to the sons
Reimplemented from oomph::RefineableElement.
References oomph::RefineableElement::father_element_pt(), oomph::RefineableAxisymAdvectionDiffusionEquations::further_build(), and oomph::RefineableAxisymmetricQCrouzeixRaviartElement::further_build().
|
inlinevirtual |
The additional hanging node information must be set up for both single-physics elements.
Implements oomph::RefineableQElement< 2 >.
References oomph::RefineableQAxisymAdvectionDiffusionElement< NNODE_1D >::further_setup_hanging_nodes(), and oomph::RefineableAxisymmetricQCrouzeixRaviartElement::further_setup_hanging_nodes().
|
inlinevirtual |
The additional hanging node information must be set up for both single-physics elements.
Implements oomph::RefineableQElement< 2 >.
References oomph::RefineableQAxisymAdvectionDiffusionElement< NNODE_1D >::further_setup_hanging_nodes(), and oomph::RefineableAxisymmetricQCrouzeixRaviartElement::further_setup_hanging_nodes().
|
inlinevirtual |
Fill in the geometric Jacobian, which in this case is r.
Reimplemented from oomph::ElementWithZ2ErrorEstimator.
References plotDoE::x.
|
inlinevirtual |
Fill in the geometric Jacobian, which in this case is r.
Reimplemented from oomph::ElementWithZ2ErrorEstimator.
References plotDoE::x.
|
inlinevirtual |
Overload the body force in the navier-stokes equations This provides the coupling from the advection-diffusion equations to the Navier–Stokes equations, the body force is the temperature multiplied by the Rayleigh number acting in the direction opposite to gravity.
Reimplemented from oomph::AxisymmetricNavierStokesEquations.
References oomph::AxisymmetricNavierStokesEquations::g(), Gravity::gravity(), i, oomph::AxisymAdvectionDiffusionEquations::interpolated_u_axi_adv_diff(), and ra().
|
inlinevirtual |
Overload the body force in the navier-stokes equations This provides the coupling from the advection-diffusion equations to the Navier–Stokes equations, the body force is the temperature multiplied by the Rayleigh number acting in the direction opposite to gravity.
Reimplemented from oomph::AxisymmetricNavierStokesEquations.
References oomph::AxisymmetricNavierStokesEquations::g(), Gravity::gravity(), i, oomph::AxisymAdvectionDiffusionEquations::interpolated_u_axi_adv_diff(), and ra().
|
inlinevirtual |
Get all continuously interpolated values at the local coordinate s at time level t (t=0: present; t>0: previous). We choose to put the fluid velocities first, followed by the temperature
Implements oomph::RefineableElement.
References oomph::RefineableAxisymAdvectionDiffusionEquations::get_interpolated_values(), oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), i, s, and plotPSD::t.
|
inlinevirtual |
Get all continuously interpolated values at the local coordinate s at time level t (t=0: present; t>0: previous). We choose to put the fluid velocities first, followed by the temperature
Implements oomph::RefineableElement.
References oomph::RefineableAxisymAdvectionDiffusionEquations::get_interpolated_values(), oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), i, s, and plotPSD::t.
|
inlinevirtual |
Get the continuously interpolated values at the local coordinate s. We choose to put the fluid velocities first, followed by the temperature.
Reimplemented from oomph::RefineableElement.
References oomph::RefineableAxisymAdvectionDiffusionEquations::get_interpolated_values(), oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), i, and s.
|
inlinevirtual |
Get the continuously interpolated values at the local coordinate s. We choose to put the fluid velocities first, followed by the temperature.
Reimplemented from oomph::RefineableElement.
References oomph::RefineableAxisymAdvectionDiffusionEquations::get_interpolated_values(), oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), i, and s.
|
inlinevirtual |
Overload the wind function in the advection-diffusion equations. This provides the coupling from the Navier–Stokes equations to the advection-diffusion equations because the wind is the fluid velocity.
Reimplemented from oomph::AxisymAdvectionDiffusionEquations.
References oomph::AxisymmetricNavierStokesEquations::interpolated_u_axi_nst().
|
inlinevirtual |
Overload the wind function in the advection-diffusion equations. This provides the coupling from the Navier–Stokes equations to the advection-diffusion equations because the wind is the fluid velocity.
Reimplemented from oomph::AxisymAdvectionDiffusionEquations.
References oomph::AxisymmetricNavierStokesEquations::interpolated_u_axi_nst().
|
inlinevirtual |
Fill in which flux components are associated with the fluid measure and which are associated with the temperature measure
Reimplemented from oomph::ElementWithZ2ErrorEstimator.
References i, oomph::RefineableAxisymAdvectionDiffusionEquations::num_Z2_flux_terms(), and oomph::RefineableAxisymmetricNavierStokesEquations::num_Z2_flux_terms().
|
inlinevirtual |
Fill in which flux components are associated with the fluid measure and which are associated with the temperature measure
Reimplemented from oomph::ElementWithZ2ErrorEstimator.
References i, oomph::RefineableAxisymAdvectionDiffusionEquations::num_Z2_flux_terms(), and oomph::RefineableAxisymmetricNavierStokesEquations::num_Z2_flux_terms().
|
inlinevirtual |
Get the Z2 flux by concatenating the fluxes from the fluid and the advection diffusion elements.
Implements oomph::ElementWithZ2ErrorEstimator.
References ProblemParameters::flux(), oomph::RefineableAxisymAdvectionDiffusionEquations::get_Z2_flux(), oomph::RefineableAxisymmetricNavierStokesEquations::get_Z2_flux(), i, oomph::RefineableAxisymAdvectionDiffusionEquations::num_Z2_flux_terms(), oomph::RefineableAxisymmetricNavierStokesEquations::num_Z2_flux_terms(), and s.
|
inlinevirtual |
Get the Z2 flux by concatenating the fluxes from the fluid and the advection diffusion elements.
Implements oomph::ElementWithZ2ErrorEstimator.
References ProblemParameters::flux(), oomph::RefineableAxisymAdvectionDiffusionEquations::get_Z2_flux(), oomph::RefineableAxisymmetricNavierStokesEquations::get_Z2_flux(), i, oomph::RefineableAxisymAdvectionDiffusionEquations::num_Z2_flux_terms(), oomph::RefineableAxisymmetricNavierStokesEquations::num_Z2_flux_terms(), and s.
|
inlinevirtual |
The number of compound fluxes is two (one for the fluid and one for the temperature)
Reimplemented from oomph::ElementWithZ2ErrorEstimator.
|
inlinevirtual |
The number of compound fluxes is two (one for the fluid and one for the temperature)
Reimplemented from oomph::ElementWithZ2ErrorEstimator.
|
inlinevirtual |
The total number of continously interpolated values is 4 (3 fluid velocities and one temperature).
Implements oomph::RefineableElement.
|
inlinevirtual |
The total number of continously interpolated values is 4 (3 fluid velocities and one temperature).
Implements oomph::RefineableElement.
|
inlinevirtual |
The recovery order is that of the NavierStokes elements.
Implements oomph::ElementWithZ2ErrorEstimator.
References oomph::RefineableAxisymmetricQCrouzeixRaviartElement::nrecovery_order().
|
inlinevirtual |
The recovery order is that of the NavierStokes elements.
Implements oomph::ElementWithZ2ErrorEstimator.
References oomph::RefineableAxisymmetricQCrouzeixRaviartElement::nrecovery_order().
|
inlinevirtual |
Number of scalars/fields output by this element. Broken virtual. Needs to be implemented for each new specific element type. Temporary dummy
Reimplemented from oomph::FiniteElement.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Number of scalars/fields output by this element. Broken virtual. Needs to be implemented for each new specific element type. Temporary dummy
Reimplemented from oomph::FiniteElement.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
The number of Z2 flux terms is the same as that in the fluid element plus that in the advection-diffusion element
Implements oomph::ElementWithZ2ErrorEstimator.
References oomph::RefineableAxisymmetricNavierStokesEquations::num_Z2_flux_terms().
|
inlinevirtual |
The number of Z2 flux terms is the same as that in the fluid element plus that in the advection-diffusion element
Implements oomph::ElementWithZ2ErrorEstimator.
References oomph::RefineableAxisymmetricNavierStokesEquations::num_Z2_flux_terms().
|
inlinevirtual |
Number of vertex nodes in the element is obtained from the geometric element.
Implements oomph::ElementWithZ2ErrorEstimator.
|
inlinevirtual |
Number of vertex nodes in the element is obtained from the geometric element.
Implements oomph::ElementWithZ2ErrorEstimator.
|
inlinevirtual |
C-style output function: Broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output().
|
inlinevirtual |
C-style output function: Broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output().
|
inlinevirtual |
C-style output function: Broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output().
|
inlinevirtual |
C-style output function: Broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output().
|
inlinevirtual |
Overload the standard output function with the broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output().
|
inlinevirtual |
Overload the standard output function with the broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output().
|
inlinevirtual |
Output function:
x,y,u or x,y,z,u at Nplot^DIM plot points
Reimplemented from oomph::FiniteElement.
References oomph::QElement< 2, NNODE_1D >::get_s_plot(), i, oomph::AxisymmetricNavierStokesEquations::interpolated_p_axi_nst(), oomph::AxisymAdvectionDiffusionEquations::interpolated_u_axi_adv_diff(), oomph::AxisymmetricNavierStokesEquations::interpolated_u_axi_nst(), oomph::FiniteElement::interpolated_x(), oomph::QElement< 2, NNODE_1D >::nplot_points(), s, oomph::QElement< 2, NNODE_1D >::tecplot_zone_string(), and oomph::FiniteElement::write_tecplot_zone_footer().
|
inlinevirtual |
Output function:
x,y,u or x,y,z,u at Nplot^DIM plot points
Reimplemented from oomph::FiniteElement.
References oomph::QElement< 2, NNODE_1D >::get_s_plot(), i, oomph::AxisymmetricNavierStokesEquations::interpolated_p_axi_nst(), oomph::AxisymAdvectionDiffusionEquations::interpolated_u_axi_adv_diff(), oomph::AxisymmetricNavierStokesEquations::interpolated_u_axi_nst(), oomph::FiniteElement::interpolated_x(), oomph::QElement< 2, NNODE_1D >::nplot_points(), s, oomph::QElement< 2, NNODE_1D >::tecplot_zone_string(), and oomph::FiniteElement::write_tecplot_zone_footer().
|
inlinevirtual |
Output function for a time-dependent exact solution. Broken default
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output_fct().
|
inlinevirtual |
Output function for a time-dependent exact solution. Broken default
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output_fct().
|
inlinevirtual |
Output function for an exact solution: Broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output_fct().
|
inlinevirtual |
Output function for an exact solution: Broken default.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::output_fct().
|
inline |
Access function for the Rayleigh number (const version)
References Ra_pt.
Referenced by fill_in_off_diagonal_jacobian_blocks_analytic(), and get_body_force_axi_nst().
|
inline |
|
inline |
Access function for the pointer to the Rayleigh number.
References Ra_pt.
Referenced by further_build().
|
inline |
|
inlinevirtual |
Call the rebuild_from_sons functions for each of the constituent multi-physics elements.
Implements oomph::RefineableElement.
References oomph::RefineableQAxisymAdvectionDiffusionElement< NNODE_1D >::rebuild_from_sons(), and oomph::RefineableAxisymmetricQCrouzeixRaviartElement::rebuild_from_sons().
|
inlinevirtual |
Call the rebuild_from_sons functions for each of the constituent multi-physics elements.
Implements oomph::RefineableElement.
References oomph::RefineableQAxisymAdvectionDiffusionElement< NNODE_1D >::rebuild_from_sons(), and oomph::RefineableAxisymmetricQCrouzeixRaviartElement::rebuild_from_sons().
|
inlinevirtual |
The required number of values stored at the nodes is the sum of the required values of the two single-physics elements. This step is generic for any composed element of this type.
Reimplemented from oomph::AxisymmetricQCrouzeixRaviartElement.
References n, and oomph::AxisymmetricQCrouzeixRaviartElement::required_nvalue().
|
inlinevirtual |
The required number of values stored at the nodes is the sum of the required values of the two single-physics elements. This step is generic for any composed element of this type.
Reimplemented from oomph::AxisymmetricQCrouzeixRaviartElement.
References n, and oomph::AxisymmetricQCrouzeixRaviartElement::required_nvalue().
|
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.
Reimplemented from oomph::FiniteElement.
References i, and oomph::StringConversion::to_string().
|
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.
Reimplemented from oomph::FiniteElement.
References i, and oomph::StringConversion::to_string().
|
inlinevirtual |
Write values of the i-th scalar field at the plot points. Broken virtual. Needs to be implemented for each new specific element type. Temporary dummy
Reimplemented from oomph::FiniteElement.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Write values of the i-th scalar field at the plot points. Broken virtual. Needs to be implemented for each new specific element type. Temporary dummy
Reimplemented from oomph::FiniteElement.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Overload the index at which the temperature variable is stored. We choose to store is after the fluid velocities.
Reimplemented from oomph::AxisymAdvectionDiffusionEquations.
Referenced by fill_in_off_diagonal_jacobian_blocks_analytic().
|
inlinevirtual |
Overload the index at which the temperature variable is stored. We choose to store is after the fluid velocities.
Reimplemented from oomph::AxisymAdvectionDiffusionEquations.
|
inlinevirtual |
Pointer to the j-th vertex node in the element, Call the geometric element's function.
Implements oomph::ElementWithZ2ErrorEstimator.
References j.
|
inlinevirtual |
Pointer to the j-th vertex node in the element, Call the geometric element's function.
Implements oomph::ElementWithZ2ErrorEstimator.
References j.
|
staticprivate |
The static default value of the Rayleigh number.
Set the default value of the Rayleigh number to be zero.
Referenced by RefineableBuoyantQAxisymCrouzeixRaviartElement().
|
private |
Pointer to a new physical variable, the Rayleigh number.
Referenced by ra(), ra_pt(), and RefineableBuoyantQAxisymCrouzeixRaviartElement().