![]() |
|
#include <advection_diffusion_reaction_elements.h>
Public Types | |
typedef void(* | AdvectionDiffusionReactionSourceFctPt) (const Vector< double > &x, Vector< double > &f) |
typedef void(* | AdvectionDiffusionReactionReactionFctPt) (const Vector< double > &c, Vector< double > &R) |
Function pointer to reaction terms. More... | |
typedef void(* | AdvectionDiffusionReactionReactionDerivFctPt) (const Vector< double > &c, DenseMatrix< double > &dRdC) |
Function pointer to derivative of reaction terms. More... | |
typedef void(* | AdvectionDiffusionReactionWindFctPt) (const double &time, const Vector< double > &x, Vector< double > &wind) |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
Public Member Functions | |
AdvectionDiffusionReactionEquations () | |
AdvectionDiffusionReactionEquations (const AdvectionDiffusionReactionEquations &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const AdvectionDiffusionReactionEquations &)=delete |
Broken assignment operator. More... | |
virtual unsigned | c_index_adv_diff_react (const unsigned &i) const |
double | dc_dt_adv_diff_react (const unsigned &n, const unsigned &r) const |
void | dc_dt_adv_diff_react (const unsigned &n, Vector< double > &dc_dt) const |
void | disable_ALE () |
void | enable_ALE () |
void | output (std::ostream &outfile) |
Output with default number of plot points. More... | |
void | output (std::ostream &outfile, const unsigned &nplot) |
void | output (FILE *file_pt) |
C_style output with default number of plot points. More... | |
void | output (FILE *file_pt, const unsigned &n_plot) |
void | output_fct (std::ostream &outfile, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
Output exact soln: x,y,u_exact or x,y,z,u_exact at nplot^DIM plot points. More... | |
virtual void | output_fct (std::ostream &outfile, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) |
void | compute_norm (double &norm) |
Compute norm of the solution: sum of squares of L2 norms for reagents. More... | |
void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
Get error against and norm of exact solution. More... | |
void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
Dummy, time dependent error checker. More... | |
AdvectionDiffusionReactionSourceFctPt & | source_fct_pt () |
Access function: Pointer to source function. More... | |
AdvectionDiffusionReactionSourceFctPt | source_fct_pt () const |
Access function: Pointer to source function. Const version. More... | |
AdvectionDiffusionReactionWindFctPt & | wind_fct_pt () |
Access function: Pointer to wind function. More... | |
AdvectionDiffusionReactionWindFctPt | wind_fct_pt () const |
Access function: Pointer to reaction function. Const version. More... | |
AdvectionDiffusionReactionReactionFctPt & | reaction_fct_pt () |
Access function: Pointer to reaction function. More... | |
AdvectionDiffusionReactionReactionFctPt | reaction_fct_pt () const |
Access function: Pointer to reaction function. Const version. More... | |
AdvectionDiffusionReactionReactionDerivFctPt & | reaction_deriv_fct_pt () |
Access function: Pointer to reaction derivatives function. More... | |
AdvectionDiffusionReactionReactionDerivFctPt | reaction_deriv_fct_pt () const |
Access function: Pointer to reaction function. Const version. More... | |
const Vector< double > & | diff () const |
Vector of diffusion coefficients. More... | |
Vector< double > *& | diff_pt () |
Pointer to vector of diffusion coefficients. More... | |
const Vector< double > & | tau () const |
Vector of dimensionless timescales. More... | |
Vector< double > *& | tau_pt () |
Pointer to vector of dimensionless timescales. More... | |
virtual void | get_source_adv_diff_react (const unsigned &ipt, const Vector< double > &x, Vector< double > &source) const |
virtual void | get_wind_adv_diff_react (const unsigned &ipt, const Vector< double > &s, const Vector< double > &x, Vector< double > &wind) const |
virtual void | get_reaction_adv_diff_react (const unsigned &ipt, const Vector< double > &C, Vector< double > &R) const |
virtual void | get_reaction_deriv_adv_diff_react (const unsigned &ipt, const Vector< double > &C, DenseMatrix< double > &dRdC) const |
void | get_flux (const Vector< double > &s, Vector< double > &flux) const |
Get flux: \(\mbox{flux}[DIM r + i] = \mbox{d}C_{r} / \mbox{d}x_i \). 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) |
void | fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix) |
double | interpolated_c_adv_diff_react (const Vector< double > &s, const unsigned &i) const |
Return FE representation of function value c_i(s) at local coordinate s. More... | |
unsigned | self_test () |
Self-test: Return 0 for OK. More... | |
void | integrate_reagents (Vector< double > &C) const |
Return the integrated reagent concentrations. More... | |
![]() | |
void | set_dimension (const unsigned &dim) |
void | set_nodal_dimension (const unsigned &nodal_dim) |
void | set_nnodal_position_type (const unsigned &nposition_type) |
Set the number of types required to interpolate the coordinate. More... | |
void | set_n_node (const unsigned &n) |
int | nodal_local_eqn (const unsigned &n, const unsigned &i) const |
double | dJ_eulerian_at_knot (const unsigned &ipt, Shape &psi, DenseMatrix< double > &djacobian_dX) const |
FiniteElement () | |
Constructor. More... | |
virtual | ~FiniteElement () |
FiniteElement (const FiniteElement &)=delete | |
Broken copy constructor. More... | |
virtual bool | local_coord_is_valid (const Vector< double > &s) |
Broken assignment operator. More... | |
virtual void | move_local_coord_back_into_element (Vector< double > &s) const |
void | get_centre_of_gravity_and_max_radius_in_terms_of_zeta (Vector< double > &cog, double &max_radius) const |
virtual void | local_coordinate_of_node (const unsigned &j, Vector< double > &s) const |
virtual void | local_fraction_of_node (const unsigned &j, Vector< double > &s_fraction) |
virtual double | local_one_d_fraction_of_node (const unsigned &n1d, const unsigned &i) |
virtual void | set_macro_elem_pt (MacroElement *macro_elem_pt) |
MacroElement * | macro_elem_pt () |
Access function to pointer to macro element. More... | |
void | get_x (const Vector< double > &s, Vector< double > &x) const |
void | get_x (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | get_x_from_macro_element (const Vector< double > &s, Vector< double > &x) const |
virtual void | get_x_from_macro_element (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | set_integration_scheme (Integral *const &integral_pt) |
Set the spatial integration scheme. More... | |
Integral *const & | integral_pt () const |
Return the pointer to the integration scheme (const version) More... | |
virtual void | shape (const Vector< double > &s, Shape &psi) const =0 |
virtual void | shape_at_knot (const unsigned &ipt, Shape &psi) const |
virtual void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
virtual void | dshape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids) const |
virtual void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual void | d2shape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual double | J_eulerian (const Vector< double > &s) const |
virtual double | J_eulerian_at_knot (const unsigned &ipt) const |
void | check_J_eulerian_at_knots (bool &passed) const |
void | check_jacobian (const double &jacobian) const |
double | dshape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsi, DenseMatrix< double > &djacobian_dX, RankFourTensor< double > &d_dpsidx_dX) const |
double | d2shape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual double | d2shape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual void | assign_nodal_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | describe_nodal_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | assign_all_generic_local_eqn_numbers (const bool &store_local_dof_pt) |
Node *& | node_pt (const unsigned &n) |
Return a pointer to the local node n. More... | |
Node *const & | node_pt (const unsigned &n) const |
Return a pointer to the local node n (const version) More... | |
unsigned | nnode () const |
Return the number of nodes. More... | |
virtual unsigned | nnode_1d () const |
double | raw_nodal_position (const unsigned &n, const unsigned &i) const |
double | raw_nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position (const unsigned &n, const unsigned &i) const |
double | nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | dnodal_position_dt (const unsigned &n, const unsigned &i) const |
Return the i-th component of nodal velocity: dx/dt at local node n. More... | |
double | dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
virtual 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, const double &time, const SolutionFunctorBase &exact_soln) const |
Output a time-dependent exact solution over the element. More... | |
virtual void | get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s, const bool &shifted_to_interior=false) const |
virtual std::string | tecplot_zone_string (const unsigned &nplot) const |
virtual void | write_tecplot_zone_footer (std::ostream &outfile, const unsigned &nplot) const |
virtual void | write_tecplot_zone_footer (FILE *file_pt, const unsigned &nplot) const |
virtual unsigned | nplot_points (const unsigned &nplot) const |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
Calculate the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
Calculate the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_abs_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error) |
void | integrate_fct (FiniteElement::SteadyExactSolutionFctPt integrand_fct_pt, Vector< double > &integral) |
Integrate Vector-valued function over element. More... | |
void | integrate_fct (FiniteElement::UnsteadyExactSolutionFctPt integrand_fct_pt, const double &time, Vector< double > &integral) |
Integrate Vector-valued time-dep function over element. More... | |
virtual void | build_face_element (const int &face_index, FaceElement *face_element_pt) |
virtual unsigned | 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 unsigned | ndof_types () const |
virtual void | get_dof_numbers_for_unknowns (std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const |
![]() | |
GeomObject () | |
Default constructor. More... | |
GeomObject (const unsigned &ndim) | |
GeomObject (const unsigned &nlagrangian, const unsigned &ndim) | |
GeomObject (const unsigned &nlagrangian, const unsigned &ndim, TimeStepper *time_stepper_pt) | |
GeomObject (const GeomObject &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const GeomObject &)=delete |
Broken assignment operator. More... | |
virtual | ~GeomObject () |
(Empty) destructor More... | |
unsigned | nlagrangian () const |
Access function to # of Lagrangian coordinates. More... | |
unsigned | ndim () const |
Access function to # of Eulerian coordinates. More... | |
void | set_nlagrangian_and_ndim (const unsigned &n_lagrangian, const unsigned &n_dim) |
Set # of Lagrangian and Eulerian coordinates. More... | |
TimeStepper *& | time_stepper_pt () |
TimeStepper * | time_stepper_pt () const |
virtual void | position (const double &t, const Vector< double > &zeta, Vector< double > &r) const |
virtual void | dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const |
virtual void | d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const |
virtual void | d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const |
Protected Member Functions | |
virtual double | dshape_and_dtest_eulerian_adv_diff_react (const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0 |
virtual double | dshape_and_dtest_eulerian_at_knot_adv_diff_react (const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0 |
virtual void | fill_in_generic_residual_contribution_adv_diff_react (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_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 | |
Vector< double > * | Diff_pt |
Pointer to global diffusion coefficients. More... | |
Vector< double > * | Tau_pt |
Pointer to global timescales. More... | |
AdvectionDiffusionReactionSourceFctPt | Source_fct_pt |
Pointer to source function: More... | |
AdvectionDiffusionReactionWindFctPt | Wind_fct_pt |
Pointer to wind function: More... | |
AdvectionDiffusionReactionReactionFctPt | Reaction_fct_pt |
Pointer to reaction function. More... | |
AdvectionDiffusionReactionReactionDerivFctPt | Reaction_deriv_fct_pt |
Pointer to reaction derivatives. More... | |
bool | ALE_is_disabled |
![]() | |
MacroElement * | Macro_elem_pt |
Pointer to the element's macro element (NULL by default) More... | |
![]() | |
unsigned | NLagrangian |
Number of Lagrangian (intrinsic) coordinates. More... | |
unsigned | Ndim |
Number of Eulerian coordinates. More... | |
TimeStepper * | Geom_object_time_stepper_pt |
Static Protected Attributes | |
static const unsigned | N_reagent |
![]() | |
static const unsigned | Default_Initial_Nvalue = 0 |
Default value for the number of values at a node. More... | |
static const double | Node_location_tolerance = 1.0e-14 |
static const unsigned | N2deriv [] = {0, 1, 3, 6} |
![]() | |
static DenseMatrix< double > | Dummy_matrix |
static std::deque< double * > | Dof_pt_deque |
Static Private Attributes | |
static Vector< double > | Default_dimensionless_number |
Static default value for the dimensionless numbers. More... | |
Additional Inherited Members | |
![]() | |
static double | Tolerance_for_singular_jacobian = 1.0e-16 |
Tolerance below which the jacobian is considered singular. More... | |
static bool | Accept_negative_jacobian = false |
static bool | Suppress_output_while_checking_for_inverted_elements |
![]() | |
static bool | Suppress_warning_about_repeated_internal_data |
static bool | Suppress_warning_about_repeated_external_data = true |
static double | Default_fd_jacobian_step = 1.0e-8 |
A class for all elements that solve the Advection Diffusion Reaction equations using isoparametric elements.
\[ \tau_{i} \frac{\partial C_{i}}{\partial t} + w_{j} \frac{\partial C_{i}}{\partial x_{j}} = D_{i}\frac{\partial^2 C_{i}}{\partial x_j^2} = - R_{i}(C_{i}) + f_{i} \]
This contains the generic maths. Shape functions, geometric mapping etc. must get implemented in derived class.
typedef void(* oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::AdvectionDiffusionReactionReactionDerivFctPt) (const Vector< double > &c, DenseMatrix< double > &dRdC) |
Function pointer to derivative of reaction terms.
typedef void(* oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::AdvectionDiffusionReactionReactionFctPt) (const Vector< double > &c, Vector< double > &R) |
Function pointer to reaction terms.
typedef void(* oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::AdvectionDiffusionReactionSourceFctPt) (const Vector< double > &x, Vector< double > &f) |
Function pointer to source function fct(x,f(x)) – x is a Vector!
typedef void(* oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::AdvectionDiffusionReactionWindFctPt) (const double &time, const Vector< double > &x, Vector< double > &wind) |
Function pointer to wind function fct(x,w(x)) – x is a Vector!
|
inline |
Constructor: Initialise the Source_fct_pt, Wind_fct_pt, Reaction_fct_pt to null and initialise the dimensionless timescale and diffusion ratios
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Default_dimensionless_number, oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Diff_pt, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Tau_pt.
|
delete |
Broken copy constructor.
|
inlinevirtual |
Return the index at which the unknown i-th reagent is stored. The default value, i, is appropriate for single-physics problems, when there are only i variables, the values that satisfies the advection-diffusion-reaction equation. In derived multi-physics elements, this function should be overloaded to reflect the chosen storage scheme. Note that these equations require that the unknown is always stored at the same index at each node.
Reimplemented in oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >, oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >, oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >, and oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >.
References i.
Referenced by oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::dc_dt_adv_diff_react(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_flux(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_interpolated_values(), and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::interpolated_c_adv_diff_react().
|
virtual |
Get error against and norm of exact solution.
Validate against exact solution
Solution is provided via function pointer. Plot error at a given number of plot points.
Reimplemented from oomph::FiniteElement.
References DIM, calibrate::error, ProblemParameters::exact_soln(), i, J, s, w, oomph::QuadTreeNames::W, and plotDoE::x.
|
inlinevirtual |
Dummy, time dependent error checker.
Reimplemented from oomph::FiniteElement.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
virtual |
Compute norm of the solution: sum of squares of L2 norms for reagents.
Compute norm of the solution: sum of squares of the L2 norm for each reagent
Reimplemented from oomph::GeneralisedElement.
References calibrate::c, DIM, i, J, UniformPSDSelfTest::r, s, w, and oomph::QuadTreeNames::W.
|
inline |
dc_r/dt at local node n. Uses suitably interpolated value for hanging nodes.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::c_index_adv_diff_react(), oomph::TimeStepper::is_steady(), n, oomph::FiniteElement::nodal_value(), oomph::FiniteElement::node_pt(), oomph::TimeStepper::ntstorage(), UniformPSDSelfTest::r, plotPSD::t, oomph::GeomObject::time_stepper_pt(), oomph::Data::time_stepper_pt(), and oomph::TimeStepper::weight().
|
inline |
dc/dt at local node n. Uses suitably interpolated value for hanging nodes.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::c_index_adv_diff_react(), oomph::TimeStepper::is_steady(), n, oomph::FiniteElement::nodal_value(), oomph::FiniteElement::node_pt(), oomph::TimeStepper::ntstorage(), UniformPSDSelfTest::r, plotPSD::t, oomph::GeomObject::time_stepper_pt(), oomph::Data::time_stepper_pt(), and oomph::TimeStepper::weight().
|
inline |
Vector of diffusion coefficients.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Diff_pt.
|
inline |
Pointer to vector of diffusion coefficients.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Diff_pt.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::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 oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::ALE_is_disabled.
Referenced by oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >::disable_ALE(), and oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::disable_ALE().
|
protectedpure virtual |
Shape/test functions and derivs w.r.t. to global coords at local coord. s; return Jacobian of mapping
Implemented in oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, and oomph::QAdvectionDiffusionReactionElement< 2, DIM, 3 >.
|
protectedpure virtual |
Shape/test functions and derivs w.r.t. to global coords at integration point ipt; return Jacobian of mapping
Implemented in oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, and oomph::QAdvectionDiffusionReactionElement< 2, DIM, 3 >.
|
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 oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::ALE_is_disabled.
Referenced by oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >::enable_ALE(), and oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::enable_ALE().
|
inlinevirtual |
Add the element's contribution to its residual vector and the element Jacobian matrix (wrapper)
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::Dummy_matrix, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react().
Referenced by oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_contribution_to_jacobian(), and oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_contribution_to_jacobian().
|
inlinevirtual |
Add the element's contribution to its residuals vector, jacobian matrix and mass matrix
Reimplemented from oomph::GeneralisedElement.
Referenced by oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_contribution_to_jacobian_and_mass_matrix(), and oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_contribution_to_jacobian_and_mass_matrix().
|
inlinevirtual |
Add the element's contribution to its residual vector (wrapper)
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::Dummy_matrix, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react().
Referenced by oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_contribution_to_residuals(), oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_contribution_to_residuals(), oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_off_diagonal_jacobian_blocks_by_fd(), and oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_off_diagonal_jacobian_blocks_by_fd().
|
protectedvirtual |
Add the element's contribution to its residual vector only (if flag=and/or element Jacobian matrix
Compute element residual Vector and/or element Jacobian matrix and/or the mass matrix
flag=2: compute Jacobian, residuals and mass matrix flag=1: compute Jacobian and residuals flag=0: compute only residual Vector
Pure version without hanging nodes
Reimplemented in oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >.
References oomph::ALE_is_disabled, D, DIM, i, J, j, k, UniformPSDSelfTest::r, R, s, TestProblem::source(), Eigen::test, tmp, w, and oomph::QuadTreeNames::W.
Referenced by oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_contribution_to_jacobian(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_contribution_to_jacobian_and_mass_matrix(), and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_contribution_to_residuals().
|
inline |
Get flux: \(\mbox{flux}[DIM r + i] = \mbox{d}C_{r} / \mbox{d}x_i \).
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::c_index_adv_diff_react(), DIM, oomph::FiniteElement::dshape_eulerian(), ProblemParameters::flux(), j, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), UniformPSDSelfTest::r, and s.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_Z2_flux(), and oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::get_Z2_flux().
|
inlinevirtual |
Get reaction as a function of the given reagent concentrations This function is virtual to allow overloading in multi-physics problems where the reaction function might be determined by another system of equations
Reimplemented in oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >, and oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >.
References UniformPSDSelfTest::r, R, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Reaction_fct_pt.
|
inlinevirtual |
Get the derivatives of the reaction terms with respect to the concentration variables. If no explicit function pointer is set, these will be calculated by finite differences
Reimplemented in oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >, and oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >.
References oomph::GeneralisedElement::Default_fd_jacobian_step, p, UniformPSDSelfTest::r, R, oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Reaction_deriv_fct_pt, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Reaction_fct_pt.
|
inlinevirtual |
Get source term at (Eulerian) position x. This function is virtual to allow overloading in multi-physics problems where the strength of the source function might be determined by another system of equations
References UniformPSDSelfTest::r, TestProblem::source(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Source_fct_pt, and plotDoE::x.
|
inlinevirtual |
Get wind at (Eulerian) position x and/or local coordinate s. This function is virtual to allow overloading in multi-physics problems where the wind function might be determined by another system of equations
Reimplemented in oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >, oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >, oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >, and oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >.
References DIM, i, oomph::FiniteElement::node_pt(), oomph::Time::time(), oomph::TimeStepper::time_pt(), oomph::Data::time_stepper_pt(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Wind_fct_pt, and plotDoE::x.
void oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::integrate_reagents | ( | Vector< double > & | C | ) | const |
Return the integrated reagent concentrations.
Integrate the reagent concentrations over the element.
References DIM, J, UniformPSDSelfTest::r, w, and oomph::QuadTreeNames::W.
|
inline |
Return FE representation of function value c_i(s) at local coordinate s.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::c_index_adv_diff_react(), i, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), s, and oomph::FiniteElement::shape().
Referenced by oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >::output(), and oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::output().
|
delete |
Broken assignment operator.
|
inlinevirtual |
C_style output with default number of plot points.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, and oomph::QAdvectionDiffusionReactionElement< 2, DIM, 3 >.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output().
|
virtual |
C-style output FE representation of soln: x,y,u or x,y,z,u at n_plot^DIM plot points
C-style output function:
x,y,u or x,y,z,u
nplot points in each coordinate direction
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, and oomph::QAdvectionDiffusionReactionElement< 2, DIM, 3 >.
|
inlinevirtual |
Output with default number of plot points.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, and oomph::QAdvectionDiffusionReactionElement< 2, DIM, 3 >.
Referenced by oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output(), oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::output(), and oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::output().
|
virtual |
Output FE representation of soln: x,y,u or x,y,z,u at nplot^DIM plot points
Output function:
x,y,u,w_x,w_y or x,y,z,u,w_x,w_y,w_z
nplot points in each coordinate direction
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, and oomph::QAdvectionDiffusionReactionElement< 2, DIM, 3 >.
References DIM, i, s, and plotDoE::x.
|
inlinevirtual |
Output exact soln: x,y,u_exact or x,y,z,u_exact at nplot^DIM plot points (dummy time-dependent version to keep intel compiler happy)
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >, oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >, oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >, oomph::DoubleBuoyantQCrouzeixRaviartElement< DIM >, oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, and oomph::QAdvectionDiffusionReactionElement< 2, DIM, 3 >.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
virtual |
Output exact soln: x,y,u_exact or x,y,z,u_exact at nplot^DIM plot points.
Output exact solution
Solution is provided via function pointer. Plot at a given number of plot points.
x,y,u_exact or x,y,z,u_exact
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, and oomph::QAdvectionDiffusionReactionElement< 2, DIM, 3 >.
References DIM, ProblemParameters::exact_soln(), i, s, and plotDoE::x.
Referenced by oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::output_fct(), and oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::output_fct().
|
inline |
Access function: Pointer to reaction derivatives function.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Reaction_deriv_fct_pt.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build().
|
inline |
Access function: Pointer to reaction function. Const version.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Reaction_deriv_fct_pt.
|
inline |
Access function: Pointer to reaction function.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Reaction_fct_pt.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build().
|
inline |
Access function: Pointer to reaction function. Const version.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Reaction_fct_pt.
|
virtual |
Self-test: Return 0 for OK.
Reimplemented from oomph::FiniteElement.
References oomph::FiniteElement::self_test().
|
inline |
Access function: Pointer to source function.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Source_fct_pt.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build().
|
inline |
Access function: Pointer to source function. Const version.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Source_fct_pt.
|
inline |
Vector of dimensionless timescales.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Tau_pt.
|
inline |
Pointer to vector of dimensionless timescales.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Tau_pt.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build().
|
inline |
Access function: Pointer to wind function.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Wind_fct_pt.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build().
|
inline |
Access function: Pointer to reaction function. Const version.
References oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::Wind_fct_pt.
|
protected |
Boolean flag to indicate if ALE formulation is disabled when time-derivatives are computed. Only set to true if you're sure that the mesh is stationary.
Referenced by oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::disable_ALE(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::enable_ALE(), and oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build().
|
staticprivate |
Static default value for the dimensionless numbers.
2D Advection Diffusion elements
Default value for Peclet number
Referenced by oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::AdvectionDiffusionReactionEquations().
|
protected |
Pointer to global diffusion coefficients.
Referenced by oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::AdvectionDiffusionReactionEquations(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::diff(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::diff_pt(), and oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build().
|
staticprotected |
|
protected |
Pointer to reaction derivatives.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_reaction_deriv_adv_diff_react(), and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::reaction_deriv_fct_pt().
|
protected |
Pointer to reaction function.
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_reaction_adv_diff_react(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_reaction_deriv_adv_diff_react(), and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::reaction_fct_pt().
|
protected |
Pointer to source function:
Referenced by oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_source_adv_diff_react(), and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::source_fct_pt().
|
protected |
Pointer to global timescales.
Referenced by oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::AdvectionDiffusionReactionEquations(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::further_build(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::tau(), and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::tau_pt().
|
protected |