29#ifndef OOMPH_HERMITE_ELEMENT_QUAD_MESH_HEADER
30#define OOMPH_HERMITE_ELEMENT_QUAD_MESH_HEADER
34#include <oomph-lib-config.h>
38#include "generic/hermite_elements.h"
39#include "generic/mesh.h"
52 template<
class ELEMENT>
81 MeshChecker::assert_geometric_element<QHermiteElementBase, ELEMENT>(2);
123 MeshChecker::assert_geometric_element<QHermiteElementBase, ELEMENT>(2);
Quadrilateral mesh generator; Uses input from Geompack++. See: http://members.shaw....
A two dimensional Hermite bicubic element quadrilateral mesh for a topologically rectangular domain....
Vector< unsigned > Nelement
number of elements in each coordinate direction
void generalised_macro_element_position_of_node(const unsigned &node_num_x, const unsigned &node_num_y, DenseMatrix< double > &m_gen)
computes the generalised position of the node at position (node_num_x, node_num_y) in the macro eleme...
MeshSpacingFnPtr Node_spacing_fn
non uniform mesh spacing function pointer
unsigned & nelement_in_dim(const unsigned &d)
Access function for number of elements in mesh in each dimension.
virtual void setup_boundary_element_info()
Setup lookup schemes which establish whic elements are located next to mesh's boundaries (wrapper to ...
void set_position_of_boundary_node(const unsigned &node_num_x, const unsigned &node_num_y, BoundaryNode< Node > *node_pt)
sets the generalised position of the node (i.e. - x_i, dx_i/ds_0, dx_i/ds_1 & d2x_i/ds_0ds_1 for i = ...
void macro_coordinate_position(const unsigned &node_num_x, const unsigned &node_num_y, Vector< double > ¯o_element_position)
returns the macro element position of the node that is the x-th node along from the LHS and the y-th ...
~HermiteQuadMesh()
Destructor - does nothing - handled in mesh base class.
void set_position_of_node(const unsigned &node_num_x, const unsigned &node_num_y, Node *node_pt)
sets the generalised position of the node (i.e. - x_i, dx_i/ds_0, dx_i/ds_1 & d2x_i/ds_0ds_1 for i = ...
void(* MeshSpacingFnPtr)(const Vector< double > &m_uniform_spacing, Vector< double > &m_non_uniform_spacing)
Mesh Spacing Function Pointer - an optional function pointer to prescibe the node spacing in a non-un...
HermiteQuadMesh(const unsigned &nx, const unsigned &ny, TopologicallyRectangularDomain *domain, const MeshSpacingFnPtr spacing_fn, const bool &periodic_in_x=false, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Mesh Constructor (for a non-uniformly spaced mesh). Takes the following arguments : nx : number of el...
HermiteQuadMesh(const unsigned &nx, const unsigned &ny, TopologicallyRectangularDomain *domain, const bool &periodic_in_x=false, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Mesh Constructor (for a uniformly spaced mesh). Takes the following arguments : nx : number of elemen...
bool Xperiodic
boolean variable to determine whether the mesh is periodic in the x-direction
TopologicallyRectangularDomain * Domain_pt
Pointer to the topologically rectangular domain which prescribes the problem domain.
virtual void build_mesh(TimeStepper *time_stepper_pt)
Generic mesh construction function to build the mesh.
Topologically Rectangular Domain - a domain dexcribing a topologically rectangular problem - primaril...