![]() |
|
#include <pml_fourier_decomposed_helmholtz_elements.h>
Public Types | |
typedef void(* | PMLFourierDecomposedHelmholtzSourceFctPt) (const Vector< double > &x, std::complex< double > &f) |
![]() | |
typedef void(* | SteadyExactSolutionFctPt) (const Vector< double > &, Vector< double > &) |
typedef void(* | UnsteadyExactSolutionFctPt) (const double &, const Vector< double > &, Vector< double > &) |
Public Member Functions | |
PMLFourierDecomposedHelmholtzEquations () | |
Constructor. More... | |
PMLFourierDecomposedHelmholtzEquations (const PMLFourierDecomposedHelmholtzEquations &dummy)=delete | |
Broken copy constructor. More... | |
virtual std::complex< unsigned > | u_index_pml_fourier_decomposed_helmholtz () const |
Broken assignment operator. More... | |
double *& | k_squared_pt () |
Get pointer to frequency. More... | |
double | k_squared () |
Get k squared. More... | |
double *& | alpha_pt () |
Get pointer to complex shift. More... | |
double | alpha () |
Get complex shift. More... | |
int *& | pml_fourier_wavenumber_pt () |
Get pointer to Fourier wavenumber. More... | |
int | pml_fourier_wavenumber () |
Get the Fourier wavenumber. More... | |
void | output (std::ostream &outfile) |
Output with default number of plot points. More... | |
void | output (std::ostream &outfile, const unsigned &n_plot) |
void | output_real (std::ostream &outfile, const double &phi, const unsigned &n_plot) |
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 &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
virtual void | output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) |
void | output_real_fct (std::ostream &outfile, const double &phi, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) |
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... | |
void | compute_norm (double &norm) |
Compute norm of fe solution. More... | |
PMLFourierDecomposedHelmholtzSourceFctPt & | source_fct_pt () |
Access function: Pointer to source function. More... | |
PMLFourierDecomposedHelmholtzSourceFctPt | source_fct_pt () const |
Access function: Pointer to source function. Const version. More... | |
virtual void | get_source_pml_fourier_decomposed_helmholtz (const unsigned &ipt, const Vector< double > &x, std::complex< double > &source) const |
void | values_to_be_pinned_on_outer_pml_boundary (Vector< unsigned > &values_to_pin) |
void | get_flux (const Vector< double > &s, Vector< std::complex< double >> &flux) const |
Get flux: flux[i] = du/dx_i for real and imag part. 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) |
std::complex< double > | interpolated_u_pml_fourier_decomposed_helmholtz (const Vector< double > &s) const |
unsigned | self_test () |
Self-test: Return 0 for OK. More... | |
![]() | |
PMLElementBase () | |
Constructor. More... | |
virtual | ~PMLElementBase () |
Virtual destructor. More... | |
void | disable_pml () |
void | enable_pml (const int &direction, const double &interface_border_value, const double &outer_domain_border_value) |
![]() | |
void | set_dimension (const unsigned &dim) |
void | set_nodal_dimension (const unsigned &nodal_dim) |
void | set_nnodal_position_type (const unsigned &nposition_type) |
Set the number of types required to interpolate the coordinate. More... | |
void | set_n_node (const unsigned &n) |
int | nodal_local_eqn (const unsigned &n, const unsigned &i) const |
double | dJ_eulerian_at_knot (const unsigned &ipt, Shape &psi, DenseMatrix< double > &djacobian_dX) const |
FiniteElement () | |
Constructor. More... | |
virtual | ~FiniteElement () |
FiniteElement (const FiniteElement &)=delete | |
Broken copy constructor. More... | |
virtual bool | local_coord_is_valid (const Vector< double > &s) |
Broken assignment operator. More... | |
virtual void | move_local_coord_back_into_element (Vector< double > &s) const |
void | get_centre_of_gravity_and_max_radius_in_terms_of_zeta (Vector< double > &cog, double &max_radius) const |
virtual void | local_coordinate_of_node (const unsigned &j, Vector< double > &s) const |
virtual void | local_fraction_of_node (const unsigned &j, Vector< double > &s_fraction) |
virtual double | local_one_d_fraction_of_node (const unsigned &n1d, const unsigned &i) |
virtual void | set_macro_elem_pt (MacroElement *macro_elem_pt) |
MacroElement * | macro_elem_pt () |
Access function to pointer to macro element. More... | |
void | get_x (const Vector< double > &s, Vector< double > &x) const |
void | get_x (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | get_x_from_macro_element (const Vector< double > &s, Vector< double > &x) const |
virtual void | get_x_from_macro_element (const unsigned &t, const Vector< double > &s, Vector< double > &x) |
virtual void | set_integration_scheme (Integral *const &integral_pt) |
Set the spatial integration scheme. More... | |
Integral *const & | integral_pt () const |
Return the pointer to the integration scheme (const version) More... | |
virtual void | shape (const Vector< double > &s, Shape &psi) const =0 |
virtual void | shape_at_knot (const unsigned &ipt, Shape &psi) const |
virtual void | dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const |
virtual void | dshape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids) const |
virtual void | d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual void | d2shape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids, DShape &d2psids) const |
virtual double | J_eulerian (const Vector< double > &s) const |
virtual double | J_eulerian_at_knot (const unsigned &ipt) const |
void | check_J_eulerian_at_knots (bool &passed) const |
void | check_jacobian (const double &jacobian) const |
double | dshape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx) const |
virtual double | dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsi, DenseMatrix< double > &djacobian_dX, RankFourTensor< double > &d_dpsidx_dX) const |
double | d2shape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual double | d2shape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx, DShape &d2psidx) const |
virtual void | assign_nodal_local_eqn_numbers (const bool &store_local_dof_pt) |
virtual void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | describe_nodal_local_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | assign_all_generic_local_eqn_numbers (const bool &store_local_dof_pt) |
Node *& | node_pt (const unsigned &n) |
Return a pointer to the local node n. More... | |
Node *const & | node_pt (const unsigned &n) const |
Return a pointer to the local node n (const version) More... | |
unsigned | nnode () const |
Return the number of nodes. More... | |
virtual unsigned | nnode_1d () const |
double | raw_nodal_position (const unsigned &n, const unsigned &i) const |
double | raw_nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &i) const |
double | raw_dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | raw_dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position (const unsigned &n, const unsigned &i) const |
double | nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const |
double | dnodal_position_dt (const unsigned &n, const unsigned &i) const |
Return the i-th component of nodal velocity: dx/dt at local node n. More... | |
double | dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const |
double | nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const |
double | dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const |
virtual void | get_dresidual_dnodal_coordinates (RankThreeTensor< double > &dresidual_dnodal_coordinates) |
virtual void | disable_ALE () |
virtual void | enable_ALE () |
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 | |
void | compute_pml_coefficients (const unsigned &ipt, const Vector< double > &x, Vector< std::complex< double >> &pml_laplace_factor, std::complex< double > &pml_k_squared_factor) |
void | compute_complex_r (const unsigned &ipt, const Vector< double > &x, std::complex< double > &complex_r) |
PMLMappingAndTransformedCoordinate *& | pml_mapping_and_transformed_coordinate_pt () |
Return a pointer to the PML Mapping object. More... | |
PMLMappingAndTransformedCoordinate *const & | pml_mapping_and_transformed_coordinate_pt () const |
Return a pointer to the PML Mapping object (const version) More... | |
virtual double | dshape_and_dtest_eulerian_pml_fourier_decomposed_helmholtz (const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0 |
virtual double | dshape_and_dtest_eulerian_at_knot_pml_fourier_decomposed_helmholtz (const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0 |
virtual void | fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz (Vector< double > &residuals, DenseMatrix< double > &jacobian, const 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) |
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 | |
PMLFourierDecomposedHelmholtzSourceFctPt | Source_fct_pt |
Pointer to source function: More... | |
double * | K_squared_pt |
Pointer to k^2 (wavenumber squared) More... | |
PMLMappingAndTransformedCoordinate * | Pml_mapping_and_transformed_coordinate_pt |
double * | Alpha_pt |
Pointer to wavenumber complex shift. More... | |
int * | N_pml_fourier_pt |
Pointer to Fourier wave number. More... | |
![]() | |
bool | Pml_is_enabled |
Boolean indicating if element is used in pml mode. More... | |
std::vector< bool > | Pml_direction_active |
Vector< double > | Pml_inner_boundary |
Vector< double > | Pml_outer_boundary |
![]() | |
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 BermudezPMLMappingAndTransformedCoordinate | Default_pml_mapping_and_transformed_coordinate |
static double | Default_Physical_Constant_Value |
Static default value for the physical constants (initialised to zero) More... | |
![]() | |
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 |
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 isoparametric elements that solve the Helmholtz equations with pml capabilities. in Fourier decomposed form (cylindrical polars):
\[ U(r,\varphi,z) = \Re( u^{(n)}(r,z) \exp(-i n \varphi)) \]
We are solving for \( u^{(n)}(r,z)\) for given parameters \( k^2 \) and \( n \) . This contains the generic maths. Shape functions, geometric mapping etc. must get implemented in derived class.
typedef void(* oomph::PMLFourierDecomposedHelmholtzEquations::PMLFourierDecomposedHelmholtzSourceFctPt) (const Vector< double > &x, std::complex< double > &f) |
Function pointer to source function fct(x,f(x)) – x is a Vector!
|
inline |
Constructor.
References Alpha_pt, Default_Physical_Constant_Value, Default_pml_mapping_and_transformed_coordinate, and Pml_mapping_and_transformed_coordinate_pt.
|
delete |
Broken copy constructor.
|
inline |
|
inline |
|
inlineprotected |
Compute complex variable r at position x[0] and integration point ipt
The complex r variable is only imaginary on two conditions: First, the decaying nature of the pml layers is active. Secondly, the integration point is contained in the right pml layer or the two corner pml layers.
References k_squared(), oomph::PMLElementBase< 2 >::Pml_direction_active, oomph::PMLElementBase< 2 >::Pml_inner_boundary, oomph::PMLElementBase< 2 >::Pml_is_enabled, Pml_mapping_and_transformed_coordinate_pt, oomph::PMLElementBase< 2 >::Pml_outer_boundary, UniformPSDSelfTest::r, oomph::PMLMappingAndTransformedCoordinate::transformed_coordinate(), and plotDoE::x.
Referenced by fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz().
|
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 calibrate::error, ProblemParameters::exact_soln(), i, oomph::FiniteElement::integral_pt(), interpolated_u_pml_fourier_decomposed_helmholtz(), oomph::FiniteElement::interpolated_x(), J, oomph::FiniteElement::J_eulerian(), oomph::Integral::knot(), oomph::FiniteElement::nnode(), oomph::Integral::nweight(), s, w, oomph::QuadTreeNames::W, oomph::Integral::weight(), 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 fe solution.
Reimplemented from oomph::GeneralisedElement.
References i, oomph::FiniteElement::integral_pt(), interpolated_u_pml_fourier_decomposed_helmholtz(), J, oomph::FiniteElement::J_eulerian(), oomph::Integral::knot(), oomph::FiniteElement::nnode(), oomph::Integral::nweight(), s, w, oomph::QuadTreeNames::W, oomph::Integral::weight(), and plotDoE::x.
|
inlineprotected |
Compute pml coefficients at position x and integration point ipt. pml_laplace_factor is used in the residual contribution from the laplace operator, similarly pml_k_squared_factor is used in the contribution from the k^2 of the Helmholtz operator.
Vector which points from the inner boundary to x
Vector which points from the inner boundary to the edge of the boundary
for 2D, in order: g_y/g_x, g_x/g_y for Laplace bit and g_x*g_y for Helmholtz bit for 3D, in order: g_y*g_x/g_x, g*x*g_z/g_y, g_x*g_y/g_z for Laplace bit and g_x*g_y*g_z for Helmholtz factor
The weights all default to 1.0 as if the propagation medium is the physical domain
References oomph::PMLMappingAndTransformedCoordinate::gamma(), k, k_squared(), oomph::PMLElementBase< 2 >::Pml_direction_active, oomph::PMLElementBase< 2 >::Pml_inner_boundary, oomph::PMLElementBase< 2 >::Pml_is_enabled, Pml_mapping_and_transformed_coordinate_pt, oomph::PMLElementBase< 2 >::Pml_outer_boundary, and plotDoE::x.
Referenced by fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz().
|
protectedpure virtual |
Shape/test functions and derivs w.r.t. to global coords at integration point ipt; return Jacobian of mapping
Implemented in oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >, and oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >.
Referenced by fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz().
|
protectedpure virtual |
Shape/test functions and derivs w.r.t. to global coords at local coord. s; return Jacobian of mapping
Implemented in oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >, and oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >.
|
inlinevirtual |
Add the element's contribution to its residual vector and element Jacobian matrix (wrapper)
Reimplemented from oomph::FiniteElement.
References fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz().
|
inlinevirtual |
Add the element's contribution to its residual vector (wrapper)
Reimplemented from oomph::GeneralisedElement.
References oomph::GeneralisedElement::Dummy_matrix, and fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz().
|
protectedvirtual |
Compute element residual Vector only (if flag=and/or element Jacobian matrix
Compute element residual Vector and/or element Jacobian matrix
flag=1: compute both flag=0: compute only residual Vector
Pure version without hanging nodes
References compute_complex_r(), compute_pml_coefficients(), dshape_and_dtest_eulerian_at_knot_pml_fourier_decomposed_helmholtz(), get_source_pml_fourier_decomposed_helmholtz(), imag(), oomph::FiniteElement::integral_pt(), oomph::FiniteElement::interpolated_x(), J, j, k, k_squared(), n, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_local_eqn(), oomph::Integral::nweight(), pml_fourier_wavenumber(), oomph::FiniteElement::raw_nodal_position(), oomph::FiniteElement::raw_nodal_value(), TestProblem::source(), Eigen::test, u_index_pml_fourier_decomposed_helmholtz(), w, oomph::QuadTreeNames::W, and oomph::Integral::weight().
Referenced by fill_in_contribution_to_jacobian(), and fill_in_contribution_to_residuals().
|
inline |
Get flux: flux[i] = du/dx_i for real and imag part.
References oomph::FiniteElement::dshape_eulerian(), ProblemParameters::flux(), imag(), j, oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), s, u_index_pml_fourier_decomposed_helmholtz(), and zero().
Referenced by oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >::get_Z2_flux().
|
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 TestProblem::source(), Source_fct_pt, and plotDoE::x.
Referenced by fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz().
|
inline |
Return FE representation of function value u(s) at local coordinate s
References oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), s, oomph::FiniteElement::shape(), and u_index_pml_fourier_decomposed_helmholtz().
Referenced by compute_error(), compute_norm(), output(), and output_real().
|
inline |
Get k squared.
References K_squared_pt, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by compute_complex_r(), compute_pml_coefficients(), and fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz().
|
inline |
Get pointer to frequency.
References K_squared_pt.
Referenced by PMLFourierDecomposedHelmholtzProblem< ELEMENT >::complete_problem_setup().
|
inlinevirtual |
C_style output with default number of plot points.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >, and oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >.
References output().
|
virtual |
C-style output FE representation of soln: r,z,u_re,u_im or at n_plot^2 plot points
C-style output function:
r,z,u
nplot points in each coordinate direction
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >, and oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >.
References oomph::FiniteElement::get_s_plot(), i, interpolated_u_pml_fourier_decomposed_helmholtz(), oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::tecplot_zone_string(), and oomph::FiniteElement::write_tecplot_zone_footer().
|
inlinevirtual |
Output with default number of plot points.
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >, and oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >.
Referenced by output(), oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >::output(), and oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >::output().
|
virtual |
Output FE representation of soln: x,y,u_re,u_im or x,y,z,u_re,u_im at n_plot^2 plot points
Output function:
r,z,u_re,u_imag
nplot points in each coordinate direction
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >, and oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >.
References oomph::FiniteElement::get_s_plot(), i, interpolated_u_pml_fourier_decomposed_helmholtz(), oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::tecplot_zone_string(), and oomph::FiniteElement::write_tecplot_zone_footer().
|
inlinevirtual |
Output exact soln: (dummy time-dependent version to keep intel compiler happy)
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >, and oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
virtual |
Output exact soln: r,z,u_re_exact,u_im_exact at n_plot^2 plot points
Output exact solution
Solution is provided via function pointer. Plot at a given number of plot points.
r,z,u_exact
Reimplemented from oomph::FiniteElement.
Reimplemented in oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >, and oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >.
References ProblemParameters::exact_soln(), oomph::FiniteElement::get_s_plot(), i, oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, oomph::FiniteElement::tecplot_zone_string(), oomph::FiniteElement::write_tecplot_zone_footer(), and plotDoE::x.
Referenced by oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >::output_fct(), and oomph::TPMLFourierDecomposedHelmholtzElement< NNODE_1D >::output_fct().
void oomph::PMLFourierDecomposedHelmholtzEquations::output_real | ( | std::ostream & | outfile, |
const double & | phi, | ||
const unsigned & | nplot | ||
) |
Output function for real part of full time-dependent solution u = Re( (u_r +i u_i) exp(-i omega t) at phase angle omega t = phi. r,z,u at n_plot plot points in each coordinate direction
Output function for real part of full time-dependent solution
u = Re( (u_r +i u_i) exp(-i omega t)
at phase angle omega t = phi.
r,z,u
Output at nplot points in each coordinate direction
References cos(), oomph::FiniteElement::get_s_plot(), i, interpolated_u_pml_fourier_decomposed_helmholtz(), oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, sin(), oomph::FiniteElement::tecplot_zone_string(), and oomph::FiniteElement::write_tecplot_zone_footer().
Referenced by oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >::output_real().
void oomph::PMLFourierDecomposedHelmholtzEquations::output_real_fct | ( | std::ostream & | outfile, |
const double & | phi, | ||
const unsigned & | nplot, | ||
FiniteElement::SteadyExactSolutionFctPt | exact_soln_pt | ||
) |
Output function for real part of full time-dependent fct u = Re( (u_r +i u_i) exp(-i omega t) at phase angle omega t = phi. r,z,u at n_plot plot points in each coordinate direction
Output function for real part of full time-dependent fct
u = Re( (u_r +i u_i) exp(-i omega t)
at phase angle omega t = phi.
r,z,u
Output at nplot points in each coordinate direction
References cos(), ProblemParameters::exact_soln(), oomph::FiniteElement::get_s_plot(), i, oomph::FiniteElement::interpolated_x(), oomph::FiniteElement::nplot_points(), s, sin(), oomph::FiniteElement::tecplot_zone_string(), oomph::FiniteElement::write_tecplot_zone_footer(), and plotDoE::x.
Referenced by oomph::QPMLFourierDecomposedHelmholtzElement< NNODE_1D >::output_real_fct().
|
inline |
Get the Fourier wavenumber.
References N_pml_fourier_pt.
Referenced by fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz().
|
inline |
Get pointer to Fourier wavenumber.
References N_pml_fourier_pt.
Referenced by PMLFourierDecomposedHelmholtzProblem< ELEMENT >::complete_problem_setup().
|
inlineprotected |
Return a pointer to the PML Mapping object.
References Pml_mapping_and_transformed_coordinate_pt.
|
inlineprotected |
Return a pointer to the PML Mapping object (const version)
References Pml_mapping_and_transformed_coordinate_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 Source_fct_pt.
|
inline |
Access function: Pointer to source function. Const version.
References Source_fct_pt.
|
inlinevirtual |
Broken assignment operator.
Return the index at which the unknown value is stored: Real/imag part of index contains (real) index of real/imag part.
Referenced by fill_in_generic_residual_contribution_pml_fourier_decomposed_helmholtz(), get_flux(), interpolated_u_pml_fourier_decomposed_helmholtz(), oomph::PMLFourierDecomposedHelmholtzFluxElement< ELEMENT >::PMLFourierDecomposedHelmholtzFluxElement(), and oomph::PMLFourierDecomposedHelmholtzPowerMonitorElement< ELEMENT >::PMLFourierDecomposedHelmholtzPowerMonitorElement().
|
inlinevirtual |
Pure virtual function in which we specify the values to be pinned (and set to zero) on the outer edge of the pml layer. All of them! Vector is resized internally.
Implements oomph::PMLElementBase< 2 >.
References j.
|
protected |
Pointer to wavenumber complex shift.
Referenced by alpha(), alpha_pt(), and PMLFourierDecomposedHelmholtzEquations().
|
staticprotected |
Static default value for the physical constants (initialised to zero)
PML Helmholtz equations static data, so that by default we can point to a 0
Referenced by PMLFourierDecomposedHelmholtzEquations().
|
staticprotected |
Static so that the class doesn't need to instantiate a new default everytime it uses it
Referenced by PMLFourierDecomposedHelmholtzEquations().
|
protected |
Pointer to k^2 (wavenumber squared)
Referenced by k_squared(), and k_squared_pt().
|
protected |
Pointer to Fourier wave number.
Referenced by pml_fourier_wavenumber(), and pml_fourier_wavenumber_pt().
|
protected |
Pointer to class which holds the pml mapping function (also known as gamma) and the associated transformed coordinate
Referenced by compute_complex_r(), compute_pml_coefficients(), pml_mapping_and_transformed_coordinate_pt(), and PMLFourierDecomposedHelmholtzEquations().
|
protected |
Pointer to source function:
Referenced by get_source_pml_fourier_decomposed_helmholtz(), and source_fct_pt().