|
Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website |
Curved (high-order) boundary geometry: face maps, face quadrature and cell integration rules (docs/design/curved_boundaries.md). More...
#include <array>#include <cstdint>#include <map>#include <string>#include <utility>#include <vector>#include <toml.hpp>#include "common_typedef.h"Go to the source code of this file.
Classes | |
| struct | curved::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 | curved::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 | curved::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... | |
| class | curved::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... | |
Namespaces | |
| namespace | curved |
Typedefs | |
| using | curved::Vec3 = std::array< double, 3 > |
Functions | |
| std::vector< Shape > | curved::read_shapes (const toml::value &input) |
| Analytic shapes of the [[mesh.curved]] entries (none if [mesh] curved = false). | |
| bool | curved::enabled (const toml::value &input) |
| [mesh] curved: whether curved geometry is used at all (default true). | |
| 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. | |
| 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. | |
| 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. | |
Curved (high-order) boundary geometry: face maps, face quadrature and cell integration rules (docs/design/curved_boundaries.md).