![]() |
|
#include <channel_spine_mesh.template.h>
Public Member Functions | |
ChannelSpineMesh (const unsigned &nx0, const unsigned &nx1, const unsigned &nx2, const unsigned &ny, const double &lx0, const double &lx1, const double &lx2, const double &h, GeomObject *wall_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) | |
ChannelSpineMesh (const unsigned &nx0, const unsigned &nx1, const unsigned &nx2, const unsigned &ny, const double &lx0, const double &lx1, const double &lx2, const double &h, GeomObject *wall_pt, const bool &periodic_in_x, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) | |
FiniteElement *& | left_element_pt (const unsigned long &i) |
FiniteElement *& | centre_element_pt (const unsigned long &i) |
FiniteElement *& | right_element_pt (const unsigned long &i) |
unsigned long | nleft () const |
Number of elements in left region. More... | |
unsigned long | ncentre () const |
Number of elements in centre region. More... | |
unsigned long | nright () const |
Number of elements in right region. More... | |
unsigned long | nbulk () const |
Number of elements in bulk. More... | |
void | element_reorder () |
virtual void | spine_node_update (SpineNode *spine_node_pt) |
virtual double | x_spacing_function (unsigned xelement, unsigned xnode, unsigned yelement, unsigned ynode) |
Spine *& | left_spine_pt (const unsigned long &i) |
Access function for spines in left region. More... | |
Spine *& | centre_spine_pt (const unsigned long &i) |
Access function for spines in centre region. More... | |
Spine *& | right_spine_pt (const unsigned long &i) |
Access function for spines in right region. More... | |
unsigned | nleft_spine () |
Access function for the number of spines in the left region. More... | |
unsigned | ncentre_spine () |
Access function for the number of spines in the centre region. More... | |
unsigned | nright_spine () |
Access function for the number of spines in the right region. More... | |
GeomObject * | wall_pt () |
Access function to the GeomObject for upper wall. More... | |
GeomObject * | straight_wall_pt () |
Access function to the GeomObject for the straight upper wall. More... | |
![]() | |
RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) | |
RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &xmin, const double &xmax, const double &ymin, const double &ymax, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) | |
RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, const bool &periodic_in_x, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) | |
RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &xmin, const double &xmax, const double &ymin, const double &ymax, const bool &periodic_in_x, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) | |
const unsigned & | nx () const |
Return number of elements in x direction. More... | |
const unsigned & | ny () const |
Return number of elements in y direction. More... | |
const double | x_min () const |
Return the minimum value of x coordinate. More... | |
const double | x_max () const |
Return the maximum value of x coordinate. More... | |
const double | y_min () const |
Return the minimum value of y coordinate. More... | |
const double | y_max () const |
Return the maximum value of y coordinate. More... | |
virtual double | y_spacing_function (unsigned xelement, unsigned xnode, unsigned yelement, unsigned ynode) |
![]() | |
QuadMeshBase () | |
Constructor (empty) More... | |
QuadMeshBase (const QuadMeshBase &node)=delete | |
Broken copy constructor. More... | |
void | operator= (const QuadMeshBase &)=delete |
Broken assignment operator. More... | |
virtual | ~QuadMeshBase () |
Destructor (empty) More... | |
void | setup_boundary_element_info () |
void | setup_boundary_element_info (std::ostream &outfile) |
![]() | |
Mesh () | |
Default constructor. More... | |
Mesh (const Vector< Mesh * > &sub_mesh_pt) | |
void | merge_meshes (const Vector< Mesh * > &sub_mesh_pt) |
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 | 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... | |
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) |
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... | |
![]() | |
virtual | ~SpineMesh () |
Destructor to clean up the memory allocated to the spines. More... | |
Spine *& | spine_pt (const unsigned long &i) |
Return the i-th spine in the mesh. More... | |
const Spine * | spine_pt (const unsigned long &i) const |
Return the i-th spine in the mesh (const version) More... | |
unsigned long | nspine () const |
Return the number of spines in the mesh. More... | |
void | add_spine_pt (Spine *const &spine_pt) |
Add a spine to the mesh. More... | |
SpineNode * | node_pt (const unsigned long &n) |
Return a pointer to the n-th global SpineNode. More... | |
SpineNode * | element_node_pt (const unsigned long &e, const unsigned &n) |
unsigned long | assign_global_spine_eqn_numbers (Vector< double * > &Dof_pt) |
Assign spines to Spine_pt vector of element. More... | |
void | describe_spine_dofs (std::ostream &out, const std::string ¤t_string) const |
void | set_mesh_level_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
void | set_spine_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
Assign time stepper to spines data. More... | |
void | set_consistent_pinned_spine_values_for_continuation (ContinuationStorageScheme *const &continuation_stepper_pt) |
bool | does_pointer_correspond_to_spine_data (double *const ¶meter_pt) |
void | node_update (const bool &update_all_solid_nodes=false) |
void | dump (std::ofstream &dump_file) const |
Overload the dump function so that the spine data is dumped. More... | |
void | read (std::ifstream &restart_file) |
Overload the read function so that the spine data is also read. More... | |
Protected Member Functions | |
virtual void | build_channel_spine_mesh (TimeStepper *time_stepper_pt) |
![]() | |
void | build_mesh (TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) |
Generic mesh construction function: contains all the hard work. More... | |
RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &xmin, const double &xmax, const double &ymin, const double &ymax, const bool &periodic_in_x, const bool &build, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) | |
![]() | |
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< FiniteElement * > | Left_element_pt |
Vector of pointers to element in the left region. More... | |
Vector< FiniteElement * > | Centre_element_pt |
Vector of pointers to element in the centre region. More... | |
Vector< FiniteElement * > | Right_element_pt |
Vector of pointers to element in the right region. More... | |
unsigned | Nx0 |
Number of elements in the left region. More... | |
unsigned | Nx1 |
Number of elements in the centre region. More... | |
unsigned | Nx2 |
Number of elements in the right region. More... | |
double | Lx0 |
Length of left region. More... | |
double | Lx1 |
Length of centre region. More... | |
double | Lx2 |
Length of right region. More... | |
unsigned | Nleft_spine |
Number of spines in left region. More... | |
unsigned | Ncentre_spine |
Number of spines in centre region. More... | |
unsigned | Nright_spine |
Number of spines in right region. More... | |
GeomObject * | Wall_pt |
GeomObject for upper wall. More... | |
GeomObject * | Straight_wall_pt |
GeomObject for the straight upper wall. More... | |
![]() | |
unsigned | Nx |
Nx: number of elements in x-direction. More... | |
unsigned | Ny |
Ny: number of elements in y-direction. More... | |
unsigned | Np |
Np: number of (linear) points in the element. More... | |
double | Xmin |
Minimum value of x coordinate. More... | |
double | Xmax |
Maximum value of x coordinate. More... | |
double | Ymin |
Minimum value of y coordinate. More... | |
double | Ymax |
Maximum value of y coordinate. More... | |
bool | Xperiodic |
![]() | |
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 |
![]() | |
Vector< Spine * > | Spine_pt |
A Spine mesh contains a Vector of pointers to spines. More... | |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
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... | |
Spine mesh class derived from standard 2D mesh. The mesh contains a StraightLine GeomObject which defines the height of the left and right regions (0,2) and another GeomObject is passed to the constructor to define the height in the central region.
oomph::ChannelSpineMesh< ELEMENT >::ChannelSpineMesh | ( | const unsigned & | nx0, |
const unsigned & | nx1, | ||
const unsigned & | nx2, | ||
const unsigned & | ny, | ||
const double & | lx0, | ||
const double & | lx1, | ||
const double & | lx2, | ||
const double & | h, | ||
GeomObject * | wall_pt, | ||
TimeStepper * | time_stepper_pt = &Mesh::Default_TimeStepper |
||
) |
Constructor: Pass number of elements in x-direction in regions 0,1 and 2, number of elements in y-direction, length in x direction in regions 0,1 and 2, height mesh, pointer to the GeomObject defining the heightof the central region and pointer to timestepper (defaults to Steady timestepper)
Constructor for spine 2D mesh: Pass number of elements in x-direction, number of elements in y-direction, axial length and height of layer, and pointer to timestepper (defaults to Static timestepper).
The mesh contains a layer of spinified fluid elements (of type ELEMENT; e.g SpineElement<QCrouzeixRaviartElement<2>) and a surface layer of corresponding Spine interface elements of type INTERFACE_ELEMENT, e.g. SpineLineFluidInterfaceElement<ELEMENT> for 2D planar problems.
References oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), and oomph::ChannelSpineMesh< ELEMENT >::Straight_wall_pt.
oomph::ChannelSpineMesh< ELEMENT >::ChannelSpineMesh | ( | const unsigned & | nx0, |
const unsigned & | nx1, | ||
const unsigned & | nx2, | ||
const unsigned & | ny, | ||
const double & | lx0, | ||
const double & | lx1, | ||
const double & | lx2, | ||
const double & | h, | ||
GeomObject * | wall_pt, | ||
const bool & | periodic_in_x, | ||
TimeStepper * | time_stepper_pt = &Mesh::Default_TimeStepper |
||
) |
Constructor: Pass number of elements in x-direction in regions 0,1 and 2, number of elements in y-direction, length in x direction in regions 0,1 and 2, height mesh, pointer to the GeomObject defining the heightof the central region, a boolean flag to indicate whether or not the mesh is periodic and pointer to timestepper (defaults to Steady timestepper)
Constuctor for spine 2D mesh: Pass number of elements in x-direction, number of elements in y-direction, axial length and height of layer, a boolean flag to make the mesh periodic in the x-direction, and pointer to timestepper (defaults to Static timestepper).
The mesh contains a layer of elements (of type ELEMENT) and a surface layer of corresponding Spine interface elements (of type SpineLineFluidInterfaceElement<ELEMENT>).
References oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), and oomph::ChannelSpineMesh< ELEMENT >::Straight_wall_pt.
|
protectedvirtual |
Helper function to actually build the channel-spine mesh (called from various constructors)
Helper function that actually builds the channel-spine mesh based on the parameters set in the various constructors
References oomph::RectangularQuadMesh< ELEMENT >::build_mesh(), e(), oomph::SpineNode::fraction(), oomph::Spine::height(), i, j, oomph::SpineNode::node_update_fct_id(), GlobalParameters::Nx, GlobalParameters::Ny, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::Data::pin(), oomph::Spine::set_geom_object_pt(), oomph::Spine::set_geom_parameter(), oomph::Spine::spine_height_pt(), oomph::SpineNode::spine_mesh_pt(), oomph::SpineNode::spine_pt(), and Eigen::zeta().
Referenced by oomph::ChannelSpineMesh< ELEMENT >::ChannelSpineMesh().
|
inline |
Access functions for pointers to the \( i \) -th element in the centre region.
References oomph::ChannelSpineMesh< ELEMENT >::Centre_element_pt, and i.
|
inline |
Access function for spines in centre region.
References i, oomph::ChannelSpineMesh< ELEMENT >::Ncentre_spine, oomph::ChannelSpineMesh< ELEMENT >::Nleft_spine, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::SpineMesh::Spine_pt.
|
virtual |
Reorder the elements so we loop over them vertically first (advantageous in "wide" domains if a frontal solver is used).
Reorder the elements, so we loop over them vertically first (advantageous in "wide" domains if a frontal solver is used).
Reimplemented from oomph::RectangularQuadMesh< ELEMENT >.
References e(), i, j, GlobalParameters::Nx, and GlobalParameters::Ny.
|
inline |
Access functions for pointers to the \( i \) -th element in the left region.
References i, and oomph::ChannelSpineMesh< ELEMENT >::Left_element_pt.
|
inline |
Access function for spines in left region.
References i, oomph::ChannelSpineMesh< ELEMENT >::Nleft_spine, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::SpineMesh::Spine_pt.
|
inline |
Number of elements in bulk.
References oomph::ChannelSpineMesh< ELEMENT >::Centre_element_pt, oomph::ChannelSpineMesh< ELEMENT >::Left_element_pt, and oomph::ChannelSpineMesh< ELEMENT >::Right_element_pt.
|
inline |
Number of elements in centre region.
References oomph::ChannelSpineMesh< ELEMENT >::Centre_element_pt.
|
inline |
Access function for the number of spines in the centre region.
References oomph::ChannelSpineMesh< ELEMENT >::Ncentre_spine.
|
inline |
Number of elements in left region.
References oomph::ChannelSpineMesh< ELEMENT >::Left_element_pt.
|
inline |
Access function for the number of spines in the left region.
References oomph::ChannelSpineMesh< ELEMENT >::Nleft_spine.
|
inline |
Number of elements in right region.
References oomph::ChannelSpineMesh< ELEMENT >::Right_element_pt.
|
inline |
Access function for the number of spines in the right region.
References oomph::ChannelSpineMesh< ELEMENT >::Nright_spine.
|
inline |
Access functions for pointers to the \( i \) -th element in the right region.
References i, and oomph::ChannelSpineMesh< ELEMENT >::Right_element_pt.
|
inline |
Access function for spines in right region.
References i, oomph::ChannelSpineMesh< ELEMENT >::Ncentre_spine, oomph::ChannelSpineMesh< ELEMENT >::Nleft_spine, oomph::ChannelSpineMesh< ELEMENT >::Nright_spine, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::SpineMesh::Spine_pt.
|
inlinevirtual |
General node update function implements pure virtual function defined in SpineMesh base class and performs specific node update actions: along vertical spines
Implements oomph::SpineMesh.
References oomph::SpineNode::fraction(), oomph::Spine::geom_object_pt(), oomph::Spine::geom_parameter(), oomph::GeomObject::position(), oomph::SpineNode::spine_pt(), oomph::QuadTreeNames::W, oomph::Node::x(), and oomph::RectangularQuadMesh< ELEMENT >::Ymin.
|
inline |
Access function to the GeomObject for the straight upper wall.
References oomph::ChannelSpineMesh< ELEMENT >::Straight_wall_pt.
|
inline |
Access function to the GeomObject for upper wall.
References oomph::ChannelSpineMesh< ELEMENT >::Wall_pt.
Referenced by doc_sparse_node_update().
|
inlinevirtual |
Return the value of the x-coordinate at the node given by the local node number (xnode, ynode) in the element (xelement,yelement). The description is in a "psudeo" two-dimensional coordinate system, so the range of xelement is [0,Nx-1], yelement is [0,Ny-1], and that of xnode and ynode is [0,Np-1]. The default is to return nodes that are equally spaced in the x coodinate.
Reimplemented from oomph::RectangularQuadMesh< ELEMENT >.
References oomph::ChannelSpineMesh< ELEMENT >::Lx0, oomph::ChannelSpineMesh< ELEMENT >::Lx1, oomph::ChannelSpineMesh< ELEMENT >::Lx2, oomph::RectangularQuadMesh< ELEMENT >::Np, oomph::ChannelSpineMesh< ELEMENT >::Nx0, oomph::ChannelSpineMesh< ELEMENT >::Nx1, oomph::ChannelSpineMesh< ELEMENT >::Nx2, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and oomph::RectangularQuadMesh< ELEMENT >::Xmin.
|
protected |
Vector of pointers to element in the centre region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::centre_element_pt(), oomph::ChannelSpineMesh< ELEMENT >::nbulk(), and oomph::ChannelSpineMesh< ELEMENT >::ncentre().
|
protected |
Vector of pointers to element in the left region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::left_element_pt(), oomph::ChannelSpineMesh< ELEMENT >::nbulk(), and oomph::ChannelSpineMesh< ELEMENT >::nleft().
|
protected |
Length of left region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::x_spacing_function().
|
protected |
Length of centre region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::x_spacing_function().
|
protected |
Length of right region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::x_spacing_function().
|
protected |
Number of spines in centre region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::centre_spine_pt(), oomph::ChannelSpineMesh< ELEMENT >::ncentre_spine(), and oomph::ChannelSpineMesh< ELEMENT >::right_spine_pt().
|
protected |
Number of spines in left region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::centre_spine_pt(), oomph::ChannelSpineMesh< ELEMENT >::left_spine_pt(), oomph::ChannelSpineMesh< ELEMENT >::nleft_spine(), and oomph::ChannelSpineMesh< ELEMENT >::right_spine_pt().
|
protected |
Number of spines in right region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::nright_spine(), and oomph::ChannelSpineMesh< ELEMENT >::right_spine_pt().
|
protected |
Number of elements in the left region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::x_spacing_function().
|
protected |
Number of elements in the centre region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::x_spacing_function().
|
protected |
Number of elements in the right region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::x_spacing_function().
|
protected |
Vector of pointers to element in the right region.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::nbulk(), oomph::ChannelSpineMesh< ELEMENT >::nright(), and oomph::ChannelSpineMesh< ELEMENT >::right_element_pt().
|
protected |
GeomObject for the straight upper wall.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::ChannelSpineMesh(), and oomph::ChannelSpineMesh< ELEMENT >::straight_wall_pt().
|
protected |
GeomObject for upper wall.
Referenced by oomph::ChannelSpineMesh< ELEMENT >::wall_pt().