Class that contains data for hanging nodes. More...
#include <nodes.h>
Public Member Functions | |
HangInfo () | |
Default constructor, initialise vectors to have size zero. | |
HangInfo (const unsigned &n_master) | |
Alternative constructor when the number of master nodes is known. | |
~HangInfo () | |
Delete the storage. | |
HangInfo (const HangInfo &)=delete | |
Broken copy constructor. | |
void | operator= (const HangInfo &)=delete |
Broken assignment operator. | |
unsigned | nmaster () const |
Return the number of master nodes. | |
Node *const & | master_node_pt (const unsigned &i) const |
Return a pointer to the i-th master node. | |
double const & | master_weight (const unsigned &i) const |
Return weight for dofs on i-th master node. | |
void | set_master_node_pt (const unsigned &i, Node *const &master_node_pt, const double &weight) |
Set the pointer to the i-th master node and its weight. | |
void | add_master_node_pt (Node *const &master_node_pt, const double &weight) |
Add (pointer to) master node and corresponding weight to the internally stored (pointers to) master nodes and weights. | |
Private Member Functions | |
void | range_check (const unsigned &i) const |
Check that the argument is within the range of stored data values. | |
Private Attributes | |
Node ** | Master_nodes_pt |
C-style array of pointers to nodes that this hanging node depends on. | |
double * | Master_weights |
C-style array of weights for the dofs on the master nodes. | |
unsigned | Nmaster |
Number of master nodes required by this hanging node. | |
Class that contains data for hanging nodes.
To ensure inter-element continuity, the values and nodal positions of hanging nodes must be linear combinations of the values and positions on certain adjacent "master" nodes. For every hanging node ,
and
, where and
are Vectors containing the nodal values and positions of node
respectively; the sum is taken over the hanging node's master nodes
and
are suitable weights. This class provides storage and access functions for the pointers to the master nodes and their associated weights.
|
inline |
Default constructor, initialise vectors to have size zero.
Definition at line 745 of file nodes.h.
References oomph::LeakCheckNames::HangInfo_build.
Alternative constructor when the number of master nodes is known.
Definition at line 753 of file nodes.h.
References oomph::LeakCheckNames::HangInfo_build, Master_nodes_pt, and Master_weights.
|
inline |
Delete the storage.
Definition at line 763 of file nodes.h.
References oomph::LeakCheckNames::HangInfo_build, Master_nodes_pt, Master_weights, and Nmaster.
Add (pointer to) master node and corresponding weight to the internally stored (pointers to) master nodes and weights.
Definition at line 1489 of file nodes.cc.
References i, Master_nodes_pt, Master_weights, and Nmaster.
Return a pointer to the i-th master node.
Definition at line 791 of file nodes.h.
References i, Master_nodes_pt, Nmaster, and range_check().
Referenced by oomph::Mesh::check_halo_schemes(), oomph::RefineableAdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::RefineablePolarNavierStokesEquations::fill_in_generic_residual_contribution(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableAxisymAdvectionDiffusionEquations::fill_in_generic_residual_contribution_axi_adv_diff(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::RefineableGeneralisedAxisymAdvectionDiffusionEquations::fill_in_generic_residual_contribution_cons_axisym_adv_diff(), oomph::RefineableLinearisedAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_linearised_axi_nst(), oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineableSphericalAdvectionDiffusionEquations::fill_in_generic_residual_contribution_spherical_adv_diff(), oomph::RefineableSphericalNavierStokesEquations::fill_in_generic_residual_contribution_spherical_nst(), oomph::RefineableBuoyantQCrouzeixRaviartElement< DIM >::fill_in_off_diagonal_jacobian_blocks_analytic(), oomph::RefineableAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::SolidNode::lagrangian_position(), oomph::SolidNode::lagrangian_position_gen(), oomph::AlgebraicNode::node_update(), oomph::MacroElementNodeUpdateNode::node_update(), oomph::Node::position(), oomph::Node::position(), oomph::Node::position_gen(), oomph::Node::position_gen(), oomph::RefineableImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::refineable_fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableFSIImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::refineable_fill_in_generic_contribution_to_residuals_fsi_displ_lagr_multiplier(), oomph::RefineableNavierStokesFluxControlElement< ELEMENT >::refineable_fill_in_generic_residual_contribution_fluid_traction(), oomph::Problem::remove_duplicate_data(), oomph::Node::value(), and oomph::Node::value().
Return weight for dofs on i-th master node.
Definition at line 808 of file nodes.h.
References i, Master_weights, Nmaster, and range_check().
Referenced by oomph::RefineableAdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::RefineableYoungLaplaceEquations::fill_in_contribution_to_residuals(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::SolidNode::lagrangian_position(), oomph::SolidNode::lagrangian_position_gen(), oomph::Node::position(), oomph::Node::position(), oomph::Node::position_gen(), oomph::Node::position_gen(), oomph::Node::value(), and oomph::Node::value().
|
inline |
Return the number of master nodes.
Definition at line 785 of file nodes.h.
References Nmaster.
Referenced by oomph::Mesh::check_halo_schemes(), oomph::RefineableAdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::RefineableYoungLaplaceEquations::fill_in_contribution_to_residuals(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::SolidNode::lagrangian_position(), oomph::SolidNode::lagrangian_position_gen(), oomph::AlgebraicNode::node_update(), oomph::MacroElementNodeUpdateNode::node_update(), oomph::Node::position(), oomph::Node::position(), oomph::Node::position_gen(), oomph::Node::position_gen(), oomph::Problem::remove_duplicate_data(), oomph::Node::value(), and oomph::Node::value().
Check that the argument is within the range of stored data values.
Check that the argument is within the range of stored master nodes.
Definition at line 1456 of file nodes.cc.
Referenced by master_node_pt(), master_weight(), and set_master_node_pt().
void oomph::HangInfo::set_master_node_pt | ( | const unsigned & | i, |
Node *const & | master_node_pt, | ||
const double & | weight | ||
) |
Set the pointer to the i-th master node and its weight.
Definition at line 1474 of file nodes.cc.
References i, Master_nodes_pt, Master_weights, and range_check().
Referenced by oomph::Problem::remove_duplicate_data().
|
private |
C-style array of pointers to nodes that this hanging node depends on.
Definition at line 839 of file nodes.h.
Referenced by add_master_node_pt(), HangInfo(), master_node_pt(), set_master_node_pt(), and ~HangInfo().
|
private |
C-style array of weights for the dofs on the master nodes.
Definition at line 842 of file nodes.h.
Referenced by add_master_node_pt(), HangInfo(), master_weight(), set_master_node_pt(), and ~HangInfo().
|
private |
Number of master nodes required by this hanging node.
Definition at line 845 of file nodes.h.
Referenced by add_master_node_pt(), master_node_pt(), master_weight(), nmaster(), range_check(), and ~HangInfo().