Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
curved Namespace Reference

Classes

class  Geometry
 Curved geometry of one rank's mesh. Faces are curved where they lie on a curved surface, and in 3D where they share an edge with one (blended from their edges). Reference coordinates of a face, in its node order: 2D s in [-1, 1] from node 0 to node 1; triangles (u, v) with x = v0 + u (v1 - v0) + v (v2 - v0) when flat; quadrilaterals (s, t) in [-1, 1]^2, nodes 0..3 at (-1, -1), (1, -1), (1, 1), (-1, 1). More...
 
struct  Shape
 An analytic surface onto which the faces of a boundary zone are projected: a circle (2D) or a sphere or circular cylinder (3D). More...
 
struct  SurfaceFace
 A curved boundary face of the whole mesh: its corners (global node ids, in the element's order) and either an analytic shape or the nodes of a high-order Gmsh element (corners first, Gmsh order). More...
 
struct  Surfaces
 The curved boundary of a mesh, identical on every rank: the analytic shapes and every curved boundary face, sorted by their sorted corners. More...
 

Typedefs

using Vec3 = std::array< double, 3 >
 

Functions

uint32_t element_order (uint32_t n_corners, uint32_t n_nodes)
 Order of a Gmsh boundary element with n_corners corners and n_nodes nodes (1 linear, 2 or 3; triangle9 and quadrangle8 are the incomplete cubic and quadratic ones), or 0 if unsupported.
 
bool enabled (const toml::value &input)
 [mesh] curved: whether curved geometry is used at all (default true).
 
std::vector< Shape > read_shapes (const toml::value &input)
 Analytic shapes of the [[mesh.curved]] entries (none if [mesh] curved = false).
 
Surfaces surfaces_of_mesh (const Mesh &mesh, const toml::value &input)
 The curved surfaces of a whole mesh held by this rank: the high-order faces it was read with (Mesh::high_order_faces) and the faces of the zones of the analytic shapes.
 
Surfaces surfaces_of_block (const MeshBlock &block, const toml::value &input)
 The curved surfaces of a mesh spread over the ranks as blocks (collective): every rank gets the faces of every block.
 

Typedef Documentation

◆ Vec3

using curved::Vec3 = typedef std::array<double, 3>

Function Documentation

◆ element_order()

uint32_t curved::element_order ( uint32_t  n_corners,
uint32_t  n_nodes 
)

Order of a Gmsh boundary element with n_corners corners and n_nodes nodes (1 linear, 2 or 3; triangle9 and quadrangle8 are the incomplete cubic and quadratic ones), or 0 if unsupported.

◆ enabled()

bool curved::enabled ( const toml::value &  input)

[mesh] curved: whether curved geometry is used at all (default true).

◆ read_shapes()

std::vector< Shape > curved::read_shapes ( const toml::value &  input)

Analytic shapes of the [[mesh.curved]] entries (none if [mesh] curved = false).

◆ surfaces_of_block()

Surfaces curved::surfaces_of_block ( const MeshBlock &  block,
const toml::value &  input 
)

The curved surfaces of a mesh spread over the ranks as blocks (collective): every rank gets the faces of every block.

◆ surfaces_of_mesh()

Surfaces curved::surfaces_of_mesh ( const Mesh &  mesh,
const toml::value &  input 
)

The curved surfaces of a whole mesh held by this rank: the high-order faces it was read with (Mesh::high_order_faces) and the faces of the zones of the analytic shapes.