![]() |
|
#include <linearised_navier_stokes_elements.h>
Public Member Functions | |
LinearisedNavierStokesEquations () | |
const double & | re () const |
Reynolds number. More... | |
const double & | re_st () const |
Product of Reynolds and Strouhal number (=Womersley number) More... | |
const double & | lambda () const |
const double & | omega () const |
double *& | re_pt () |
Pointer to Reynolds number. More... | |
double *& | re_st_pt () |
Pointer to product of Reynolds and Strouhal number (=Womersley number) More... | |
double *& | lambda_pt () |
Pointer to lambda. More... | |
double *& | omega_pt () |
Pointer to frequency. More... | |
LinearisedNavierStokesEigenfunctionNormalisationElement * | normalisation_element_pt () |
Pointer to normalisation element. More... | |
void | set_eigenfunction_normalisation_element (LinearisedNavierStokesEigenfunctionNormalisationElement *const &normalisation_el_pt) |
the boolean flag check_nodal_data is set to false. More... | |
const double & | viscosity_ratio () const |
double *& | viscosity_ratio_pt () |
Pointer to the viscosity ratio. More... | |
const double & | density_ratio () const |
double *& | density_ratio_pt () |
Pointer to the density ratio. More... | |
virtual unsigned | npres_linearised_nst () const =0 |
virtual unsigned | u_index_linearised_nst (const unsigned &i) const |
double | du_dt_linearised_nst (const unsigned &n, const unsigned &i) const |
void | disable_ALE () |
void | enable_ALE () |
virtual double | p_linearised_nst (const unsigned &n_p, const unsigned &i) const =0 |
virtual void | pin_real_or_imag (const unsigned &real)=0 |
virtual void | unpin_real_or_imag (const unsigned &real)=0 |
virtual void | pin_pressure_normalisation_dofs ()=0 |
Pin the normalisation dofs. More... | |
virtual int | p_index_linearised_nst (const unsigned &i) const |
Which nodal value represents the pressure? More... | |
void | strain_rate (const Vector< double > &s, DenseMatrix< double > &strain_rate, const unsigned &real) const |
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 | fill_in_contribution_to_residuals (Vector< double > &residuals) |
Compute the element's residual Vector. More... | |
double | interpolated_u_linearised_nst (const Vector< double > &s, const unsigned &i) const |
double | interpolated_p_linearised_nst (const Vector< double > &s, const unsigned &i) const |
![]() | |
void | set_dimension (const unsigned &dim) |
void | set_nodal_dimension (const unsigned &nodal_dim) |
void | set_nnodal_position_type (const unsigned &nposition_type) |
Set the number of types required to interpolate the coordinate. More... | |
void | set_n_node (const unsigned &n) |
int | nodal_local_eqn (const unsigned &n, const unsigned &i) const |
double | dJ_eulerian_at_knot (const unsigned &ipt, Shape &psi, DenseMatrix< double > &djacobian_dX) const |
FiniteElement () | |
Constructor. More... | |
virtual | ~FiniteElement () |
FiniteElement (const FiniteElement &)=delete | |
Broken copy constructor. More... | |
virtual bool | local_coord_is_valid (const Vector< double > &s) |
Broken assignment operator. More... | |
virtual void | move_local_coord_back_into_element (Vector< double > &s) const |
void | get_centre_of_gravity_and_max_radius_in_terms_of_zeta (Vector< double > &cog, double &max_radius) const |
virtual void | local_coordinate_of_node (const unsigned &j, Vector< double > &s) const |
virtual void | local_fraction_of_node (const unsigned &j, Vector< double > &s_fraction) |
virtual double | local_one_d_fraction_of_node (const unsigned &n1d, const unsigned &i) |
virtual void | set_macro_elem_pt (MacroElement *macro_elem_pt) |
MacroElement * | macro_elem_pt () |
Access function to pointer to macro element. More... | |
void | get_x (const Vector< double > &s, Vector< double > &x) const |
void | get_x (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | get_x_from_macro_element (const Vector< double > &s, Vector< double > &x) const |
virtual void | get_x_from_macro_element (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | set_integration_scheme (Integral *const &integral_pt) |
Set the spatial integration scheme. More... | |
Integral *const & | integral_pt () const |
Return the pointer to the integration scheme (const version) More... | |
virtual void | shape (const Vector< double > &s, Shape &psi) const =0 |
virtual void | shape_at_knot (const unsigned &ipt, Shape &psi) const |
virtual void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
virtual void | dshape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids) const |
virtual void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual void | d2shape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual double | J_eulerian (const Vector< double > &s) const |
virtual double | J_eulerian_at_knot (const unsigned &ipt) const |
void | check_J_eulerian_at_knots (bool &passed) const |
void | check_jacobian (const double &jacobian) const |
double | dshape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsi, DenseMatrix< double > &djacobian_dX, RankFourTensor< double > &d_dpsidx_dX) const |
double | d2shape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual double | d2shape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual void | assign_nodal_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | describe_nodal_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | assign_all_generic_local_eqn_numbers (const bool &store_local_dof_pt) |
Node *& | node_pt (const unsigned &n) |
Return a pointer to the local node n. More... | |
Node *const & | node_pt (const unsigned &n) const |
Return a pointer to the local node n (const version) More... | |
unsigned | nnode () const |
Return the number of nodes. More... | |
virtual unsigned | nnode_1d () const |
double | raw_nodal_position (const unsigned &n, const unsigned &i) const |
double | raw_nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position (const unsigned &n, const unsigned &i) const |
double | nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | dnodal_position_dt (const unsigned &n, const unsigned &i) const |
Return the i-th component of nodal velocity: dx/dt at local node n. More... | |
double | dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
virtual void | get_dresidual_dnodal_coordinates (RankThreeTensor< double > &dresidual_dnodal_coordinates) |
virtual 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 |
virtual double | compute_physical_size () const |
virtual void | point_output_data (const Vector< double > &s, Vector< double > &data) |
void | point_output (std::ostream &outfile, const Vector< double > &s) |
virtual unsigned | nplot_points_paraview (const unsigned &nplot) const |
virtual unsigned | nsub_elements_paraview (const unsigned &nplot) const |
void | output_paraview (std::ofstream &file_out, const unsigned &nplot) const |
virtual void | write_paraview_output_offset_information (std::ofstream &file_out, const unsigned &nplot, unsigned &counter) const |
virtual void | write_paraview_type (std::ofstream &file_out, const unsigned &nplot) const |
virtual void | write_paraview_offsets (std::ofstream &file_out, const unsigned &nplot, unsigned &offset_sum) const |
virtual unsigned | nscalar_paraview () const |
virtual void | scalar_value_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot) const |
virtual void | scalar_value_fct_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) const |
virtual void | scalar_value_fct_paraview (std::ofstream &file_out, const unsigned &i, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) const |
virtual std::string | scalar_name_paraview (const unsigned &i) const |
virtual void | output (const unsigned &t, std::ostream &outfile, const unsigned &n_plot) const |
virtual void | output_fct (std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
Output an exact solution over the element. More... | |
virtual void | output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) |
Output a time-dependent exact solution over the element. More... | |
virtual void | output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, const SolutionFunctorBase &exact_soln) const |
Output a time-dependent exact solution over the element. More... | |
virtual void | get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &shifted_to_interior=false) const |
virtual std::string | tecplot_zone_string (const unsigned &nplot) const |
virtual void | write_tecplot_zone_footer (std::ostream &outfile, const unsigned &nplot) const |
virtual void | write_tecplot_zone_footer (FILE *file_pt, const unsigned &nplot) const |
virtual unsigned | nplot_points (const unsigned &nplot) const |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
Calculate the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
Calculate the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
virtual void | compute_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 |
Public Attributes | |
void(*&)(const double &time, const Vector< double > &x, Vector< double > &f) | base_flow_u_fct_pt () |
Access function for the base flow solution pointer. More... | |
void(*&)(const double &time, const Vector< double > &x, DenseMatrix< double > &f) | base_flow_dudx_fct_pt () |
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 unsigned &i)=0 |
virtual double | dshape_and_dtest_eulerian_linearised_nst (const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0 |
virtual double | dshape_and_dtest_eulerian_at_knot_linearised_nst (const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0 |
virtual void | pshape_linearised_nst (const Vector< double > &s, Shape &psi) const =0 |
Compute the pressure shape functions at local coordinate s. More... | |
virtual void | pshape_linearised_nst (const Vector< double > &s, Shape &psi, Shape &test) const =0 |
Compute the pressure shape and test functions at local coordinate s. More... | |
virtual void | get_base_flow_u (const double &time, const unsigned &ipt, const Vector< double > &x, Vector< double > &result) const |
virtual void | get_base_flow_dudx (const double &time, const unsigned &ipt, const Vector< double > &x, DenseMatrix< double > &result) const |
int | eigenvalue_local_eqn (const unsigned &i) |
virtual void | fill_in_generic_residual_contribution_linearised_nst (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix, unsigned flag) |
![]() | |
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_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
virtual void | fill_in_contribution_to_dresiduals_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam) |
virtual void | fill_in_contribution_to_djacobian_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam) |
virtual void | fill_in_contribution_to_djacobian_and_dmass_matrix_dparameter (double *const ¶meter_pt, Vector< double > &dres_dparam, DenseMatrix< double > &djac_dparam, DenseMatrix< double > &dmass_matrix_dparam) |
virtual void | fill_in_contribution_to_hessian_vector_products (Vector< double > const &Y, DenseMatrix< double > const &C, DenseMatrix< double > &product) |
virtual void | fill_in_contribution_to_inner_products (Vector< std::pair< unsigned, unsigned >> const &history_index, Vector< double > &inner_product) |
virtual void | fill_in_contribution_to_inner_product_vectors (Vector< unsigned > const &history_index, Vector< Vector< double >> &inner_product_vector) |
Protected Attributes | |
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 * | Lambda_pt |
Pointer to eigenvalue. More... | |
double * | Omega_pt |
Pointer to frequency. More... | |
LinearisedNavierStokesEigenfunctionNormalisationElement * | Normalisation_element_pt |
Pointer to the normalisation element. More... | |
unsigned | Data_number_of_eigenvalue |
Index of datum where eigenvalue is stored. More... | |
unsigned | Index_of_eigenvalue |
void(* | Base_flow_u_fct_pt )(const double &time, const Vector< double > &x, Vector< double > &result) |
Pointer to base flow solution (velocity components) function. More... | |
void(* | Base_flow_dudx_fct_pt )(const double &time, const Vector< double > &x, DenseMatrix< double > &result) |
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 Private Attributes | |
static int | Pressure_not_stored_at_node = -100 |
static double | Default_Physical_Constant_Value = 0.0 |
static double | Default_Physical_Ratio_Value = 1.0 |
Static default value for the physical ratios (all initialised to one) More... | |
Additional Inherited Members | |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
![]() | |
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 |
A class for elements that solve the linearised version of the unsteady Navier–Stokes equations in cylindrical polar coordinates, where we have Fourier-decomposed in the azimuthal direction so that the theta-dependance is replaced by an azimuthal mode number.
|
inline |
Constructor: NULL the base flow solution and the derivatives of the base flow function
References Data_number_of_eigenvalue, Default_Physical_Constant_Value, Default_Physical_Ratio_Value, Density_Ratio_pt, Index_of_eigenvalue, Lambda_pt, Normalisation_element_pt, Omega_pt, Re_pt, ReSt_pt, and Viscosity_Ratio_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_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
inline |
Pointer to the density ratio.
References Density_Ratio_pt.
Referenced by oomph::RefineableLinearisedNavierStokesEquations::further_build().
|
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.
|
protectedpure virtual |
Compute the shape functions and their derivatives w.r.t. global coordinates at the ipt-th integration point. Return Jacobian of mapping between local and global coordinates.
Implemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
protectedpure virtual |
Compute the shape functions and their derivatives w.r.t. global coordinates at local coordinate s. Return Jacobian of mapping between local and global coordinates.
Implemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
|
inline |
Return the 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_linearised_nst(), and oomph::TimeStepper::weight().
|
inlineprotected |
References oomph::GeneralisedElement::external_local_eqn(), and i.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_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 |
Compute the element's residual Vector.
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::Dummy_matrix, and fill_in_generic_residual_contribution_linearised_nst().
|
protectedvirtual |
Compute the residuals for the Navier-Stokes equations; flag=1(or 0): do (or don't) compute the Jacobian as well.
Compute the residuals for the linearised axisymmetric Navier–Stokes equations; flag=1(or 0): do (or don't) compute the Jacobian as well.
Reimplemented in oomph::RefineableLinearisedNavierStokesEquations.
References density_ratio(), DIM, dshape_and_dtest_eulerian_at_knot_linearised_nst(), eigenvalue_local_eqn(), Gamma, get_base_flow_dudx(), get_base_flow_u(), i, oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), J, j, k, oomph::Integral::knot(), lambda(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::FiniteElement::node_pt(), npres_linearised_nst(), oomph::Integral::nweight(), omega(), p_linearised_nst(), p_local_eqn(), pshape_linearised_nst(), oomph::FiniteElement::raw_nodal_position(), oomph::FiniteElement::raw_nodal_value(), re(), re_st(), s, oomph::TimeStepper::time(), oomph::Data::time_stepper_pt(), u_index_linearised_nst(), viscosity_ratio(), w, oomph::QuadTreeNames::W, and oomph::Integral::weight().
Referenced by fill_in_contribution_to_residuals().
|
inlineprotectedvirtual |
Calculate the derivatives of the velocity components of the base flow solution w.r.t. global coordinates (r and z) at a given time and Eulerian position
Reimplemented in RefineableLinearisedQCrouzeixRaviartMultiDomainElement, RefineableLinearisedQTaylorHoodMultiDomainElement, LinearisedQCrouzeixRaviartMultiDomainElement, and LinearisedQTaylorHoodMultiDomainElement.
References Base_flow_dudx_fct_pt, DIM, i, j, and plotDoE::x.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
inlineprotectedvirtual |
Calculate the velocity components of the base flow solution at a given time and Eulerian position
Reimplemented in RefineableLinearisedQCrouzeixRaviartMultiDomainElement, RefineableLinearisedQTaylorHoodMultiDomainElement, LinearisedQCrouzeixRaviartMultiDomainElement, and LinearisedQTaylorHoodMultiDomainElement.
References Base_flow_u_fct_pt, DIM, i, and plotDoE::x.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
inline |
Return the i-th component of the FE interpolated pressure p[i] at local coordinate s
References i, npres_linearised_nst(), p_linearised_nst(), pshape_linearised_nst(), and s.
Referenced by oomph::RefineableLinearisedQCrouzeixRaviartElement::further_build(), oomph::RefineableLinearisedQTaylorHoodElement::get_interpolated_values(), and output().
|
inline |
Compute the element's residual Vector and the jacobian matrix. Virtual function can be overloaded by hanging-node version. Add the element's contribution to its residuals vector, jacobian matrix and mass matrix Return the i-th component of the 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_linearised_nst().
Referenced by oomph::RefineableLinearisedQCrouzeixRaviartElement::get_interpolated_values(), oomph::RefineableLinearisedQTaylorHoodElement::get_interpolated_values(), and output().
|
inline |
|
inline |
|
inline |
Pointer to normalisation element.
References Normalisation_element_pt.
Referenced by oomph::RefineableLinearisedNavierStokesEquations::further_build().
|
pure virtual |
Return the number of pressure degrees of freedom associated with a single pressure component in the element
Implemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst(), and interpolated_p_linearised_nst().
|
inline |
|
inline |
|
inlinevirtual |
Output function: r, z, U^C, U^S, V^C, V^S, W^C, W^S, P^C, P^S in tecplot format. Default number of plot points
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
References output().
|
virtual |
Output function: r, z, U^C, U^S, V^C, V^S, W^C, W^S, P^C, P^S in tecplot format. nplot points in each coordinate direction
Output function in tecplot format: r, z, U^C, U^S, V^C, V^S, W^C, W^S, P^C, P^S Specified number of plot points in each coordinate direction.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
References DIM, oomph::FiniteElement::get_s_plot(), i, interpolated_p_linearised_nst(), interpolated_u_linearised_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: r, z, U^C, U^S, V^C, V^S, W^C, W^S, P^C, P^S in tecplot format. Default number of plot points
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
Referenced by output(), oomph::LinearisedQCrouzeixRaviartElement::output(), and oomph::LinearisedQTaylorHoodElement::output().
|
virtual |
Output function: r, z, U^C, U^S, V^C, V^S, W^C, W^S, P^C, P^S in tecplot format. nplot points in each coordinate direction
Output function in tecplot format: r, z, U^C, U^S, V^C, V^S, W^C, W^S, P^C, P^S in tecplot format. Specified number of plot points in each coordinate direction.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
References DIM, oomph::FiniteElement::get_s_plot(), i, interpolated_p_linearised_nst(), interpolated_u_linearised_nst(), oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::tecplot_zone_string(), and oomph::FiniteElement::write_tecplot_zone_footer().
void oomph::LinearisedNavierStokesEquations::output_veloc | ( | std::ostream & | outfile, |
const unsigned & | nplot, | ||
const unsigned & | t | ||
) |
Output function: r, z, U^C, U^S, V^C, V^S, W^C, W^S, in tecplot format. nplot points in each coordinate direction at timestep t (t=0: present; t>0: previous timestep)
Output function in tecplot format: Velocities only r, z, U^C, U^S, V^C, V^S, W^C, W^S at specified previous timestep (t=0 present; t>0 previous timestep). Specified number of plot points in each coordinate direction.
References DIM, 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_linearised_nst(), and oomph::FiniteElement::write_tecplot_zone_footer().
|
inlinevirtual |
Which nodal value represents the pressure?
Reimplemented in oomph::LinearisedQTaylorHoodElement.
References Pressure_not_stored_at_node.
Referenced by oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineableLinearisedQTaylorHoodElement::pin_elemental_redundant_nodal_pressure_dofs(), and oomph::RefineableLinearisedQTaylorHoodElement::unpin_elemental_pressure_dofs().
|
pure virtual |
Return the i-th pressure value at local pressure "node" n_p. Uses suitably interpolated value for hanging nodes.
Implemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst(), and interpolated_p_linearised_nst().
|
protectedpure virtual |
Access function for the local equation number information for the i-th component of the pressure. p_local_eqn[n,i] = local equation number or < 0 if pinned.
Implemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
pure virtual |
Pin the normalisation dofs.
Implemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
|
pure virtual |
Pin the real or imaginary part of the problem Input integer 0 for real 1 for imaginary
Implemented in oomph::LinearisedQCrouzeixRaviartElement, and oomph::LinearisedQTaylorHoodElement.
|
protectedpure virtual |
Compute the pressure shape functions at local coordinate s.
Implemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst(), and interpolated_p_linearised_nst().
|
protectedpure virtual |
Compute the pressure shape and test functions at local coordinate s.
Implemented in oomph::LinearisedQTaylorHoodElement, and oomph::LinearisedQCrouzeixRaviartElement.
|
inline |
Reynolds number.
References Re_pt.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
inline |
Pointer to Reynolds number.
References Re_pt.
Referenced by oomph::RefineableLinearisedNavierStokesEquations::further_build().
|
inline |
Product of Reynolds and Strouhal number (=Womersley number)
References ReSt_pt.
Referenced by fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
inline |
Pointer to product of Reynolds and Strouhal number (=Womersley number)
References ReSt_pt.
Referenced by oomph::RefineableLinearisedNavierStokesEquations::further_build().
|
inline |
the boolean flag check_nodal_data is set to false.
References oomph::GeneralisedElement::add_external_data(), Data_number_of_eigenvalue, oomph::LinearisedNavierStokesEigenfunctionNormalisationElement::eigenvalue_data_pt(), oomph::LinearisedNavierStokesEigenfunctionNormalisationElement::index_of_eigenvalue(), Index_of_eigenvalue, Lambda_pt, Normalisation_element_pt, Omega_pt, and oomph::Data::value_pt().
Referenced by oomph::RefineableLinearisedNavierStokesEquations::further_build().
void oomph::LinearisedNavierStokesEquations::strain_rate | ( | const Vector< double > & | s, |
DenseMatrix< double > & | strainrate, | ||
const unsigned & | real | ||
) | 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). We evaluate this tensor at a value of theta such that the product of theta and the azimuthal mode number (k) gives \( \pi/4 \). Therefore \( \cos(k \theta) = \sin(k \theta) = 1/\sqrt{2} \).
References DIM, oomph::FiniteElement::dshape_eulerian(), i, j, oomph::DenseMatrix< T >::ncol(), oomph::FiniteElement::nnode(), oomph::DenseMatrix< T >::nrow(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::FiniteElement::raw_nodal_value(), s, sqrt(), and u_index_linearised_nst().
Referenced by oomph::RefineableLinearisedNavierStokesEquations::get_Z2_flux().
|
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 du_dt_linearised_nst(), fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineableLinearisedQCrouzeixRaviartElement::get_interpolated_values(), oomph::RefineableLinearisedQTaylorHoodElement::get_interpolated_values(), interpolated_u_linearised_nst(), output_veloc(), and strain_rate().
|
pure virtual |
Implemented in oomph::LinearisedQCrouzeixRaviartElement, and oomph::LinearisedQTaylorHoodElement.
|
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 fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
inline |
Pointer to the viscosity ratio.
References Viscosity_Ratio_pt.
Referenced by oomph::RefineableLinearisedNavierStokesEquations::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(), and oomph::RefineableLinearisedNavierStokesEquations::further_build().
|
inline |
Access function for the derivatives of the base flow w.r.t. global coordinates solution pointer
|
protected |
Pointer to derivatives of base flow solution velocity components w.r.t. global coordinates (r and z) function
Referenced by get_base_flow_dudx().
|
inline |
Access function for the base flow solution pointer.
|
protected |
Pointer to base flow solution (velocity components) function.
Referenced by get_base_flow_u().
|
protected |
Index of datum where eigenvalue is stored.
Referenced by LinearisedNavierStokesEquations(), and set_eigenfunction_normalisation_element().
|
staticprivate |
Static default value for the physical constants (all initialised to zero)
Referenced by LinearisedNavierStokesEquations().
|
staticprivate |
Static default value for the physical ratios (all initialised to one)
Referenced by LinearisedNavierStokesEquations().
|
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::RefineableLinearisedNavierStokesEquations::further_build(), and LinearisedNavierStokesEquations().
Vector to decide whether the stress-divergence form is used or not.
Linearised axisymmetric Navier–Stokes equations static data.
Referenced by FlowAroundCylinderProblem< ELEMENT >::add_eigenproblem(), fill_in_generic_residual_contribution_linearised_nst(), and oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst().
|
protected |
Referenced by LinearisedNavierStokesEquations(), and set_eigenfunction_normalisation_element().
|
protected |
Pointer to eigenvalue.
Referenced by lambda(), lambda_pt(), LinearisedNavierStokesEquations(), and set_eigenfunction_normalisation_element().
|
protected |
Pointer to the normalisation element.
Referenced by LinearisedNavierStokesEquations(), normalisation_element_pt(), and set_eigenfunction_normalisation_element().
|
protected |
Pointer to frequency.
Referenced by LinearisedNavierStokesEquations(), omega(), omega_pt(), and set_eigenfunction_normalisation_element().
|
staticprivate |
Static "magic" number that indicates that the pressure is not stored at a node
Referenced by p_index_linearised_nst().
|
protected |
Pointer to global Reynolds number.
Referenced by oomph::RefineableLinearisedNavierStokesEquations::further_build(), LinearisedNavierStokesEquations(), re(), and re_pt().
|
protected |
Pointer to global Reynolds number x Strouhal number (=Womersley)
Referenced by oomph::RefineableLinearisedNavierStokesEquations::further_build(), LinearisedNavierStokesEquations(), re_st(), and re_st_pt().
|
protected |
Pointer to the viscosity ratio (relative to the viscosity used in the definition of the Reynolds number)
Referenced by oomph::RefineableLinearisedNavierStokesEquations::further_build(), LinearisedNavierStokesEquations(), viscosity_ratio(), and viscosity_ratio_pt().