![]() |
|
#include <mesh.h>
Public Types | |
typedef void(FiniteElement::* | SteadyExactSolutionFctPt) (const Vector< double > &x, Vector< double > &soln) |
typedef void(FiniteElement::* | UnsteadyExactSolutionFctPt) (const double &time, const Vector< double > &x, Vector< double > &soln) |
Public Member Functions | |
Mesh () | |
Default constructor. More... | |
Mesh (const Vector< Mesh * > &sub_mesh_pt) | |
void | merge_meshes (const Vector< Mesh * > &sub_mesh_pt) |
virtual void | setup_boundary_element_info () |
virtual void | setup_boundary_element_info (std::ostream &outfile) |
virtual void | reset_boundary_element_info (Vector< unsigned > &ntmp_boundary_elements, Vector< Vector< unsigned >> &ntmp_boundary_elements_in_region, Vector< FiniteElement * > &deleted_elements) |
Virtual function to perform the reset boundary elements info rutines. More... | |
template<class BULK_ELEMENT > | |
void | doc_boundary_coordinates (const unsigned &b, std::ofstream &the_file) |
virtual void | scale_mesh (const double &factor) |
Mesh (const Mesh &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const Mesh &)=delete |
Broken assignment operator. More... | |
virtual | ~Mesh () |
Virtual Destructor to clean up all memory. More... | |
void | flush_element_and_node_storage () |
void | flush_element_storage () |
void | flush_node_storage () |
Node *& | node_pt (const unsigned long &n) |
Return pointer to global node n. More... | |
Node * | node_pt (const unsigned long &n) const |
Return pointer to global node n (const version) More... | |
GeneralisedElement *& | element_pt (const unsigned long &e) |
Return pointer to element e. More... | |
GeneralisedElement * | element_pt (const unsigned long &e) const |
Return pointer to element e (const version) More... | |
const Vector< GeneralisedElement * > & | element_pt () const |
Return reference to the Vector of elements. More... | |
Vector< GeneralisedElement * > & | element_pt () |
Return reference to the Vector of elements. More... | |
FiniteElement * | finite_element_pt (const unsigned &e) const |
Node *& | boundary_node_pt (const unsigned &b, const unsigned &n) |
Return pointer to node n on boundary b. More... | |
Node * | boundary_node_pt (const unsigned &b, const unsigned &n) const |
Return pointer to node n on boundary b. More... | |
void | set_nboundary (const unsigned &nbound) |
Set the number of boundaries in the mesh. More... | |
void | remove_boundary_nodes () |
Clear all pointers to boundary nodes. More... | |
void | remove_boundary_nodes (const unsigned &b) |
void | remove_boundary_node (const unsigned &b, Node *const &node_pt) |
Remove a node from the boundary b. More... | |
void | add_boundary_node (const unsigned &b, Node *const &node_pt) |
Add a (pointer to) a node to the b-th boundary. More... | |
void | copy_boundary_node_data_from_nodes () |
bool | boundary_coordinate_exists (const unsigned &i) const |
Indicate whether the i-th boundary has an intrinsic coordinate. More... | |
unsigned long | nelement () const |
Return number of elements in the mesh. More... | |
unsigned long | nnode () const |
Return number of nodes in the mesh. More... | |
unsigned | ndof_types () const |
Return number of dof types in mesh. More... | |
unsigned | elemental_dimension () const |
Return number of elemental dimension in mesh. More... | |
unsigned | nodal_dimension () const |
Return number of nodal dimension in mesh. More... | |
void | add_node_pt (Node *const &node_pt) |
Add a (pointer to a) node to the mesh. More... | |
void | add_element_pt (GeneralisedElement *const &element_pt) |
Add a (pointer to) an element to the mesh. More... | |
virtual void | node_update (const bool &update_all_solid_nodes=false) |
virtual void | reorder_nodes (const bool &use_old_ordering=true) |
virtual void | get_node_reordering (Vector< Node * > &reordering, const bool &use_old_ordering=true) const |
template<class BULK_ELEMENT , template< class > class FACE_ELEMENT> | |
void | build_face_mesh (const unsigned &b, Mesh *const &face_mesh_pt) |
unsigned | self_test () |
Self-test: Check elements and nodes. Return 0 for OK. More... | |
void | max_and_min_element_size (double &max_size, double &min_size) |
double | total_size () |
void | check_inverted_elements (bool &mesh_has_inverted_elements, std::ofstream &inverted_element_file) |
void | check_inverted_elements (bool &mesh_has_inverted_elements) |
unsigned | check_for_repeated_nodes (const double &epsilon=1.0e-12) |
Vector< Node * > | prune_dead_nodes () |
unsigned | nboundary () const |
Return number of boundaries. More... | |
unsigned long | nboundary_node (const unsigned &ibound) const |
Return number of nodes on a particular boundary. More... | |
FiniteElement * | boundary_element_pt (const unsigned &b, const unsigned &e) const |
Return pointer to e-th finite element on boundary b. More... | |
Node * | get_some_non_boundary_node () const |
unsigned | nboundary_element (const unsigned &b) const |
Return number of finite elements that are adjacent to boundary b. More... | |
int | face_index_at_boundary (const unsigned &b, const unsigned &e) const |
virtual void | dump (std::ofstream &dump_file, const bool &use_old_ordering=true) const |
Dump the data in the mesh into a file for restart. More... | |
void | dump (const std::string &dump_file_name, const bool &use_old_ordering=true) const |
Dump the data in the mesh into a file for restart. More... | |
virtual void | read (std::ifstream &restart_file) |
Read solution from restart file. More... | |
void | output_paraview (std::ofstream &file_out, const unsigned &nplot) const |
void | output_fct_paraview (std::ofstream &file_out, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) const |
void | output_fct_paraview (std::ofstream &file_out, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) const |
void | output (std::ostream &outfile) |
Output for all elements. More... | |
void | output (std::ostream &outfile, const unsigned &n_plot) |
Output at f(n_plot) points in each element. More... | |
void | output (FILE *file_pt) |
Output for all elements (C-style output) More... | |
void | output (FILE *file_pt, const unsigned &nplot) |
Output at f(n_plot) points in each element (C-style output) More... | |
void | output (const std::string &output_filename) |
Output for all elements. More... | |
void | output (const std::string &output_filename, const unsigned &n_plot) |
Output at f(n_plot) points in each element. More... | |
void | output_fct (std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt) |
Output a given Vector function at f(n_plot) points in each element. More... | |
void | output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt) |
void | output_boundaries (std::ostream &outfile) |
Output the nodes on the boundaries (into separate tecplot zones) More... | |
void | output_boundaries (const std::string &output_filename) |
void | assign_initial_values_impulsive () |
Assign initial values for an impulsive start. More... | |
void | shift_time_values () |
void | calculate_predictions () |
void | set_nodal_and_elemental_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
virtual void | set_mesh_level_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
void | set_consistent_pinned_values_for_continuation (ContinuationStorageScheme *const &continuation_stepper_pt) |
Set consistent values for pinned data in continuation. More... | |
bool | does_pointer_correspond_to_mesh_data (double *const ¶meter_pt) |
Does the double pointer correspond to any mesh data. More... | |
void | set_nodal_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
Set the timestepper associated with the nodal data in the mesh. More... | |
void | set_elemental_internal_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
virtual void | compute_norm (double &norm) |
virtual void | compute_norm (Vector< double > &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
virtual void | compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
virtual void | compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm) |
virtual void | compute_error (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_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm) |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm) |
Returns the norm of the error and that of the exact solution. More... | |
virtual void | compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm) |
bool | is_mesh_distributed () const |
Boolean to indicate if Mesh has been distributed. More... | |
OomphCommunicator * | communicator_pt () const |
void | delete_all_external_storage () |
Wipe the storage for all externally-based elements. More... | |
Static Public Attributes | |
static Steady< 0 > | Default_TimeStepper |
The Steady Timestepper. More... | |
static bool | Suppress_warning_about_empty_mesh_level_time_stepper_function |
Static boolean flag to control warning about mesh level timesteppers. More... | |
Protected Member Functions | |
unsigned long | assign_global_eqn_numbers (Vector< double * > &Dof_pt) |
Assign (global) equation numbers to the nodes. More... | |
void | describe_dofs (std::ostream &out, const std::string ¤t_string) const |
void | describe_local_dofs (std::ostream &out, const std::string ¤t_string) const |
void | assign_local_eqn_numbers (const bool &store_local_dof_pt) |
Assign local equation numbers in all elements. More... | |
void | convert_to_boundary_node (Node *&node_pt, const Vector< FiniteElement * > &finite_element_pt) |
void | convert_to_boundary_node (Node *&node_pt) |
Protected Attributes | |
Vector< Vector< Node * > > | Boundary_node_pt |
bool | Lookup_for_elements_next_boundary_is_setup |
Vector< Vector< FiniteElement * > > | Boundary_element_pt |
Vector< Vector< int > > | Face_index_at_boundary |
Vector< Node * > | Node_pt |
Vector of pointers to nodes. More... | |
Vector< GeneralisedElement * > | Element_pt |
Vector of pointers to generalised elements. More... | |
std::vector< bool > | Boundary_coordinate_exists |
Friends | |
class | Problem |
Problem is a friend. More... | |
A general mesh class.
The main components of a Mesh are:
typedef void(FiniteElement::* oomph::Mesh::SteadyExactSolutionFctPt) (const Vector< double > &x, Vector< double > &soln) |
Typedef for function pointer to function that computes steady exact solution
typedef void(FiniteElement::* oomph::Mesh::UnsteadyExactSolutionFctPt) (const double &time, const Vector< double > &x, Vector< double > &soln) |
Typedef for function pointer to function that computes unsteady exact solution
|
inline |
Default constructor.
References Lookup_for_elements_next_boundary_is_setup.
Constructor builds combined mesh from the meshes specified. Note: This simply merges the meshes' elements and nodes (ignoring duplicates; no boundary information etc. is created).
References merge_meshes().
|
delete |
Broken copy constructor.
|
virtual |
Virtual Destructor to clean up all memory.
References delete_all_external_storage(), Element_pt, i, and Node_pt.
Add a (pointer to) a node to the b-th boundary.
Add the node node_pt to the b-th boundary of the mesh This function also sets the boundary information in the Node itself
References oomph::Node::add_to_boundary(), b, Boundary_node_pt, n, and node_pt().
Referenced by STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 2 >::build(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::change_boundaries(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), oomph::GmshTetScaffoldMesh::create_mesh_from_msh_file(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), oomph::GeompackQuadScaffoldMesh::GeompackQuadScaffoldMesh(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::p_refine(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 3 >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 2 >::rebuild_from_sons(), oomph::RectangleWithHoleMesh< ELEMENT >::RectangleWithHoleMesh(), oomph::SimpleCubicScaffoldTetMesh::SimpleCubicScaffoldTetMesh(), oomph::SimpleRectangularTriMesh< ELEMENT >::SimpleRectangularTriMesh(), oomph::TetgenScaffoldMesh::TetgenScaffoldMesh(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), oomph::TriangleScaffoldMesh::TriangleScaffoldMesh(), and oomph::TubeMesh< ELEMENT >::TubeMesh().
|
inline |
Add a (pointer to) an element to the mesh.
References Element_pt, and element_pt().
Referenced by ABCProblem< ELEMENT, TIMESTEPPERT >::ABCProblem(), UnstructuredFvKProblem< ELEMENT >::actions_after_adapt(), FlowAroundCylinderProblem< ELEMENT >::add_eigenproblem(), AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::AxisymFreeSurfaceNozzleAdvDiffRobinProblem(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), build_face_mesh(), CapProblem< ELEMENT >::CapProblem(), ContactProblem< ELEMENT >::complete_problem_setup(), ContinuationProblem::ContinuationProblem(), ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::ConvectionProblem(), ContactProblem< ELEMENT >::create_contact_elements(), ContactProblem< ELEMENT >::create_contact_heat_elements_on_boulder(), ContactProblem< ELEMENT >::create_displ_imposition_elements(), ScatteringProblem< ELEMENT >::create_flux_elements(), PMLProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::create_flux_elements(), LinearWaveProblem< ELEMENT, TIMESTEPPER >::create_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::create_flux_elements(), FluxPoissonMGProblem< ELEMENT, MESH >::create_flux_elements(), TwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxSteadyAxisymAdvectionDiffusionProblem< ELEMENT >::create_flux_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_free_surface_elements(), ContactProblem< ELEMENT >::create_imposed_heat_flux_elements_on_boulder(), HelmholtzPointSourceProblem< ELEMENT >::create_outer_bc_elements(), ScatteringProblem< ELEMENT >::create_outer_bc_elements(), TiltedCavityProblem< ELEMENT >::create_parall_outflow_lagrange_elements(), PMLProblem< ELEMENT >::create_power_elements(), CollapsibleChannelProblem< ELEMENT >::create_traction_elements(), RayleighTractionProblem< ELEMENT, TIMESTEPPER >::create_traction_elements(), FSICollapsibleChannelProblem< ELEMENT >::create_traction_elements(), SheetGlueProblem< ELEMENT >::create_traction_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_volume_constraint_elements(), FreeSurfaceRotationProblem< ELEMENT >::create_volume_constraint_elements(), OscRingNStProblem< ELEMENT >::doc_solution(), OscRingNStProblem< ELEMENT >::doc_solution_historic(), ElasticInterfaceProblem< ELEMENT, TIMESTEPPER >::ElasticInterfaceProblem(), FreeBoundaryPoissonProblem< ELEMENT >::FreeBoundaryPoissonProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), GeomObjectAsGeneralisedElementProblem::GeomObjectAsGeneralisedElementProblem(), InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_free_surface_elements(), ElasticRefineableQuarterCircleSectorMesh< ELEMENT >::make_traction_element_mesh(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_traction_elements(), MeltSpinningProblem< ELEMENT >::MeltSpinningProblem(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), OscRingNStProblem< ELEMENT >::OscRingNStProblem(), PredPreyProblem< ELEMENT >::PredPreyProblem(), RefineableFishPoissonProblem< ELEMENT >::RefineableFishPoissonProblem(), RefineableYoungLaplaceProblem< ELEMENT >::RefineableYoungLaplaceProblem(), ElasticRefineableQuarterCircleSectorMesh< ELEMENT >::remake_traction_element_mesh(), run_navier_stokes_outflow(), MortaringHelpers::setup_constraint_elements_at_nodes(), ShellProblem< ELEMENT >::ShellProblem(), UnstructuredImmersedEllipseProblem< ELEMENT >::UnstructuredImmersedEllipseProblem(), oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh(), and oomph::WomersleyProblem< ELEMENT, DIM >::WomersleyProblem().
|
inline |
Add a (pointer to a) node to the mesh.
References Node_pt, and node_pt().
Referenced by STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 1 >::build(), oomph::RefineableQElement< 2 >::build(), build_face_mesh(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), oomph::PRefineableQElement< 1, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 1, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 3 >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 1 >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 2 >::rebuild_from_sons(), and oomph::TetMeshBase::split_elements_in_corners().
Assign (global) equation numbers to the nodes.
Assign the global equation numbers in the Data stored at the nodes and also internal element Data. Also, build (via push_back) the Vector of pointers to the dofs (variables).
References Element_pt, i, and Node_pt.
Referenced by oomph::Problem::assign_eqn_numbers(), and oomph::PerturbedSpineMesh::assign_global_eqn_numbers().
void oomph::Mesh::assign_initial_values_impulsive | ( | ) |
Assign initial values for an impulsive start.
Assign the initial values for an impulsive start, which is acheived by looping over all data in the mesh (internal element data and data stored at nodes) and setting the calling the assign_initial_values_impulsive() function for each data's timestepper
References e(), element_pt(), j, n, nelement(), nnode(), and Node_pt.
Referenced by oomph::Problem::assign_initial_values_impulsive().
|
protected |
Assign local equation numbers in all elements.
Assign the local equation numbers in all elements If the boolean argument is true then also store pointers to dofs
References Element_pt, and i.
Referenced by oomph::Problem::assign_eqn_numbers().
Indicate whether the i-th boundary has an intrinsic coordinate.
References Boundary_coordinate_exists, i, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 2 >::build(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 3 >::rebuild_from_sons(), and oomph::RefineableQSpectralElement< 2 >::rebuild_from_sons().
|
inline |
Return pointer to e-th finite element on boundary b.
References b, Boundary_element_pt, e(), Lookup_for_elements_next_boundary_is_setup, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), build_face_mesh(), CapProblem< ELEMENT >::CapProblem(), ContactProblem< ELEMENT >::create_contact_heat_elements_on_boulder(), ScatteringProblem< ELEMENT >::create_flux_elements(), PMLProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::create_flux_elements(), LinearWaveProblem< ELEMENT, TIMESTEPPER >::create_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxSteadyAxisymAdvectionDiffusionProblem< ELEMENT >::create_flux_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_free_surface_elements(), ContactProblem< ELEMENT >::create_imposed_heat_flux_elements_on_boulder(), FSICollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements(), CollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements(), HelmholtzPointSourceProblem< ELEMENT >::create_outer_bc_elements(), ScatteringProblem< ELEMENT >::create_outer_bc_elements(), TiltedCavityProblem< ELEMENT >::create_parall_outflow_lagrange_elements(), PMLProblem< ELEMENT >::create_power_elements(), CollapsibleChannelProblem< ELEMENT >::create_traction_elements(), RayleighTractionProblem< ELEMENT, TIMESTEPPER >::create_traction_elements(), FSICollapsibleChannelProblem< ELEMENT >::create_traction_elements(), SheetGlueProblem< ELEMENT >::create_traction_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_volume_constraint_elements(), doc_boundary_coordinates(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::get_element_boundary_information(), oomph::NavierStokesSchurComplementPreconditioner::get_pressure_advection_diffusion_matrix(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_free_surface_elements(), oomph::jh_mesh< ELEMENT >::make_shear_elements(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_traction_elements(), oomph::jh_mesh< ELEMENT >::make_traction_elements(), oomph::streamfunction_mesh::make_traction_elements(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::PMLQuadMeshBase< ELEMENT >::pml_locate_zeta(), QFaceTestProblem< ELEMENT >::QFaceTestProblem(), run_navier_stokes_outflow(), oomph::TetMeshBase::setup_boundary_coordinates(), oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), oomph::TetMeshBase::snap_to_quadratic_surface(), oomph::TetMeshBase::split_elements_in_corners(), TFaceTestProblem< ELEMENT >::TFaceTestProblem(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), TriangleFaceTestProblem< ELEMENT >::TriangleFaceTestProblem(), and oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::validate().
Return pointer to node n on boundary b.
References b, Boundary_node_pt, and n.
Referenced by FSICollapsibleChannelProblem< ELEMENT >::actions_after_adapt(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::actions_before_implicit_timestep(), oomph::StreamfunctionProblem::actions_before_solve(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), oomph::SolidMesh::boundary_node_pt(), build_face_mesh(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), RectangularWomersleyImpedanceTube< ELEMENT >::build_mesh_and_apply_boundary_conditions(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CapProblem< ELEMENT >::CapProblem(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::change_boundaries(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::complete_build(), oomph::TwoDimensionalPMLHelper::create_bottom_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_right_pml_mesh(), MeltSpinningProblem< ELEMENT >::deform_free_surface(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::deform_free_surface(), InterfaceProblem< ELEMENT, TIMESTEPPER >::deform_free_surface(), FluxPoissonProblem< ELEMENT >::FluxPoissonProblem(), FSIRingProblem::FSIRingProblem(), merge_meshes(), OneDPoissonProblem< ELEMENT >::OneDPoissonProblem(), OrrSommerfeldProblem< ELEMENT >::OrrSommerfeldProblem(), oomph::PeriodicOrbitTemporalMesh< ELEMENT >::PeriodicOrbitTemporalMesh(), oomph::StreamfunctionProblem::pin_boundaries(), oomph::PMLCornerQuadMesh< ELEMENT >::PMLCornerQuadMesh(), oomph::PMLQuadMesh< ELEMENT >::PMLQuadMesh(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), QuarterCircleDrivenCavityProblem< ELEMENT >::QuarterCircleDrivenCavityProblem(), QuarterCircleDrivenCavityProblem2< ELEMENT >::QuarterCircleDrivenCavityProblem2(), oomph::QuarterPipeMesh< ELEMENT >::QuarterPipeMesh(), oomph::RefineableQuadMeshWithMovingCylinder< ELEMENT >::RefineableQuadMeshWithMovingCylinder(), remove_boundary_nodes(), run_navier_stokes_outflow(), run_prescribed_flux(), run_prescribed_pressure_gradient(), oomph::TetMeshBase::setup_boundary_coordinates(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::UnstructuredTwoDMeshGeometryBase::snap_nodes_onto_geometric_objects(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
Return pointer to node n on boundary b.
References b, Boundary_node_pt, and n.
|
inline |
Constuct a Mesh of FACE_ELEMENTs along the b-th boundary of the mesh (which contains elements of type BULK_ELEMENT)
References add_element_pt(), add_node_pt(), b, boundary_element_pt(), boundary_node_pt(), communicator_pt(), e(), face_index_at_boundary(), is_mesh_distributed(), n, nboundary_element(), and nboundary_node().
void oomph::Mesh::calculate_predictions | ( | ) |
Calculate predictions for all Data and positions associated with the mesh, usually used in adaptive time-stepping.
Calculate predictions for all Data and positions associated with the mesh. This is usually only used for adaptive time-stepping when the comparison between a predicted value and the actual value is usually used to determine the change in step size. Again the loop is over all data in the mesh and individual timestepper functions for each data value are called.
References e(), element_pt(), j, n, nelement(), nnode(), and Node_pt.
Referenced by oomph::Problem::calculate_predictions().
Check for repeated nodes within a given spatial tolerance. Return (0/1) for (pass/fail).
References oomph::SarahBL::epsilon, i, oomph::Data::is_a_copy(), j, k, oomph::Node::ndim(), nnode(), node_pt(), oomph::oomph_info, Eigen::bfloat16_impl::pow(), sqrt(), and oomph::Node::x().
Referenced by self_test().
|
inline |
Check for inverted elements and report outcome in boolean variable. This visits all elements at their integration points and checks if the Jacobian of the mapping between local and global coordinates is positive – using the same test that would be carried out (but only in PARANOID mode) during the assembly of the elements' Jacobian matrices.
References check_inverted_elements().
void oomph::Mesh::check_inverted_elements | ( | bool & | mesh_has_inverted_elements, |
std::ofstream & | inverted_element_file | ||
) |
Check for inverted elements and report outcome in boolean variable. This visits all elements at their integration points and checks if the Jacobian of the mapping between local and global coordinates is positive – using the same test that would be carried out (but only in PARANOID mode) during the assembly of the elements' Jacobian matrices. Inverted elements are output in inverted_element_file (if the stream is open).
References oomph::FiniteElement::check_jacobian(), oomph::FiniteElement::dim(), oomph::FiniteElement::dshape_eulerian(), e(), calibrate::error, finite_element_pt(), i, oomph::FiniteElement::integral_pt(), J, oomph::Integral::knot(), nelement(), oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_dimension(), oomph::Integral::nweight(), oomph::FiniteElement::output(), s, and oomph::FiniteElement::Suppress_output_while_checking_for_inverted_elements.
Referenced by check_inverted_elements(), demo_smoothing_with_linear_elasticity(), demo_smoothing_with_nonlinear_elasticity(), demo_smoothing_with_poisson(), and oomph::NonLinearElasticitySmoothMesh< ELEMENT >::doc_solution().
|
inline |
Read-only access fct to communicator (Null if mesh is not distributed, i.e. if we don't have mpi).
Referenced by build_face_mesh(), oomph::MeshAsGeomObject::build_it(), oomph::Z2ErrorEstimator::doc_flux(), oomph::Z2ErrorEstimator::get_element_errors(), and is_mesh_distributed().
|
inlinevirtual |
Plot error when compared against a given time-dependent exact solution. Also returns the norm of the error and that of the exact solution
References oomph::FiniteElement::compute_error(), e(), Element_pt, calibrate::error, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Plot error when compared against a given time-dependent exact solution. Also returns the norm of the error and that of the exact solution
References oomph::FiniteElement::compute_error(), e(), Element_pt, calibrate::error, i, oomph::Vector< _Tp >::initialise(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Returns the norm of the error and that of the exact solution.
References oomph::FiniteElement::compute_error(), e(), Element_pt, calibrate::error, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Returns the norm of the error and that of the exact solution. Version with vectors of norms and errors so that different variables' norms and errors can be returned individually
References oomph::FiniteElement::compute_error(), e(), Element_pt, calibrate::error, i, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Plot error when compared against a given time-depdendent exact solution. Also returns the norm of the error and that of the exact solution
References oomph::FiniteElement::compute_error(), e(), Element_pt, calibrate::error, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Plot error when compared against a given time-depdendent exact solution. Also returns the norm of the error and that of the exact solution. Version with vectors of norms and errors so that different variables' norms and errors can be returned individually
References oomph::FiniteElement::compute_error(), e(), Element_pt, calibrate::error, i, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Plot error when compared against a given exact solution. Also returns the norm of the error and that of the exact solution
References oomph::FiniteElement::compute_error(), e(), Element_pt, calibrate::error, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Plot error when compared against a given time-depdendent exact solution. Also returns the norm of the error and that of the exact solution. Version with vectors of norms and errors so that different variables' norms and errors can be returned individually
References oomph::FiniteElement::compute_error(), e(), Element_pt, calibrate::error, i, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Compute norm of solution by summing contributions of compute_norm(...) for all constituent elements in the mesh. What that norm means depends on what's defined in the element's function; may need to take the square root afterwards if the elements compute the square of the L2 norm, say.
Reimplemented in ElasticQuadFromTriangleMesh< ELEMENT >.
References oomph::GeneralisedElement::compute_norm(), e(), and Element_pt.
Compute norm of solution by summing contributions of compute_norm(...) for all constituent elements in the mesh. What that norm means depends on what's defined in the element's function; may need to take the square root afterwards if the elements compute the square of the L2 norm, say.
References oomph::GeneralisedElement::compute_norm(), e(), Element_pt, i, and oomph::Vector< _Tp >::initialise().
|
protected |
A function that upgrades an ordinary node to a boundary node. All pointers to the node from the mesh's elements are found. and replaced by pointers to the new boundary node. If the node is present in the mesh's list of nodes, that pointer is also replaced. Finally, the pointer argument node_pt addresses the new node on return from the function. We shouldn't ever really use this, but it does make life that bit easier for the lazy mesh writer.
References convert_to_boundary_node(), e(), Element_pt, finite_element_pt(), nelement(), and node_pt().
|
protected |
A function that upgrades an ordinary node to a boundary node We shouldn't ever really use this, but it does make life that bit easier for the lazy mesh writer. The pointer to the node is replaced by a pointer to the new boundary node in all element look-up schemes and in the mesh's Node_pt vector. The new node is also addressed by node_pt on return from the function.
As convert_to_boundary_node but with a vector of pre-"dynamic cast"ed pointers passed in. If this function is being called often then creating this vector and passing it in explicitly each time can give a large speed up.
References oomph::FiniteElement::construct_boundary_node(), oomph::Node::copy(), oomph::SolidNode::copy(), e(), Element_pt, finite_element_pt(), oomph::FiniteElement::get_node_number(), nelement(), oomph::FiniteElement::node_pt(), Node_pt, node_pt(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::Data::time_stepper_pt().
Referenced by oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), convert_to_boundary_node(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), oomph::RectangleWithHoleMesh< ELEMENT >::RectangleWithHoleMesh(), oomph::SimpleRectangularTriMesh< ELEMENT >::SimpleRectangularTriMesh(), and oomph::TubeMesh< ELEMENT >::TubeMesh().
|
inline |
Replace existing boundary node lookup schemes with new schemes created using the boundary data stored in the nodes.
References Boundary_node_pt, oomph::Node::get_boundaries_pt(), oomph::Node::is_on_boundary(), nboundary(), nnode(), node_pt(), and set_nboundary().
void oomph::Mesh::delete_all_external_storage | ( | ) |
Wipe the storage for all externally-based elements.
Wipe the storage for all externally-based elements and delete halos.
References e(), Eigen::placeholders::end, oomph::Node::hanging_pt(), i, oomph::Node::is_hanging(), is_mesh_distributed(), j, oomph::SolidNode::lagrangian_position(), m, oomph::HangInfo::master_node_pt(), nboundary(), oomph::Node::ndim(), oomph::SolidNode::nlagrangian(), oomph::HangInfo::nmaster(), nnode(), Node_pt, node_pt(), oomph::AlgebraicNode::node_update(), oomph::Data::ntstorage(), oomph::Data::nvalue(), oomph::Node::position(), remove_boundary_node(), oomph::Node::set_nonhanging(), oomph::Data::set_value(), plotPSD::t, oomph::Node::value(), oomph::Node::x(), and oomph::SolidNode::xi().
Referenced by oomph::TreeBasedRefineableMeshBase::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::Problem::delete_all_external_storage(), oomph::TreeBasedRefineableMeshBase::p_adapt(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::Multi_domain_functions::setup_multi_domain_interactions(), and ~Mesh().
|
protected |
Function to describe the dofs of the Mesh. The ostream specifies the output stream to which the description is written; the string stores the currently assembled output that is ultimately written to the output stream by Data::describe_dofs(...); it is typically built up incrementally as we descend through the call hierarchy of this function when called from Problem::describe_dofs(...)
References Element_pt, i, plotDoE::name, Node_pt, out(), and oomph::Global_string_for_annotation::string().
Referenced by oomph::Problem::describe_dofs().
|
protected |
Function to describe the local dofs of the elements. The ostream specifies the output stream to which the description is written; the string stores the currently assembled output that is ultimately written to the output stream by Data::describe_dofs(...); it is typically built up incrementally as we descend through the call hierarchy of this function when called from Problem::describe_dofs(...)
References Element_pt, i, plotDoE::name, out(), and oomph::Global_string_for_annotation::string().
Referenced by oomph::Problem::describe_dofs().
|
inline |
Output boundary coordinates on boundary b – template argument specifies the bulk element type (needed to create FaceElement of appropriate type on mesh boundary).
References b, Boundary_coordinate_exists, boundary_element_pt(), e(), face_index_at_boundary(), finite_element_pt(), oomph::FiniteElement::get_s_plot(), i, oomph::FaceElement::interpolated_x(), oomph::FiniteElement::interpolated_zeta(), nboundary_element(), oomph::Node::ndim(), nelement(), oomph::FiniteElement::node_pt(), oomph::FiniteElement::nplot_points(), oomph::oomph_info, s, oomph::FaceElement::set_boundary_number_in_bulk_mesh(), oomph::FiniteElement::tecplot_zone_string(), oomph::FiniteElement::write_tecplot_zone_footer(), plotDoE::x, and Eigen::zeta().
Does the double pointer correspond to any mesh data.
Return true if the pointer corresponds to any data stored in the mesh and false if not
References oomph::Data::does_pointer_correspond_to_value(), e(), element_pt(), oomph::GeneralisedElement::internal_data_pt(), j, n, nelement(), oomph::GeneralisedElement::ninternal_data(), nnode(), and Node_pt.
Referenced by oomph::Problem::does_pointer_correspond_to_problem_data().
|
inline |
Dump the data in the mesh into a file for restart.
References dump(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::Global_string_for_annotation::string().
|
virtual |
Dump the data in the mesh into a file for restart.
Dump function for the mesh class. Loop over all nodes and elements and dump them
Reimplemented in oomph::PerturbedSpineMesh.
References oomph::Data::dump(), e(), element_pt(), get_node_reordering(), i, oomph::GeneralisedElement::internal_data_pt(), nelement(), oomph::GeneralisedElement::ninternal_data(), and nnode().
Referenced by dump(), oomph::Problem::dump(), oomph::SpineMesh::dump(), and oomph::PerturbedSpineMesh::dump().
|
inline |
Return reference to the Vector of elements.
References Element_pt.
|
inline |
Return reference to the Vector of elements.
References Element_pt.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt(), add_element_pt(), oomph::PeriodicOrbitTemporalMesh< ELEMENT >::assemble_residuals(), oomph::PeriodicOrbitTemporalMesh< ELEMENT >::assemble_residuals_and_jacobian(), assign_initial_values_impulsive(), calculate_predictions(), does_pointer_correspond_to_mesh_data(), dump(), oomph::ElasticRefineableQuarterPipeMesh< ELEMENT >::ElasticRefineableQuarterPipeMesh(), get_node_reordering(), oomph::TreeBasedRefineableMeshBase::get_refinement_levels(), oomph::DGMesh::limit_slopes(), oomph::MacroElementNodeUpdateChannelWithLeafletMesh< ELEMENT >::MacroElementNodeUpdateChannelWithLeafletMesh(), oomph::MacroElementNodeUpdateCollapsibleChannelMesh< ELEMENT >::MacroElementNodeUpdateCollapsibleChannelMesh(), oomph::MacroElementNodeUpdateRefineableFishMesh< ELEMENT >::MacroElementNodeUpdateRefineableFishMesh(), ndof_types(), node_update(), oomph::PeriodicOrbitTemporalMesh< ELEMENT >::orbit_output(), output_fct_paraview(), output_paraview(), oomph::TreeBasedRefineableMeshBase::p_adapt(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::TreeBasedRefineableMeshBase::p_refine_selected_elements(), oomph::TreeBasedRefineableMeshBase::p_refine_uniformly(), oomph::TreeBasedRefineableMeshBase::p_unrefine_uniformly(), oomph::PMLQuadMeshBase< ELEMENT >::pml_locate_zeta(), oomph::PMLCornerQuadMesh< ELEMENT >::PMLCornerQuadMesh(), oomph::PMLQuadMesh< ELEMENT >::PMLQuadMesh(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterPipeMesh< ELEMENT >::QuarterPipeMesh(), read(), oomph::TreeBasedRefineableMeshBase::refine_base_mesh(), oomph::TreeBasedRefineableMeshBase::refine_selected_elements(), oomph::TreeBasedRefineableMeshBase::refine_uniformly(), oomph::RefineableEighthSphereMesh< ELEMENT >::RefineableEighthSphereMesh(), oomph::RefineableFullCircleMesh< ELEMENT >::RefineableFullCircleMesh(), oomph::RefineableQuarterTubeMesh< ELEMENT >::RefineableQuarterTubeMesh(), oomph::RefineableRectangleWithHoleAndAnnularRegionMesh< ELEMENT >::RefineableRectangleWithHoleAndAnnularRegionMesh(), oomph::RefineableRectangleWithHoleMesh< ELEMENT >::RefineableRectangleWithHoleMesh(), oomph::RefineableTubeMesh< ELEMENT >::RefineableTubeMesh(), oomph::RefineableTwoDAnnularMesh< ELEMENT >::RefineableTwoDAnnularMesh(), set_consistent_pinned_values_for_continuation(), set_elemental_internal_time_stepper(), oomph::AlgebraicFishMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::setup_algebraic_node_update(), oomph::RefineableLineMesh< ELEMENT >::setup_binary_tree_forest(), oomph::DGMesh::setup_face_neighbour_info(), oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >::setup_macro_element_node_update(), oomph::MacroElementNodeUpdateRefineableQuarterTubeMesh< ELEMENT >::setup_macro_element_node_update(), oomph::RefineableBrickMesh< ELEMENT >::setup_octree_forest(), oomph::RefineableQuadMesh< ELEMENT >::setup_quadtree_forest(), and shift_time_values().
|
inline |
Return pointer to element e.
References e(), and Element_pt.
Referenced by oomph::IMRByBDF::actions_after_timestep(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), oomph::PeriodicOrbitAssemblyHandler< NNODE_1D >::adapt_temporal_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_outlet_bulk_elements(), oomph::NavierStokesSchurComplementPreconditioner::assemble_inv_press_and_veloc_mass_matrix_diagonal(), oomph::PressureBasedSolidLSCPreconditioner::assemble_mass_matrix_diagonal(), oomph::Problem::assign_eqn_numbers(), oomph::Multi_domain_functions::aux_setup_multi_domain_interaction(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::AxisymFreeSurfaceNozzleAdvDiffRobinProblem(), oomph::SolidICProblem::backup_original_state(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::MeshAsGeomObject::build_it(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CapProblem< ELEMENT >::CapProblem(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::complete_build(), ContactProblem< ELEMENT >::complete_problem_setup(), AdvectionProblem::compute_error(), TwoDDGProblem< ELEMENT >::compute_error(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::compute_integrated_concentrations(), InterfaceProblem< ELEMENT, TIMESTEPPER >::compute_total_mass(), AirwayReopeningProblem< ELEMENT >::connect_walls(), ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::ConvectionProblem(), oomph::Problem::copy(), oomph::TwoDimensionalPMLHelper::create_bottom_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_right_pml_mesh(), RefineableRotatingCylinderProblem< ELEMENT >::create_free_surface_elements(), oomph::TwoDimensionalPMLHelper::create_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_right_pml_mesh(), SheetGlueProblem< ELEMENT >::create_traction_elements(), ContactProblem< ELEMENT >::delete_contact_elements(), ContactProblem< ELEMENT >::delete_displ_imposition_elements(), FourierDecomposedHelmholtzProblem< ELEMENT >::delete_face_elements(), HelmholtzPointSourceProblem< ELEMENT >::delete_face_elements(), ScatteringProblem< ELEMENT >::delete_face_elements(), CoatedDiskProblem< ELASTICITY_ELEMENT, HELMHOLTZ_ELEMENT >::delete_face_elements(), CoatedSphereProblem< ELASTICITY_ELEMENT, HELMHOLTZ_ELEMENT >::delete_face_elements(), PMLFourierDecomposedHelmholtzProblem< ELEMENT >::delete_face_elements(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::delete_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::delete_flux_elements(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::delete_flux_elements(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::delete_flux_elements(), FluxPoissonMGProblem< ELEMENT, MESH >::delete_flux_elements(), TwoMeshFluxSteadyAxisymAdvectionDiffusionProblem< ELEMENT >::delete_flux_elements(), RefineableRotatingCylinderProblem< ELEMENT >::delete_free_surface_elements(), CollapsibleChannelProblem< ELEMENT >::delete_traction_elements(), FSICollapsibleChannelProblem< ELEMENT >::delete_traction_elements(), RefineableRotatingCylinderProblem< ELEMENT >::delete_volume_constraint_elements(), oomph::Problem::disable_mass_matrix_reuse(), oomph::SolidHelpers::doc_2D_principal_stress(), oomph::Z2ErrorEstimator::doc_flux(), oomph::FSI_functions::doc_fsi(), OscRingNStProblem< ELEMENT >::doc_solution(), OscRingNStProblem< ELEMENT >::doc_solution_historic(), ProblemParameters::edge_sign_setup(), TestProblem::edge_sign_setup(), Global_Physical_Variables::edge_sign_setup(), ElasticInterfaceProblem< ELEMENT, TIMESTEPPER >::ElasticInterfaceProblem(), ElasticRefineableQuarterCircleSectorMesh< ELEMENT >::ElasticRefineableQuarterCircleSectorMesh(), PseudoElasticCollapsibleChannelProblem< FLUID_ELEMENT, SOLID_ELEMENT >::empty_mesh(), oomph::Problem::enable_mass_matrix_reuse(), oomph::NetFluxControlElement< ELEMENT >::fill_in_contribution_to_residuals(), oomph::NetFluxControlElement< ELEMENT >::fill_in_generic_residual_contribution_flux_control(), FluxPoissonProblem< ELEMENT >::FluxPoissonProblem(), oomph::FoldHandler::FoldHandler(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), FSIRingProblem::FSIRingProblem(), oomph::Multi_domain_functions::get_dim_helper(), oomph::Problem::get_dofs(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::ImmersedRigidBodyElement::get_force_and_torque(), oomph::Problem::get_hessian_vector_products(), oomph::Problem::get_inverse_mass_matrix_times_residuals(), oomph::Problem::get_jacobian(), oomph::NavierStokesSchurComplementPreconditioner::get_pressure_advection_diffusion_matrix(), oomph::Problem::get_residuals(), SolidProblem< ELEMENT_TYPE >::getMassMomentumEnergy(), oomph::ODEProblem::global_temporal_error_norm(), oomph::HopfHandler::HopfHandler(), oomph::ImposeFluxForWomersleyElement< DIM >::ImposeFluxForWomersleyElement(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::interface_min_max(), InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::l2_norm_of_height(), oomph::HelmholtzMGPreconditioner< DIM >::maximum_edge_width(), MeltSpinningProblem< ELEMENT >::MeltSpinningProblem(), oomph::ODEProblem::my_set_initial_condition(), oomph::NetFluxControlElement< ELEMENT >::NetFluxControlElement(), oomph::ImmersedRigidBodyElement::node_update_adjacent_fluid_elements(), OneDPoissonProblem< ELEMENT >::OneDPoissonProblem(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::PeriodicOrbitAssemblyHandler< NNODE_1D >::orbit_output(), OrrSommerfeldProblem< ELEMENT >::OrrSommerfeldProblem(), oomph::METIS::partition_mesh(), PerturbedStateProblem< BASE_ELEMENT, PERTURBED_ELEMENT >::PerturbedStateProblem(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_all(), oomph::NavierStokesSchurComplementPreconditioner::pin_all_non_pressure_dofs(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_dofs_of_field(), oomph::PitchForkHandler::PitchForkHandler(), oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >::precompute_aux_integrals(), print_elemental_jacobian(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), QuarterCircleDrivenCavityProblem< ELEMENT >::QuarterCircleDrivenCavityProblem(), QuarterCircleDrivenCavityProblem2< ELEMENT >::QuarterCircleDrivenCavityProblem2(), oomph::Problem::read(), oomph::VorticitySmoother< ELEMENT >::recover_vorticity(), RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem(), oomph::HSL_MA42::reorder_elements(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines(), oomph::SolidICProblem::reset_original_state(), oomph::NavierStokesSchurComplementPreconditioner::reset_pin_status(), oomph::AugmentedBlockFoldLinearSolver::resolve(), oomph::AugmentedBlockPitchForkLinearSolver::resolve(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::restore_positions(), HeatedCircularPenetratorElement::resulting_force(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_coordinate_for_projection(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_current_field_for_projection(), oomph::Problem::set_dofs(), oomph::ImmersedRigidBodyElement::set_drag_mesh(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_lagrangian_coordinate_for_projection(), oomph::SolidICProblem::set_newmark_initial_condition_consistently(), oomph::Problem::set_pinned_values_to_zero(), oomph::BiharmonicProblem< DIM >::set_source_function(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_time_level_for_projection(), oomph::Problem::setup_element_count_per_dof(), oomph::VorticitySmoother< ELEMENT >::setup_patches(), oomph::Z2ErrorEstimator::setup_patches(), oomph::SolidICProblem::setup_problem(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), oomph::ODEProblem::solution(), oomph::AugmentedBlockFoldLinearSolver::solve(), oomph::AugmentedBlockPitchForkLinearSolver::solve(), oomph::BlockHopfLinearSolver::solve(), oomph::HSL_MA42::solve(), oomph::HSL_MA42::solve_for_one_dof(), oomph::BlockHopfLinearSolver::solve_for_two_rhs(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_lists(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_maps(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_two_arrays(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_two_vectors(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_vectors_of_pairs(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::store_positions(), oomph::StreamfunctionProblem::StreamfunctionProblem(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::SurfactantProblem(), ContactProblem< ELEMENT >::switch_to_force_control(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), oomph::ImposeFluxForWomersleyElement< DIM >::total_volume_flux(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::total_volume_flux_into_downstream_tube(), oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >::total_volume_flux_into_impedance_tube(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem(), TwoDDGProblem< ELEMENT >::TwoDDGProblem(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::TwoMeshFluxAdvectionDiffusionProblem(), TwoMeshFluxPoissonProblem< ELEMENT >::TwoMeshFluxPoissonProblem(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_all(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_dofs_of_field(), oomph::RefineableTetgenMesh< ELEMENT >::update_faceted_surface_using_face_mesh(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::validate(), oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >::WomersleyImpedanceTubeBase(), and oomph::WomersleyProblem< ELEMENT, DIM >::WomersleyProblem().
|
inline |
Return pointer to element e (const version)
References e(), and Element_pt.
unsigned oomph::Mesh::elemental_dimension | ( | ) | const |
Return number of elemental dimension in mesh.
Get the number of elemental dimension in the mesh from the first element of the mesh. If MPI is on then also do some consistency checks between processors. Careful: Involves MPI Broadcasts and must therefore be called on all processors!
References oomph::FiniteElement::dim(), finite_element_pt(), i, nelement(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and p.
Referenced by oomph::LagrangeEnforcedFlowPreconditioner::set_meshes().
For the e-th finite element on boundary b, return int to indicate the face_index of the face adjacent to the boundary. This is consistent with input required during the generation of FaceElements.
References b, e(), Face_index_at_boundary, Lookup_for_elements_next_boundary_is_setup, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), build_face_mesh(), CapProblem< ELEMENT >::CapProblem(), ContactProblem< ELEMENT >::create_contact_heat_elements_on_boulder(), ScatteringProblem< ELEMENT >::create_flux_elements(), PMLProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::create_flux_elements(), LinearWaveProblem< ELEMENT, TIMESTEPPER >::create_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxSteadyAxisymAdvectionDiffusionProblem< ELEMENT >::create_flux_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_free_surface_elements(), ContactProblem< ELEMENT >::create_imposed_heat_flux_elements_on_boulder(), FSICollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements(), CollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements(), HelmholtzPointSourceProblem< ELEMENT >::create_outer_bc_elements(), ScatteringProblem< ELEMENT >::create_outer_bc_elements(), TiltedCavityProblem< ELEMENT >::create_parall_outflow_lagrange_elements(), PMLProblem< ELEMENT >::create_power_elements(), CollapsibleChannelProblem< ELEMENT >::create_traction_elements(), RayleighTractionProblem< ELEMENT, TIMESTEPPER >::create_traction_elements(), FSICollapsibleChannelProblem< ELEMENT >::create_traction_elements(), SheetGlueProblem< ELEMENT >::create_traction_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_volume_constraint_elements(), doc_boundary_coordinates(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::get_element_boundary_information(), oomph::NavierStokesSchurComplementPreconditioner::get_pressure_advection_diffusion_matrix(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_free_surface_elements(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_traction_elements(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), QFaceTestProblem< ELEMENT >::QFaceTestProblem(), run_navier_stokes_outflow(), oomph::TetMeshBase::setup_boundary_coordinates(), oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates(), oomph::TetMeshBase::split_elements_in_corners(), TFaceTestProblem< ELEMENT >::TFaceTestProblem(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), TriangleFaceTestProblem< ELEMENT >::TriangleFaceTestProblem(), and oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::validate().
|
inline |
Upcast (downcast?) to FiniteElement (needed to access FiniteElement member functions).
References e(), Element_pt, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::TetMeshBase::assess_mesh_quality(), oomph::Multi_domain_functions::aux_setup_multi_domain_interaction(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), oomph::QuadFromTriangleMesh< ELEMENT >::build_from_scaffold(), oomph::MeshAsGeomObject::build_it(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), check_inverted_elements(), oomph::TriangleScaffoldMesh::check_mesh_integrity(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), oomph::RefineableTetMeshBase::compute_volume_target(), convert_to_boundary_node(), oomph::GmshTetScaffoldMesh::create_mesh_from_msh_file(), doc_boundary_coordinates(), oomph::Z2ErrorEstimator::doc_flux(), oomph::FSI_functions::doc_fsi(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::doc_solution(), oomph::DummyErrorEstimator::DummyErrorEstimator(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), oomph::ElasticRefineableQuarterPipeMesh< ELEMENT >::ElasticRefineableQuarterPipeMesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), elemental_dimension(), GlobalParameters::find_node_on_centerline(), FlatPlateMesh< ELEMENT >::FlatPlateMesh(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::FpPressureAdvectionDiffusionProblem(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), FSIRingProblem::FSIRingProblem(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), oomph::GeompackQuadScaffoldMesh::GeompackQuadScaffoldMesh(), oomph::DummyErrorEstimator::get_element_errors(), NodeReordering::get_node_reordering(), oomph::NavierStokesSchurComplementPreconditioner::get_pressure_advection_diffusion_matrix(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::interface_min_max(), max_and_min_element_size(), oomph::MyProblem::min_element_size(), oomph::MyProblem::my_set_initial_condition(), oomph::NetFluxControlElement< ELEMENT >::NetFluxControlElement(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::nfree_surface_spines(), nodal_dimension(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), oomph::MyProblem::output_exact_solution(), oomph::MyProblem::output_solution(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_all(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::pin_all_non_pressure_dofs(), oomph::MGSolver< DIM >::plot(), oomph::PMLQuadMeshBase< ELEMENT >::pml_locate_zeta(), oomph::PMLCornerQuadMesh< ELEMENT >::PMLCornerQuadMesh(), oomph::PMLQuadMesh< ELEMENT >::PMLQuadMesh(), print_connectivity_matrix(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), oomph::RectangleWithHoleMesh< ELEMENT >::RectangleWithHoleMesh(), oomph::TreeBasedRefineableMeshBase::refine_as_in_reference_mesh(), oomph::RefineableEighthSphereMesh< ELEMENT >::RefineableEighthSphereMesh(), oomph::RefineableFullCircleMesh< ELEMENT >::RefineableFullCircleMesh(), oomph::RefineableQuarterPipeMesh< ELEMENT >::RefineableQuarterPipeMesh(), oomph::RefineableQuarterTubeMesh< ELEMENT >::RefineableQuarterTubeMesh(), oomph::RefineableTubeMesh< ELEMENT >::RefineableTubeMesh(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::reset_pin_status(), HeatedCircularPenetratorElement::set_contact_element_mesh_pt(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::set_external_data_from_navier_stokes_outflow_mesh(), oomph::MGSolver< DIM >::set_self_test_vector(), oomph::MyProblem::set_up_impulsive_initial_condition(), oomph::AlgebraicFishMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::setup_algebraic_node_update(), oomph::BrickMeshBase::setup_boundary_element_info(), oomph::LineMeshBase::setup_boundary_element_info(), oomph::QuadMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::setup_boundary_element_info(), oomph::TriangleMeshBase::setup_boundary_element_info(), oomph::MGSolver< DIM >::setup_interpolation_matrices(), oomph::HelmholtzMGPreconditioner< DIM >::setup_interpolation_matrices(), ShellMesh< ELEMENT >::ShellMesh(), oomph::SimpleRectangularTriMesh< ELEMENT >::SimpleRectangularTriMesh(), SimpleSpineMesh< ELEMENT >::SimpleSpineMesh(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::TetMeshBase::split_elements_in_corners(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::SurfactantProblem(), oomph::TetgenScaffoldMesh::TetgenScaffoldMesh(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), total_size(), TriangleFaceTestProblem< ELEMENT >::TriangleFaceTestProblem(), oomph::TriangleScaffoldMesh::TriangleScaffoldMesh(), oomph::TubeMesh< ELEMENT >::TubeMesh(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem(), oomph::RefineableTetgenMesh< ELEMENT >::update_faceted_surface_using_face_mesh(), and oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh().
|
inline |
Flush storage for elements and nodes by emptying the vectors that store the pointers to them. This is useful if a particular mesh is only built to generate a small part of a bigger mesh. Once the elements and nodes have been created, they are typically copied into the new mesh and the auxiliary mesh can be deleted. However, if we simply call the destructor of the auxiliary mesh, it will also wipe out the nodes and elements, because it still "thinks" it's in charge of these...
References flush_element_storage(), and flush_node_storage().
Referenced by ContactProblem< ELEMENT >::actions_before_adapt(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), ContactProblem< ELEMENT >::delete_contact_elements(), ContactProblem< ELEMENT >::delete_displ_imposition_elements(), FourierDecomposedHelmholtzProblem< ELEMENT >::delete_face_elements(), HelmholtzPointSourceProblem< ELEMENT >::delete_face_elements(), ScatteringProblem< ELEMENT >::delete_face_elements(), CoatedDiskProblem< ELASTICITY_ELEMENT, HELMHOLTZ_ELEMENT >::delete_face_elements(), CoatedSphereProblem< ELASTICITY_ELEMENT, HELMHOLTZ_ELEMENT >::delete_face_elements(), PMLFourierDecomposedHelmholtzProblem< ELEMENT >::delete_face_elements(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::delete_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::delete_flux_elements(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::delete_flux_elements(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::delete_flux_elements(), FluxPoissonMGProblem< ELEMENT, MESH >::delete_flux_elements(), TwoMeshFluxSteadyAxisymAdvectionDiffusionProblem< ELEMENT >::delete_flux_elements(), RefineableRotatingCylinderProblem< ELEMENT >::delete_free_surface_elements(), CollapsibleChannelProblem< ELEMENT >::delete_traction_elements(), FSICollapsibleChannelProblem< ELEMENT >::delete_traction_elements(), RefineableRotatingCylinderProblem< ELEMENT >::delete_volume_constraint_elements(), PseudoElasticCollapsibleChannelProblem< FLUID_ELEMENT, SOLID_ELEMENT >::empty_mesh(), ElasticRefineableQuarterCircleSectorMesh< ELEMENT >::remake_traction_element_mesh(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), and oomph::Problem::~Problem().
|
inline |
Flush storage for elements (only) by emptying the vectors that store the pointers to them. This is useful if a particular mesh is only built to generate a small part of a bigger mesh. Once the elements and nodes have been created, they are typically copied into the new mesh and the auxiliary mesh can be deleted. However, if we simply call the destructor of the auxiliary mesh, it will also wipe out the nodes and elements, because it still "thinks" it's in charge of these...
References Element_pt.
Referenced by flush_element_and_node_storage().
|
inline |
Flush storage for nodes (only) by emptying the vectors that store the pointers to them.
References Node_pt.
Referenced by flush_element_and_node_storage(), and InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::~InclinedPlaneProblem().
|
virtual |
Get a reordering of the nodes in the order in which they appear in elements – can be overloaded for more efficient re-ordering
Get a vector of the nodes in the order in which they are encountered when stepping through the elements (similar to reorder_nodes() but without changing the mesh's node vector).
References e(), element_pt(), i, j, nelement(), oomph::FiniteElement::nnode(), nnode(), oomph::NodeOrdering::node_global_position_comparison(), oomph::FiniteElement::node_pt(), node_pt(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::Global_string_for_annotation::string().
Referenced by dump(), and reorder_nodes().
|
inline |
Find a node not on any boundary in mesh_pt (useful for pinning a single node in a purely Neumann problem so that it is fully determined).
References nnode(), node_pt(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inline |
Boolean to indicate if Mesh has been distributed.
References communicator_pt().
Referenced by oomph::TreeBasedRefineableMeshBase::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), build_face_mesh(), oomph::MeshAsGeomObject::build_it(), delete_all_external_storage(), oomph::DummyErrorEstimator::DummyErrorEstimator(), oomph::Problem::dump(), oomph::Z2ErrorEstimator::get_element_errors(), ndof_types(), oomph::TreeBasedRefineableMeshBase::p_adapt(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::TreeBasedRefineableMeshBase::p_refine_selected_elements(), oomph::Problem::read(), oomph::TreeBasedRefineableMeshBase::refine_base_mesh(), oomph::TreeBasedRefineableMeshBase::refine_selected_elements(), and oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates().
Determine max and min area for all FiniteElements in the mesh (non-FiniteElements are ignored)
References e(), finite_element_pt(), max, min, nelement(), and size.
Merge meshes. Note: This simply merges the meshes' elements and nodes (ignoring duplicates; no boundary information etc. is created).
References Boundary_node_pt, boundary_node_pt(), e(), Element_pt, Lookup_for_elements_next_boundary_is_setup, n, Node_pt, and OOMPH_EXCEPTION_LOCATION.
Referenced by Mesh(), oomph::Problem::rebuild_global_mesh(), and oomph::SolidMesh::SolidMesh().
|
inline |
Return number of boundaries.
References Boundary_node_pt.
Referenced by oomph::StreamfunctionProblem::actions_before_solve(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), FlowAroundCylinderProblem< ELEMENT >::add_eigenproblem(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), oomph::QuadFromTriangleMesh< ELEMENT >::build_from_scaffold(), oomph::GmshTetMesh< ELEMENT >::build_it(), RefineableDrivenCavityProblem< ELEMENT >::build_mesh(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), RectangularWomersleyImpedanceTube< ELEMENT >::build_mesh_and_apply_boundary_conditions(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CapProblem< ELEMENT >::CapProblem(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), copy_boundary_node_data_from_nodes(), oomph::TwoDimensionalPMLHelper::create_bottom_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_right_pml_mesh(), delete_all_external_storage(), FishPoissonProblem< ELEMENT >::FishPoissonProblem(), FluxPoissonProblem< ELEMENT >::FluxPoissonProblem(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::get_element_boundary_information(), oomph::NavierStokesSchurComplementPreconditioner::get_pressure_advection_diffusion_matrix(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), output_boundaries(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::StreamfunctionProblem::pin_boundaries(), prune_dead_nodes(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), QuarterCircleDrivenCavityProblem< ELEMENT >::QuarterCircleDrivenCavityProblem(), QuarterCircleDrivenCavityProblem2< ELEMENT >::QuarterCircleDrivenCavityProblem2(), oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), run_navier_stokes_outflow(), run_prescribed_flux(), run_prescribed_pressure_gradient(), oomph::BrickMeshBase::setup_boundary_element_info(), oomph::LineMeshBase::setup_boundary_element_info(), oomph::QuadMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::setup_boundary_element_info(), oomph::TriangleMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::UnstructuredTwoDMeshGeometryBase::snap_nodes_onto_geometric_objects(), oomph::SolidTetgenMesh< ELEMENT >::SolidTetgenMesh(), oomph::TetMeshBase::split_elements_in_corners(), oomph::TetgenMesh< ELEMENT >::TetgenMesh(), oomph::TriangleMesh< ELEMENT >::TriangleMesh(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem(), and oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::validate().
Return number of finite elements that are adjacent to boundary b.
References b, Boundary_element_pt, Lookup_for_elements_next_boundary_is_setup, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), build_face_mesh(), CapProblem< ELEMENT >::CapProblem(), oomph::TwoDimensionalPMLHelper::create_bottom_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_right_pml_mesh(), ContactProblem< ELEMENT >::create_contact_heat_elements_on_boulder(), ScatteringProblem< ELEMENT >::create_flux_elements(), PMLProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::create_flux_elements(), LinearWaveProblem< ELEMENT, TIMESTEPPER >::create_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), TwoMeshFluxSteadyAxisymAdvectionDiffusionProblem< ELEMENT >::create_flux_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_free_surface_elements(), ContactProblem< ELEMENT >::create_imposed_heat_flux_elements_on_boulder(), FSICollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements(), CollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements(), oomph::TwoDimensionalPMLHelper::create_left_pml_mesh(), HelmholtzPointSourceProblem< ELEMENT >::create_outer_bc_elements(), ScatteringProblem< ELEMENT >::create_outer_bc_elements(), TiltedCavityProblem< ELEMENT >::create_parall_outflow_lagrange_elements(), PMLProblem< ELEMENT >::create_power_elements(), oomph::TwoDimensionalPMLHelper::create_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_right_pml_mesh(), CollapsibleChannelProblem< ELEMENT >::create_traction_elements(), RayleighTractionProblem< ELEMENT, TIMESTEPPER >::create_traction_elements(), FSICollapsibleChannelProblem< ELEMENT >::create_traction_elements(), SheetGlueProblem< ELEMENT >::create_traction_elements(), PseudoSolidCapProblem< ELEMENT >::create_volume_constraint_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_volume_constraint_elements(), SolidFreeSurfaceRotationProblem< ELEMENT >::create_volume_constraint_elements(), doc_boundary_coordinates(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::get_element_boundary_information(), oomph::NavierStokesSchurComplementPreconditioner::get_pressure_advection_diffusion_matrix(), InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_free_surface_elements(), oomph::jh_mesh< ELEMENT >::make_shear_elements(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_traction_elements(), oomph::jh_mesh< ELEMENT >::make_traction_elements(), oomph::streamfunction_mesh::make_traction_elements(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), QFaceTestProblem< ELEMENT >::QFaceTestProblem(), run_navier_stokes_outflow(), oomph::TetMeshBase::setup_boundary_coordinates(), oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), oomph::TetMeshBase::snap_to_quadratic_surface(), oomph::TetMeshBase::split_elements_in_corners(), TFaceTestProblem< ELEMENT >::TFaceTestProblem(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), TriangleFaceTestProblem< ELEMENT >::TriangleFaceTestProblem(), and oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::validate().
Return number of nodes on a particular boundary.
References Boundary_node_pt.
Referenced by FSICollapsibleChannelProblem< ELEMENT >::actions_after_adapt(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::actions_before_implicit_timestep(), oomph::StreamfunctionProblem::actions_before_solve(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), build_face_mesh(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), RectangularWomersleyImpedanceTube< ELEMENT >::build_mesh_and_apply_boundary_conditions(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CapProblem< ELEMENT >::CapProblem(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::change_boundaries(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::complete_build(), oomph::TwoDimensionalPMLHelper::create_bottom_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_right_pml_mesh(), demo_smoothing_with_linear_elasticity(), demo_smoothing_with_poisson(), oomph::ElasticRefineableRectangularQuadMesh< ELEMENT >::ElasticRefineableRectangularQuadMesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), FluxPoissonProblem< ELEMENT >::FluxPoissonProblem(), FSIRingProblem::FSIRingProblem(), oomph::StreamfunctionProblem::pin_boundaries(), oomph::PMLCornerQuadMesh< ELEMENT >::PMLCornerQuadMesh(), oomph::PMLQuadMesh< ELEMENT >::PMLQuadMesh(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), QuarterCircleDrivenCavityProblem< ELEMENT >::QuarterCircleDrivenCavityProblem(), QuarterCircleDrivenCavityProblem2< ELEMENT >::QuarterCircleDrivenCavityProblem2(), oomph::QuarterPipeMesh< ELEMENT >::QuarterPipeMesh(), oomph::RefineableQuadMeshWithMovingCylinder< ELEMENT >::RefineableQuadMeshWithMovingCylinder(), oomph::RefineableSolidCubicMesh< ELEMENT >::RefineableSolidCubicMesh(), run_navier_stokes_outflow(), run_prescribed_flux(), run_prescribed_pressure_gradient(), oomph::TetMeshBase::setup_boundary_coordinates(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::UnstructuredTwoDMeshGeometryBase::snap_nodes_onto_geometric_objects(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
unsigned oomph::Mesh::ndof_types | ( | ) | const |
Return number of dof types in mesh.
Get the number of dof types in the mesh from the first element of the mesh. If MPI is on then also do some consistency checks between processors. Careful: Involves MPI Broadcasts and must therefore be called on all processors!
References element_pt(), i, is_mesh_distributed(), plotDoE::name, nelement(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and p.
Referenced by oomph::BlockPreconditioner< MATRIX >::ndof_types_in_mesh().
|
inline |
Return number of elements in the mesh.
References Element_pt.
Referenced by oomph::IMRByBDF::actions_after_timestep(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), oomph::TreeBasedRefineableMeshBase::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::PeriodicOrbitAssemblyHandler< NNODE_1D >::adapt_temporal_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), oomph::NavierStokesSchurComplementPreconditioner::assemble_inv_press_and_veloc_mass_matrix_diagonal(), oomph::PressureBasedSolidLSCPreconditioner::assemble_mass_matrix_diagonal(), oomph::PeriodicOrbitTemporalMesh< ELEMENT >::assemble_residuals(), oomph::PeriodicOrbitTemporalMesh< ELEMENT >::assemble_residuals_and_jacobian(), oomph::TetMeshBase::assess_mesh_quality(), oomph::Problem::assign_eqn_numbers(), assign_initial_values_impulsive(), oomph::Multi_domain_functions::aux_setup_multi_domain_interaction(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::AxisymFreeSurfaceNozzleAdvDiffRobinProblem(), oomph::SolidICProblem::backup_original_state(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), oomph::QuadFromTriangleMesh< ELEMENT >::build_from_scaffold(), oomph::MeshAsGeomObject::build_it(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), calculate_predictions(), CapProblem< ELEMENT >::CapProblem(), check_inverted_elements(), oomph::TriangleScaffoldMesh::check_mesh_integrity(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::complete_build(), ContactProblem< ELEMENT >::complete_problem_setup(), AdvectionProblem::compute_error(), TwoDDGProblem< ELEMENT >::compute_error(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::compute_integrated_concentrations(), InterfaceProblem< ELEMENT, TIMESTEPPER >::compute_total_mass(), oomph::RefineableTetMeshBase::compute_volume_target(), AirwayReopeningProblem< ELEMENT >::connect_walls(), ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::ConvectionProblem(), convert_to_boundary_node(), oomph::Problem::copy(), oomph::TwoDimensionalPMLHelper::create_bottom_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_right_pml_mesh(), PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), MovingBlockProblem< ELEMENT >::create_extruded_mesh(), RefineableRotatingCylinderProblem< ELEMENT >::create_free_surface_elements(), oomph::TwoDimensionalPMLHelper::create_left_pml_mesh(), oomph::GmshTetScaffoldMesh::create_mesh_from_msh_file(), oomph::TwoDimensionalPMLHelper::create_right_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_right_pml_mesh(), SheetGlueProblem< ELEMENT >::create_traction_elements(), ContactProblem< ELEMENT >::delete_contact_elements(), ContactProblem< ELEMENT >::delete_displ_imposition_elements(), FourierDecomposedHelmholtzProblem< ELEMENT >::delete_face_elements(), HelmholtzPointSourceProblem< ELEMENT >::delete_face_elements(), ScatteringProblem< ELEMENT >::delete_face_elements(), CoatedDiskProblem< ELASTICITY_ELEMENT, HELMHOLTZ_ELEMENT >::delete_face_elements(), CoatedSphereProblem< ELASTICITY_ELEMENT, HELMHOLTZ_ELEMENT >::delete_face_elements(), PMLFourierDecomposedHelmholtzProblem< ELEMENT >::delete_face_elements(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::delete_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::delete_flux_elements(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::delete_flux_elements(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::delete_flux_elements(), FluxPoissonMGProblem< ELEMENT, MESH >::delete_flux_elements(), TwoMeshFluxSteadyAxisymAdvectionDiffusionProblem< ELEMENT >::delete_flux_elements(), RefineableRotatingCylinderProblem< ELEMENT >::delete_free_surface_elements(), CollapsibleChannelProblem< ELEMENT >::delete_traction_elements(), FSICollapsibleChannelProblem< ELEMENT >::delete_traction_elements(), RefineableRotatingCylinderProblem< ELEMENT >::delete_volume_constraint_elements(), oomph::Problem::disable_mass_matrix_reuse(), oomph::SolidHelpers::doc_2D_principal_stress(), doc_boundary_coordinates(), oomph::Z2ErrorEstimator::doc_flux(), oomph::FSI_functions::doc_fsi(), OscRingNStProblem< ELEMENT >::doc_solution(), OscRingNStProblem< ELEMENT >::doc_solution_historic(), does_pointer_correspond_to_mesh_data(), oomph::DummyErrorEstimator::DummyErrorEstimator(), dump(), ProblemParameters::edge_sign_setup(), TestProblem::edge_sign_setup(), Global_Physical_Variables::edge_sign_setup(), ElasticInterfaceProblem< ELEMENT, TIMESTEPPER >::ElasticInterfaceProblem(), oomph::ElasticRefineableQuarterPipeMesh< ELEMENT >::ElasticRefineableQuarterPipeMesh(), elemental_dimension(), PseudoElasticCollapsibleChannelProblem< FLUID_ELEMENT, SOLID_ELEMENT >::empty_mesh(), oomph::Problem::enable_mass_matrix_reuse(), oomph::NetFluxControlElement< ELEMENT >::fill_in_contribution_to_residuals(), oomph::NetFluxControlElement< ELEMENT >::fill_in_generic_residual_contribution_flux_control(), GlobalParameters::find_node_on_centerline(), FluxPoissonProblem< ELEMENT >::FluxPoissonProblem(), oomph::FoldHandler::FoldHandler(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), FSIRingProblem::FSIRingProblem(), oomph::Multi_domain_functions::get_dim_helper(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::DummyErrorEstimator::get_element_errors(), oomph::ImmersedRigidBodyElement::get_force_and_torque(), oomph::Problem::get_hessian_vector_products(), oomph::Problem::get_inverse_mass_matrix_times_residuals(), oomph::Problem::get_jacobian(), NodeReordering::get_node_reordering(), get_node_reordering(), oomph::NavierStokesSchurComplementPreconditioner::get_pressure_advection_diffusion_matrix(), oomph::TreeBasedRefineableMeshBase::get_refinement_levels(), oomph::Problem::get_residuals(), oomph::FoldHandler::get_residuals(), oomph::HopfHandler::get_residuals(), oomph::HopfHandler::HopfHandler(), oomph::ImposeFluxForWomersleyElement< DIM >::ImposeFluxForWomersleyElement(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::interface_min_max(), InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::l2_norm_of_height(), oomph::DGMesh::limit_slopes(), oomph::MacroElementNodeUpdateChannelWithLeafletMesh< ELEMENT >::MacroElementNodeUpdateChannelWithLeafletMesh(), oomph::MacroElementNodeUpdateCollapsibleChannelMesh< ELEMENT >::MacroElementNodeUpdateCollapsibleChannelMesh(), oomph::MacroElementNodeUpdateRefineableFishMesh< ELEMENT >::MacroElementNodeUpdateRefineableFishMesh(), main(), max_and_min_element_size(), oomph::HelmholtzMGPreconditioner< DIM >::maximum_edge_width(), MeltSpinningProblem< ELEMENT >::MeltSpinningProblem(), oomph::MyProblem::min_element_size(), oomph::MyProblem::my_set_initial_condition(), ndof_types(), oomph::NetFluxControlElement< ELEMENT >::NetFluxControlElement(), nodal_dimension(), node_update(), oomph::ImmersedRigidBodyElement::node_update_adjacent_fluid_elements(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), oomph::PeriodicOrbitTemporalMesh< ELEMENT >::orbit_output(), oomph::PeriodicOrbitAssemblyHandler< NNODE_1D >::orbit_output(), oomph::MyProblem::output_exact_solution(), oomph::MyProblem::output_solution(), oomph::TreeBasedRefineableMeshBase::p_adapt(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::TreeBasedRefineableMeshBase::p_refine_uniformly(), oomph::TreeBasedRefineableMeshBase::p_unrefine_uniformly(), oomph::METIS::partition_mesh(), PerturbedStateProblem< BASE_ELEMENT, PERTURBED_ELEMENT >::PerturbedStateProblem(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_all(), oomph::NavierStokesSchurComplementPreconditioner::pin_all_non_pressure_dofs(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::pin_all_non_pressure_dofs(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_dofs_of_field(), oomph::PitchForkHandler::PitchForkHandler(), oomph::MGSolver< DIM >::plot(), oomph::PMLCornerQuadMesh< ELEMENT >::PMLCornerQuadMesh(), oomph::PMLQuadMesh< ELEMENT >::PMLQuadMesh(), oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >::precompute_aux_integrals(), print_connectivity_matrix(), print_elemental_jacobian(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), QuarterCircleDrivenCavityProblem< ELEMENT >::QuarterCircleDrivenCavityProblem(), QuarterCircleDrivenCavityProblem2< ELEMENT >::QuarterCircleDrivenCavityProblem2(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterPipeMesh< ELEMENT >::QuarterPipeMesh(), read(), oomph::Problem::read(), oomph::TreeBasedRefineableMeshBase::refine_as_in_reference_mesh(), oomph::TreeBasedRefineableMeshBase::refine_uniformly(), oomph::RefineableEighthSphereMesh< ELEMENT >::RefineableEighthSphereMesh(), oomph::RefineableTwoDAnnularMesh< ELEMENT >::RefineableTwoDAnnularMesh(), RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem(), oomph::HSL_MA42::reorder_elements(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines(), oomph::SolidICProblem::reset_original_state(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::reset_pin_status(), oomph::NavierStokesSchurComplementPreconditioner::reset_pin_status(), oomph::AugmentedBlockFoldLinearSolver::resolve(), oomph::AugmentedBlockPitchForkLinearSolver::resolve(), HeatedCircularPenetratorElement::resulting_force(), set_consistent_pinned_values_for_continuation(), HeatedCircularPenetratorElement::set_contact_element_mesh_pt(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_coordinate_for_projection(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_current_field_for_projection(), oomph::ImmersedRigidBodyElement::set_drag_mesh(), set_elemental_internal_time_stepper(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::set_external_data_from_navier_stokes_outflow_mesh(), AdvectionProblem::set_initial_conditions(), EulerProblem::set_initial_conditions(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_lagrangian_coordinate_for_projection(), oomph::SolidICProblem::set_newmark_initial_condition_consistently(), oomph::Problem::set_pinned_values_to_zero(), oomph::MGSolver< DIM >::set_self_test_vector(), oomph::BiharmonicProblem< DIM >::set_source_function(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::set_time_level_for_projection(), oomph::MyProblem::set_up_impulsive_initial_condition(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::setup_algebraic_node_update(), oomph::RefineableLineMesh< ELEMENT >::setup_binary_tree_forest(), oomph::BrickMeshBase::setup_boundary_element_info(), oomph::LineMeshBase::setup_boundary_element_info(), oomph::QuadMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::setup_boundary_element_info(), oomph::TriangleMeshBase::setup_boundary_element_info(), oomph::Problem::setup_element_count_per_dof(), oomph::DGMesh::setup_face_neighbour_info(), oomph::MGSolver< DIM >::setup_interpolation_matrices(), oomph::HelmholtzMGPreconditioner< DIM >::setup_interpolation_matrices(), oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >::setup_macro_element_node_update(), oomph::MacroElementNodeUpdateRefineableQuarterTubeMesh< ELEMENT >::setup_macro_element_node_update(), oomph::RefineableBrickMesh< ELEMENT >::setup_octree_forest(), oomph::VorticitySmoother< ELEMENT >::setup_patches(), oomph::Z2ErrorEstimator::setup_patches(), oomph::SolidICProblem::setup_problem(), oomph::RefineableQuadMesh< ELEMENT >::setup_quadtree_forest(), shift_time_values(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::AugmentedBlockFoldLinearSolver::solve(), oomph::AugmentedBlockPitchForkLinearSolver::solve(), oomph::BlockHopfLinearSolver::solve(), oomph::HSL_MA42::solve(), oomph::HSL_MA42::solve_for_one_dof(), oomph::BlockHopfLinearSolver::solve_for_two_rhs(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_lists(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_maps(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_two_arrays(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_two_vectors(), oomph::Problem::sparse_assemble_row_or_column_compressed_with_vectors_of_pairs(), oomph::TetMeshBase::split_elements_in_corners(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::SurfactantProblem(), ContactProblem< ELEMENT >::switch_to_force_control(), total_size(), oomph::ImposeFluxForWomersleyElement< DIM >::total_volume_flux(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::total_volume_flux_into_downstream_tube(), oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >::total_volume_flux_into_impedance_tube(), TriangleFaceTestProblem< ELEMENT >::TriangleFaceTestProblem(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem(), TwoDDGProblem< ELEMENT >::TwoDDGProblem(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::TwoMeshFluxAdvectionDiffusionProblem(), TwoMeshFluxPoissonProblem< ELEMENT >::TwoMeshFluxPoissonProblem(), oomph::METIS::uniform_partition_mesh(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_all(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_dofs_of_field(), oomph::TreeBasedRefineableMeshBase::unrefine_uniformly(), oomph::RefineableTetgenMesh< ELEMENT >::update_faceted_surface_using_face_mesh(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::validate(), oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >::WomersleyImpedanceTubeBase(), oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh(), and oomph::WomersleyProblem< ELEMENT, DIM >::WomersleyProblem().
|
inline |
Return number of nodes in the mesh.
References Node_pt.
Referenced by oomph::IMRByBDF::actions_after_timestep(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::actions_before_newton_solve(), SolidBag::actionsBeforeOomphTimeStep(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::PeriodicOrbitAssemblyHandler< NNODE_1D >::adapt_temporal_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), assign_initial_values_impulsive(), oomph::StreamfunctionProblem::assign_velocities(), oomph::Multi_domain_functions::aux_setup_multi_domain_interaction(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::backup(), oomph::SolidICProblem::backup_original_state(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), SolidBag::bendBag(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), oomph::MeshAsGeomObject::build_it(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), calculate_predictions(), check_for_repeated_nodes(), oomph::TriangleScaffoldMesh::check_mesh_integrity(), oomph::MyProblem::check_not_segregated(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), oomph::TreeBasedRefineableMeshBase::complete_hanging_nodes(), oomph::AddedMainNumberingLookup::construct_added_to_main_mapping(), oomph::Problem::copy(), copy_boundary_node_data_from_nodes(), MovingBlockProblem< ELEMENT >::create_extruded_mesh(), InterfaceProblem< ELEMENT, TIMESTEPPER >::deform_free_surface(), MeshDeformation::deform_mesh(), delete_all_external_storage(), demo_smoothing_with_nonlinear_elasticity(), oomph::FSI_functions::doc_fsi(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::doc_solution(), doc_sparse_node_update(), does_pointer_correspond_to_mesh_data(), dump(), FlatPlateMesh< ELEMENT >::FlatPlateMesh(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::Z2ErrorEstimator::get_element_errors(), NodeReordering::get_node_reordering(), get_node_reordering(), get_some_non_boundary_node(), main(), oomph::MyProblem::my_set_initial_condition(), oomph::AlgebraicMesh::node_update(), oomph::MacroElementNodeUpdateMesh::node_update(), node_update(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), PolarNSProblem< ELEMENT >::output_streamfunction(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), PerturbedStateProblem< BASE_ELEMENT, PERTURBED_ELEMENT >::PerturbedStateProblem(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_all(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_dofs_of_coordinate(), oomph::StreamfunctionProblem::pin_velocities(), oomph::PMLQuadMeshBase< ELEMENT >::pml_locate_zeta(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), prune_dead_nodes(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), read(), oomph::VorticitySmoother< ELEMENT >::recover_vorticity(), reorder_nodes(), NodeReordering::reorder_nodes(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::reset(), oomph::SolidICProblem::reset_original_state(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::reset_pin_status(), oomph::NavierStokesSchurComplementPreconditioner::reset_pin_status(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::restore_positions(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::rotate_90(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::rotate_90_zeq1_xeq0(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::rotate_90_zeq1_yeq0(), run_navier_stokes_outflow(), scale_mesh(), oomph::MyProblem::segregated_pin_indices(), oomph::AlgebraicMesh::self_test(), set_consistent_pinned_values_for_continuation(), oomph::SolidMesh::set_lagrangian_nodal_coordinates(), oomph::SolidICProblem::set_newmark_initial_condition_consistently(), oomph::SolidICProblem::set_newmark_initial_condition_directly(), set_nodal_time_stepper(), oomph::Problem::set_pinned_values_to_zero(), oomph::MyProblem::set_up_impulsive_initial_condition(), oomph::MGSolver< DIM >::setup_interpolation_matrices_unstructured(), oomph::HelmholtzMGPreconditioner< DIM >::setup_interpolation_matrices_unstructured(), oomph::SolidICProblem::setup_problem(), ShellMesh< ELEMENT >::ShellMesh(), shift_time_values(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), ABCProblem< ELEMENT, TIMESTEPPERT >::solve(), oomph::TetMeshBase::split_elements_in_corners(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::store_positions(), oomph::Refineable_r_mesh< ELEMENT >::stretch_mesh(), oomph::TriangleScaffoldMesh::TriangleScaffoldMesh(), oomph::MyProblem::undo_segregated_pinning(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_all(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_dofs_of_coordinate(), and oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh().
unsigned oomph::Mesh::nodal_dimension | ( | ) | const |
Return number of nodal dimension in mesh.
Get the number of nodal dimension in the mesh from the first element of the mesh. If MPI is on then also do some consistency checks between processors. Careful: Involves MPI Broadcasts and must therefore be called on all processors!
References finite_element_pt(), i, nelement(), oomph::FiniteElement::nodal_dimension(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and p.
Referenced by oomph::LagrangeEnforcedFlowPreconditioner::set_meshes().
Return pointer to global node n.
Referenced by oomph::IMRByBDF::actions_after_timestep(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), oomph::RefineableGmshTetMesh< ELEMENT >::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::PeriodicOrbitAssemblyHandler< NNODE_1D >::adapt_temporal_mesh(), add_boundary_node(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), add_node_pt(), oomph::StreamfunctionProblem::assign_velocities(), oomph::SolidICProblem::backup_original_state(), oomph::MeshAsGeomObject::build_it(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), check_for_repeated_nodes(), oomph::TriangleScaffoldMesh::check_mesh_integrity(), oomph::MyProblem::check_not_segregated(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::complete_build(), oomph::TreeBasedRefineableMeshBase::complete_hanging_nodes(), oomph::AddedMainNumberingLookup::construct_added_to_main_mapping(), convert_to_boundary_node(), oomph::Problem::copy(), copy_boundary_node_data_from_nodes(), MeshDeformation::deform_mesh(), delete_all_external_storage(), oomph::FSI_functions::doc_fsi(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::doc_solution(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), oomph::Problem::get_dofs(), oomph::Z2ErrorEstimator::get_element_errors(), NodeReordering::get_node_reordering(), get_node_reordering(), get_some_non_boundary_node(), main(), oomph::MyProblem::my_set_initial_condition(), oomph::MacroElementNodeUpdateMesh::node_update(), node_update(), PolarNSProblem< ELEMENT >::output_streamfunction(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_all(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_dofs_of_coordinate(), oomph::StreamfunctionProblem::pin_velocities(), oomph::MGSolver< DIM >::plot(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), read(), oomph::VorticitySmoother< ELEMENT >::recover_vorticity(), oomph::TreeBasedRefineableMeshBase::refine_as_in_reference_mesh(), remove_boundary_node(), reorder_nodes(), NodeReordering::reorder_nodes(), oomph::SolidICProblem::reset_original_state(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::reset_pin_status(), oomph::NavierStokesSchurComplementPreconditioner::reset_pin_status(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::restore_positions(), run_navier_stokes_outflow(), scale_mesh(), oomph::MyProblem::segregated_pin_indices(), oomph::Problem::set_dofs(), oomph::SolidICProblem::set_newmark_initial_condition_consistently(), oomph::Problem::set_pinned_values_to_zero(), oomph::MGSolver< DIM >::set_self_test_vector(), oomph::MyProblem::set_up_impulsive_initial_condition(), oomph::MGSolver< DIM >::setup_interpolation_matrices_unstructured(), oomph::HelmholtzMGPreconditioner< DIM >::setup_interpolation_matrices_unstructured(), oomph::SolidICProblem::setup_problem(), oomph::SimpleCubicScaffoldTetMesh::SimpleCubicScaffoldTetMesh(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), ABCProblem< ELEMENT, TIMESTEPPERT >::solve(), oomph::MGSolver< DIM >::solve(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::store_positions(), oomph::TubeMesh< ELEMENT >::TubeMesh(), oomph::MyProblem::undo_segregated_pinning(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_all(), and oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_dofs_of_coordinate().
|
virtual |
Update nodal positions in response to changes in the domain shape. Uses the FiniteElement::get_x(...) function for FiniteElements and doesn't do anything for other element types. If a MacroElement pointer has been set for a FiniteElement, the MacroElement representation is used to update the nodal positions; if not get_x(...) uses the FE interpolation and thus leaves the nodal positions unchanged. Virtual, so it can be overloaded by specific meshes, such as AlgebraicMeshes or SpineMeshes. Generally, this function updates the position of all nodes in response to changes in the boundary position. However, we ignore all SolidNodes since their position is computed as part of the solution – unless the bool flag is set to true. Such calls are typically made when the initial mesh is created and/or after a mesh has been refined repeatedly before the start of the computation.
Update nodal positions in response to changes in the domain shape. Uses the FiniteElement::get_x(...) function for FiniteElements and doesn't do anything for other element types. If a MacroElement pointer has been set for a FiniteElement, the MacroElement representation is used to update the nodal positions; if not get_x(...) uses the FE interpolation and thus leaves the nodal positions unchanged. Virtual, so it can be overloaded by specific meshes, such as AlgebraicMeshes or SpineMeshes. Generally, this function updates the position of all nodes in response to changes in the boundary position. For SolidNodes it only applies the update to those SolidNodes whose position is determined by the boundary position, unless the bool flag is set to true.
Local and global (Eulerian) coordinate
Reimplemented in oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >, oomph::MacroElementNodeUpdateRefineableQuarterTubeMesh< ELEMENT >, oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >, oomph::AlgebraicRefineableQuarterCircleSectorMesh< FLUID_ELEMENT >, oomph::MacroElementNodeUpdateRefineableQuarterCircleSectorMesh< ELEMENT >, oomph::AlgebraicRefineableFishMesh< ELEMENT >, oomph::AlgebraicFishMesh< ELEMENT >, oomph::MacroElementNodeUpdateRefineableFishMesh< ELEMENT >, oomph::SpineMesh, oomph::MacroElementNodeUpdateMesh, oomph::AlgebraicMesh, and oomph::PerturbedSpineMesh.
References oomph::FiniteElement::dim(), e(), element_pt(), oomph::FiniteElement::get_x(), oomph::Node::hanging_pt(), i, oomph::Node::is_hanging(), j, oomph::FiniteElement::local_coordinate_of_node(), oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), n, oomph::Node::ndim(), nelement(), oomph::HangInfo::nmaster(), oomph::FiniteElement::nnode(), nnode(), oomph::FiniteElement::node_pt(), Node_pt, node_pt(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::oomph_info, UniformPSDSelfTest::r, s, oomph::TimingHelpers::timer(), and oomph::Node::x().
Referenced by oomph::AlgebraicCollapsibleChannelMesh< ELEMENT >::AlgebraicCollapsibleChannelMesh(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), oomph::SegregatableFSIProblem::extrapolate_solid_data(), oomph::MyAlgebraicCollapsibleChannelMesh< ELEMENT >::MyAlgebraicCollapsibleChannelMesh(), oomph::PseudoElasticChannelWithLeafletMesh< ELEMENT >::PseudoElasticChannelWithLeafletMesh(), oomph::QuarterPipeMesh< ELEMENT >::QuarterPipeMesh(), and oomph::RefineableTwoDAnnularMesh< ELEMENT >::RefineableTwoDAnnularMesh().
|
delete |
Broken assignment operator.
|
inline |
Output for all elements.
References output().
|
inline |
void oomph::Mesh::output | ( | FILE * | file_pt | ) |
Output for all elements (C-style output)
Output function for the mesh class
Loop over all elements and plot (i.e. execute the element's own output() function) (C style output)
References e(), Element_pt, oomph::oomph_info, and oomph::FiniteElement::output().
void oomph::Mesh::output | ( | FILE * | file_pt, |
const unsigned & | n_plot | ||
) |
Output at f(n_plot) points in each element (C-style output)
Output function for the mesh class
Loop over all elements and plot (i.e. execute the element's own output() function). Use n_plot plot points in each coordinate direction. (C style output)
References e(), Element_pt, oomph::oomph_info, and oomph::FiniteElement::output().
void oomph::Mesh::output | ( | std::ostream & | outfile | ) |
Output for all elements.
Output function for the mesh class
Loop over all elements and plot (i.e. execute the element's own output() function)
References e(), Element_pt, oomph::oomph_info, and oomph::FiniteElement::output().
Referenced by ContactProblem< ELEMENT >::actions_after_adapt(), ContactProblem< ELEMENT >::actions_before_adapt(), oomph::RefineableTetgenMesh< ELEMENT >::adapt(), demo_smoothing_with_linear_elasticity(), demo_smoothing_with_nonlinear_elasticity(), demo_smoothing_with_poisson(), oomph::FSI_functions::doc_fsi(), oomph::StreamfunctionProblem::doc_solution(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::doc_solution(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::doc_solution(), doc_sparse_node_update(), main(), output(), output_both_versions(), oomph::MeshAsGeomObject::position(), and oomph::TreeBasedRefineableMeshBase::refine_as_in_reference_mesh().
void oomph::Mesh::output | ( | std::ostream & | outfile, |
const unsigned & | n_plot | ||
) |
Output at f(n_plot) points in each element.
Output function for the mesh class
Loop over all elements and plot (i.e. execute the element's own output() function). Use n_plot plot points in each coordinate direction.
References e(), Element_pt, oomph::oomph_info, and oomph::FiniteElement::output().
|
inline |
Output the nodes on the boundaries (into separate tecplot zones). Specify filename
References output_boundaries().
void oomph::Mesh::output_boundaries | ( | std::ostream & | outfile | ) |
Output the nodes on the boundaries (into separate tecplot zones)
Output function for the mesh boundaries
Loop over all boundaries and dump out the coordinates of the points on the boundary (in individual tecplot zones)
References Boundary_node_pt, and nboundary().
Referenced by output_boundaries().
void oomph::Mesh::output_fct | ( | std::ostream & | outfile, |
const unsigned & | n_plot, | ||
const double & | time, | ||
FiniteElement::UnsteadyExactSolutionFctPt | exact_soln_pt | ||
) |
Output a given time-dep. Vector function at f(n_plot) points in each element
Output function for the mesh class
Loop over all elements and plot (i.e. execute the element's own output() function) at time t. Use n_plot plot points in each coordinate direction.
References e(), Element_pt, oomph::oomph_info, and oomph::FiniteElement::output_fct().
void oomph::Mesh::output_fct | ( | std::ostream & | outfile, |
const unsigned & | n_plot, | ||
FiniteElement::SteadyExactSolutionFctPt | exact_soln_pt | ||
) |
Output a given Vector function at f(n_plot) points in each element.
Output function for the mesh class
Loop over all elements and plot (i.e. execute the element's own output() function). Use n_plot plot points in each coordinate direction.
References e(), Element_pt, oomph::oomph_info, and oomph::FiniteElement::output_fct().
Referenced by oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::doc_solution().
void oomph::Mesh::output_fct_paraview | ( | std::ofstream & | file_out, |
const unsigned & | nplot, | ||
const double & | time, | ||
FiniteElement::UnsteadyExactSolutionFctPt | exact_soln_pt | ||
) | const |
Output in paraview format into specified file. Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break break (in paranoid mode) if paraview output fcts of the elements are inconsistent).
Output in paraview format into specified file.
Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break (in paranoid mode) if paraview output fcts of the elements are inconsistent).
References Element_pt, element_pt(), i, j, oomph::FiniteElement::nplot_points_paraview(), oomph::FiniteElement::nscalar_paraview(), oomph::FiniteElement::nsub_elements_paraview(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::FiniteElement::output_paraview(), oomph::FiniteElement::scalar_name_paraview(), oomph::FiniteElement::scalar_value_fct_paraview(), oomph::FiniteElement::write_paraview_offsets(), oomph::FiniteElement::write_paraview_output_offset_information(), and oomph::FiniteElement::write_paraview_type().
void oomph::Mesh::output_fct_paraview | ( | std::ofstream & | file_out, |
const unsigned & | nplot, | ||
FiniteElement::SteadyExactSolutionFctPt | exact_soln_pt | ||
) | const |
Output in paraview format into specified file. Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break break (in paranoid mode) if paraview output fcts of the elements are inconsistent).
Output in paraview format into specified file.
Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break (in paranoid mode) if paraview output fcts of the elements are inconsistent).
References Element_pt, element_pt(), i, j, oomph::FiniteElement::nplot_points_paraview(), oomph::FiniteElement::nscalar_paraview(), oomph::FiniteElement::nsub_elements_paraview(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::FiniteElement::output_paraview(), oomph::FiniteElement::scalar_name_paraview(), oomph::FiniteElement::scalar_value_fct_paraview(), oomph::FiniteElement::write_paraview_offsets(), oomph::FiniteElement::write_paraview_output_offset_information(), and oomph::FiniteElement::write_paraview_type().
void oomph::Mesh::output_paraview | ( | std::ofstream & | file_out, |
const unsigned & | nplot | ||
) | const |
Output in paraview format into specified file. Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break break (in paranoid mode) if paraview output fcts of the elements are inconsistent).
Output in paraview format into specified file.
Breaks up each element into sub-elements for plotting purposes. We assume that all elements are of the same type (fct will break (in paranoid mode) if paraview output fcts of the elements are inconsistent).
References Element_pt, element_pt(), i, j, oomph::FiniteElement::nplot_points_paraview(), oomph::FiniteElement::nscalar_paraview(), oomph::FiniteElement::nsub_elements_paraview(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::FiniteElement::output_paraview(), oomph::FiniteElement::scalar_name_paraview(), oomph::FiniteElement::scalar_value_paraview(), oomph::FiniteElement::write_paraview_offsets(), oomph::FiniteElement::write_paraview_output_offset_information(), and oomph::FiniteElement::write_paraview_type().
Prune nodes. Nodes that have been marked as obsolete are removed from the mesh (and its boundary-node scheme). Returns vector of pointers to deleted nodes.
Nodes that have been marked as obsolete are removed from the mesh and the its boundaries. Returns vector of pointers to deleted nodes.
References Boundary_node_pt, n, nboundary(), nnode(), and Node_pt.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::PMLCornerQuadMesh< ELEMENT >::PMLCornerQuadMesh(), and oomph::PMLQuadMesh< ELEMENT >::PMLQuadMesh().
|
virtual |
Read solution from restart file.
Try to cast to elastic node
Reimplemented in oomph::SpineMesh, and oomph::PerturbedSpineMesh.
References e(), element_pt(), i, oomph::GeneralisedElement::internal_data_pt(), n, nelement(), oomph::GeneralisedElement::ninternal_data(), nnode(), node_pt(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::Data::read(), oomph::Node::read(), oomph::SolidNode::read(), reorder_nodes(), and oomph::Global_string_for_annotation::string().
Referenced by oomph::PerturbedSpineMesh::read(), oomph::SpineMesh::read(), and oomph::Problem::read().
Remove a node from the boundary b.
Remove the node node_pt from the b-th boundary of the mesh This function also removes the information from the Node itself
References b, Boundary_node_pt, Eigen::placeholders::end, node_pt(), and oomph::Node::remove_from_boundary().
Referenced by delete_all_external_storage(), and ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh().
void oomph::Mesh::remove_boundary_nodes | ( | ) |
Clear all pointers to boundary nodes.
Remove all information about mesh boundaries.
References b, and Boundary_node_pt.
Referenced by STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::change_boundaries(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), and oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh().
void oomph::Mesh::remove_boundary_nodes | ( | const unsigned & | b | ) |
Remove all information about nodes stored on the b-th boundary of the mesh
Remove the information about nodes stored on the b-th boundary of the mesh
References b, Boundary_node_pt, boundary_node_pt(), n, and oomph::Node::remove_from_boundary().
|
virtual |
Re-order nodes in the order in which they appear in elements – can be overloaded for more efficient re-ordering
Reorder nodes in the order in which they are encountered when stepping through the elements
References get_node_reordering(), i, nnode(), and node_pt().
Referenced by oomph::TreeBasedRefineableMeshBase::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::TreeBasedRefineableMeshBase::p_adapt(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), and read().
|
inlinevirtual |
Virtual function to perform the reset boundary elements info rutines.
Reimplemented in oomph::TriangleMeshBase.
References OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Scale all nodal coordinates by given factor. Virtual so it can be overloaded in SolidMesh class where it also re-assigns the Lagrangian coordinates.
Reimplemented in oomph::SolidMesh.
References i, j, oomph::Node::ndim(), nnode(), node_pt(), and oomph::Node::x().
Referenced by oomph::SolidMesh::scale_mesh().
unsigned oomph::Mesh::self_test | ( | ) |
Self-test: Check elements and nodes. Return 0 for OK.
References check_for_repeated_nodes(), Element_pt, i, Node_pt, and oomph::oomph_info.
Referenced by oomph::RefineableEighthSphereMesh< ELEMENT >::RefineableEighthSphereMesh(), oomph::RefineableFullCircleMesh< ELEMENT >::RefineableFullCircleMesh(), oomph::RefineableQuarterTubeMesh< ELEMENT >::RefineableQuarterTubeMesh(), oomph::RefineableTubeMesh< ELEMENT >::RefineableTubeMesh(), and oomph::AlgebraicMesh::self_test().
void oomph::Mesh::set_consistent_pinned_values_for_continuation | ( | ContinuationStorageScheme *const & | continuation_storage_pt | ) |
Set consistent values for pinned data in continuation.
Set the values of auxilliary data used in continuation problems when the data is pinned.
References e(), element_pt(), oomph::GeneralisedElement::internal_data_pt(), j, n, nelement(), oomph::GeneralisedElement::ninternal_data(), nnode(), Node_pt, oomph::ContinuationStorageScheme::set_consistent_pinned_positions(), and oomph::ContinuationStorageScheme::set_consistent_pinned_values().
Referenced by oomph::Problem::set_consistent_pinned_values_for_continuation().
void oomph::Mesh::set_elemental_internal_time_stepper | ( | TimeStepper *const & | time_stepper_pt, |
const bool & | preserve_existing_data | ||
) |
Set the timestepper associated with the internal data stored within elements in the meah
Set the time stepper associated with all internal data stored in the elements in the mesh
References e(), element_pt(), j, and nelement().
Referenced by set_nodal_and_elemental_time_stepper().
|
virtual |
Function that can be used to set any additional timestepper data stored at the Mesh (as opposed to nodal and elemental) levels. This is virtual so that it can be overloaded in the appropriate Meshes. Examples include the SpineMeshes and adaptive triangle and tet meshes
Virtual function that should be overloaded if the mesh has any mesh level storage of the timestepper
Reimplemented in oomph::TriangleMesh< ELEMENT >, oomph::TriangleMesh< FLUID_ELEMENT >, oomph::TriangleMesh< SOLID_ELEMENT >, oomph::TriangleMesh< HELMHOLTZ_ELEMENT >, oomph::TriangleMesh< POROELASTICITY_ELEMENT >, oomph::TriangleMesh< ELASTICITY_ELEMENT >, oomph::TriangleMesh< oomph::TPoissonElement< 2, 2 > >, oomph::TetgenMesh< ELEMENT >, and oomph::SpineMesh.
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and Suppress_warning_about_empty_mesh_level_time_stepper_function.
Referenced by oomph::Problem::set_timestepper_for_all_data().
|
inline |
Set the number of boundaries in the mesh.
References Boundary_coordinate_exists, and Boundary_node_pt.
Referenced by STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::change_boundaries(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), copy_boundary_node_data_from_nodes(), oomph::GmshTetScaffoldMesh::create_mesh_from_msh_file(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), oomph::GeompackQuadScaffoldMesh::GeompackQuadScaffoldMesh(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), oomph::RectangleWithHoleMesh< ELEMENT >::RectangleWithHoleMesh(), oomph::SimpleCubicScaffoldTetMesh::SimpleCubicScaffoldTetMesh(), oomph::SimpleRectangularTriMesh< ELEMENT >::SimpleRectangularTriMesh(), oomph::TetgenScaffoldMesh::TetgenScaffoldMesh(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), oomph::TriangleScaffoldMesh::TriangleScaffoldMesh(), and oomph::TubeMesh< ELEMENT >::TubeMesh().
|
inline |
Set the timestepper associated with all nodal and elemental data stored in the mesh.
References set_elemental_internal_time_stepper(), and set_nodal_time_stepper().
Referenced by oomph::Problem::set_timestepper_for_all_data().
void oomph::Mesh::set_nodal_time_stepper | ( | TimeStepper *const & | time_stepper_pt, |
const bool & | preserve_existing_data | ||
) |
Set the timestepper associated with the nodal data in the mesh.
Set the time stepper associated with all the nodal data in the problem
References n, nnode(), and Node_pt.
Referenced by set_nodal_and_elemental_time_stepper().
|
inlinevirtual |
Interface for function that is used to setup the boundary information (Empty virtual function – implement this for specific Mesh classes)
Reimplemented in oomph::HermiteQuadMesh< ELEMENT >, oomph::TriangleMeshBase, oomph::TetMeshBase, oomph::QuadMeshBase, oomph::LineMeshBase, oomph::BrickMeshBase, and oomph::RefineableSolidCubicMesh< ELEMENT >.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::RefineableRectangleWithHoleAndAnnularRegionMesh< ELEMENT >::RefineableRectangleWithHoleAndAnnularRegionMesh(), oomph::RefineableRectangleWithHoleMesh< ELEMENT >::RefineableRectangleWithHoleMesh(), TFaceTestProblem< ELEMENT >::TFaceTestProblem(), and TriangleFaceTestProblem< ELEMENT >::TriangleFaceTestProblem().
|
inlinevirtual |
Setup lookup schemes which establish whic elements are located next to mesh's boundaries. Doc in outfile (if it's open). (Empty virtual function – implement this for specific Mesh classes)
Reimplemented in oomph::HermiteQuadMesh< ELEMENT >, oomph::TriangleMeshBase, oomph::TetMeshBase, oomph::QuadMeshBase, oomph::LineMeshBase, oomph::BrickMeshBase, and oomph::RefineableSolidCubicMesh< ELEMENT >.
void oomph::Mesh::shift_time_values | ( | ) |
Shift time-dependent data along for next timestep: Deal with nodal Data/positions and the element's internal Data
Shift time-dependent data along for next timestep: Again this is achieved by looping over all data and calling the functions defined in each data object's timestepper.
References e(), element_pt(), j, n, nelement(), nnode(), and Node_pt.
Referenced by oomph::Problem::shift_time_values().
|
inline |
Determine the sum of all "sizes" of the FiniteElements in the mesh (non-FiniteElements are ignored). This gives the length/area/volume occupied by the mesh
References e(), finite_element_pt(), nelement(), size, and oomph::FiniteElement::size().
|
friend |
Problem is a friend.
|
protected |
Vector of boolean data that indicates whether the boundary coordinates have been set for the boundary
Referenced by boundary_coordinate_exists(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), doc_boundary_coordinates(), oomph::ElasticRefineableRectangularQuadMesh< ELEMENT >::ElasticRefineableRectangularQuadMesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterPipeMesh< ELEMENT >::QuarterPipeMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), oomph::RefineableSolidCubicMesh< ELEMENT >::RefineableSolidCubicMesh(), set_nboundary(), oomph::TetMeshBase::setup_boundary_coordinates(), oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), and oomph::TubeMesh< ELEMENT >::TubeMesh().
|
protected |
Vector of Vector of pointers to elements on the boundaries: Boundary_element_pt(b,e)
Referenced by boundary_element_pt(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), nboundary_element(), oomph::BrickMeshBase::setup_boundary_element_info(), oomph::LineMeshBase::setup_boundary_element_info(), oomph::QuadMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::setup_boundary_element_info(), oomph::TriangleMeshBase::setup_boundary_element_info(), and oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh().
Vector of Vector of pointers to nodes on the boundaries: Boundary_node_pt(b,n). Note that this is private to force the use of the add_boundary_node() function, which ensures that the reverse look-up schemes for the nodes are set up.
Referenced by add_boundary_node(), boundary_node_pt(), copy_boundary_node_data_from_nodes(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), merge_meshes(), nboundary(), nboundary_node(), output_boundaries(), prune_dead_nodes(), remove_boundary_node(), remove_boundary_nodes(), and set_nboundary().
|
static |
The Steady Timestepper.
Default Steady Timestepper, to be used in default arguments to Mesh constructors
Referenced by oomph::PeriodicOrbitAssemblyHandler< NNODE_1D >::adapt_temporal_mesh(), MortaringHelpers::PointElementWithExternalElement::PointElementWithExternalElement(), and oomph::WomersleyImpedanceTubeBase< ELEMENT, DIM >::setup().
|
protected |
Vector of pointers to generalised elements.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), add_element_pt(), oomph::jh_mesh< ELEMENT >::assign_fluid_element_vector(), oomph::streamfunction_mesh::assign_fluid_element_vector(), assign_global_eqn_numbers(), assign_local_eqn_numbers(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), compute_error(), compute_norm(), convert_to_boundary_node(), oomph::GmshTetScaffoldMesh::create_mesh_from_msh_file(), describe_dofs(), describe_local_dofs(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), oomph::PerturbedSpineMesh::element_node_pt(), oomph::SolidMesh::element_node_pt(), oomph::SpineMesh::element_node_pt(), element_pt(), finite_element_pt(), flush_element_storage(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), oomph::GeompackQuadScaffoldMesh::GeompackQuadScaffoldMesh(), oomph::jh_mesh< ELEMENT >::make_flux_element(), oomph::jh_mesh< ELEMENT >::make_traction_elements(), oomph::streamfunction_mesh::make_traction_elements(), merge_meshes(), nelement(), output(), output_fct(), output_fct_paraview(), output_paraview(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), oomph::RectangleWithHoleMesh< ELEMENT >::RectangleWithHoleMesh(), oomph::jh_mesh< ELEMENT >::remove_traction_elements(), oomph::streamfunction_mesh::remove_traction_elements(), self_test(), oomph::SimpleCubicScaffoldTetMesh::SimpleCubicScaffoldTetMesh(), oomph::SimpleRectangularTriMesh< ELEMENT >::SimpleRectangularTriMesh(), oomph::TetMeshBase::split_elements_in_corners(), oomph::TetgenScaffoldMesh::TetgenScaffoldMesh(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), oomph::TriangleScaffoldMesh::TriangleScaffoldMesh(), oomph::TubeMesh< ELEMENT >::TubeMesh(), and ~Mesh().
For the e-th finite element on boundary b, this is the index of the face that lies along that boundary
Referenced by oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), face_index_at_boundary(), oomph::BrickMeshBase::setup_boundary_element_info(), oomph::LineMeshBase::setup_boundary_element_info(), oomph::QuadMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::setup_boundary_element_info(), oomph::TriangleMeshBase::setup_boundary_element_info(), and oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh().
|
protected |
Flag to indicate that the lookup schemes for elements that are adjacent to the boundaries has been set up.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), boundary_element_pt(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), face_index_at_boundary(), merge_meshes(), Mesh(), nboundary_element(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::BrickMeshBase::setup_boundary_element_info(), oomph::LineMeshBase::setup_boundary_element_info(), oomph::QuadMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::setup_boundary_element_info(), oomph::TriangleMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::split_elements_in_corners(), and oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh().
Vector of pointers to nodes.
Referenced by add_node_pt(), assign_global_eqn_numbers(), assign_initial_values_impulsive(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), calculate_predictions(), oomph::TriangleScaffoldMesh::check_mesh_integrity(), convert_to_boundary_node(), oomph::GmshTetScaffoldMesh::create_mesh_from_msh_file(), delete_all_external_storage(), describe_dofs(), does_pointer_correspond_to_mesh_data(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), flush_node_storage(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), oomph::GeompackQuadScaffoldMesh::GeompackQuadScaffoldMesh(), merge_meshes(), nnode(), oomph::PerturbedSpineMesh::node_pt(), oomph::AlgebraicMesh::node_pt(), node_pt(), oomph::SolidMesh::node_pt(), oomph::SpineMesh::node_pt(), oomph::PerturbedSpineMesh::node_update(), node_update(), oomph::SpineMesh::node_update(), prune_dead_nodes(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), oomph::RectangleWithHoleMesh< ELEMENT >::RectangleWithHoleMesh(), self_test(), set_consistent_pinned_values_for_continuation(), oomph::SolidMesh::set_lagrangian_nodal_coordinates(), set_nodal_time_stepper(), shift_time_values(), oomph::SimpleCubicScaffoldTetMesh::SimpleCubicScaffoldTetMesh(), oomph::SimpleRectangularTriMesh< ELEMENT >::SimpleRectangularTriMesh(), oomph::Refineable_r_mesh< ELEMENT >::stretch_mesh(), oomph::TetgenScaffoldMesh::TetgenScaffoldMesh(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), oomph::TriangleScaffoldMesh::TriangleScaffoldMesh(), oomph::TubeMesh< ELEMENT >::TubeMesh(), oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh(), and ~Mesh().
|
static |
Static boolean flag to control warning about mesh level timesteppers.
Boolean used to control warning about empty mesh level timestepper function
Referenced by set_mesh_level_time_stepper().