atlas::mesh namespace

Namespaces

namespace actions
namespace elementtypes
namespace temporary

Classes

template<typename ConnectivityImpl>
class ConnectivityInterface
class ConnectivityRow
class IrregularConnectivityImpl
class MultiBlockConnectivityImpl
Connectivity contiguously composed of multiple BlockConnectivityImpl.
class BlockConnectivityImpl
Block Connectivity table.
class Elements
Describe elements of a single type.
class ElementType
ElementType class (abstract) that provides access to geometric information of an element.
class Halo
class HybridElements
HybridElements class that describes elements of different types.
class IsGhostNode
class MeshBuilder
Construct a Mesh by importing external connectivity data.
class TriangularMeshBuilder
class Nodes
Nodes class that owns a collection of fields defined in nodes of the mesh.
class PartitionPolygon
Polygon class that holds the boundary of a mesh partition.

Typedefs

using IrregularConnectivity = ConnectivityInterface<IrregularConnectivityImpl>
using MultiBlockConnectivity = ConnectivityInterface<MultiBlockConnectivityImpl>
using BlockConnectivity = BlockConnectivityImpl
using Connectivity = IrregularConnectivity
using Edges = HybridElements
using Cells = HybridElements

Functions

auto MAX_STRING_SIZE() -> size_t constexpr
auto atlas__Connectivity__create() -> Connectivity*
auto atlas__MultiBlockConnectivity__create() -> MultiBlockConnectivity*
auto atlas__Connectivity__name(Connectivity* This) -> const char*
void atlas__Connectivity__rename(Connectivity* This, const char* name)
void atlas__Connectivity__delete(Connectivity* This)
void atlas__Connectivity__displs(Connectivity* This, idx_t*& displs, idx_t& size)
void atlas__Connectivity__counts(Connectivity* This, idx_t*& counts, idx_t& size)
void atlas__Connectivity__values(Connectivity* This, idx_t*& values, idx_t& size)
auto atlas__Connectivity__rows(const Connectivity* This) -> idx_t
void atlas__Connectivity__add_values(Connectivity* This, idx_t rows, idx_t cols, idx_t values[])
void atlas__Connectivity__add_missing(Connectivity* This, idx_t rows, idx_t cols)
auto atlas__Connectivity__missing_value(const Connectivity* This) -> idx_t
auto atlas__MultiBlockConnectivity__blocks(const MultiBlockConnectivity* This) -> idx_t
auto atlas__MultiBlockConnectivity__block(MultiBlockConnectivity* This, idx_t block_idx) -> BlockConnectivityImpl*
auto atlas__BlockConnectivity__rows(const BlockConnectivityImpl* This) -> idx_t
auto atlas__BlockConnectivity__cols(const BlockConnectivityImpl* This) -> idx_t
auto atlas__BlockConnectivity__missing_value(const BlockConnectivityImpl* This) -> idx_t
void atlas__BlockConnectivity__data(BlockConnectivityImpl* This, idx_t*& data, idx_t& rows, idx_t& cols)
void atlas__BlockConnectivity__delete(BlockConnectivityImpl* This)
void atlas__mesh__Elements__delete(Elements* This)
auto atlas__mesh__Elements__size(const Elements* This) -> idx_t
auto atlas__mesh__Elements__begin(const Elements* This) -> idx_t
auto atlas__mesh__Elements__end(const Elements* This) -> idx_t
auto atlas__mesh__Elements__node_connectivity(Elements* This) -> BlockConnectivity*
auto atlas__mesh__Elements__edge_connectivity(Elements* This) -> BlockConnectivity*
auto atlas__mesh__Elements__cell_connectivity(Elements* This) -> BlockConnectivity*
auto atlas__mesh__Elements__has_field(const Elements* This, char* name) -> int
auto atlas__mesh__Elements__nb_fields(const Elements* This) -> int
auto atlas__mesh__Elements__field_by_idx(Elements* This, idx_t idx) -> field::FieldImpl*
auto atlas__mesh__Elements__field_by_name(Elements* This, char* name) -> field::FieldImpl*
auto atlas__mesh__Elements__global_index(Elements* This) -> field::FieldImpl*
auto atlas__mesh__Elements__remote_index(Elements* This) -> field::FieldImpl*
auto atlas__mesh__Elements__partition(Elements* This) -> field::FieldImpl*
auto atlas__mesh__Elements__halo(Elements* This) -> field::FieldImpl*
auto atlas__mesh__Elements__element_type(const Elements* This) -> const ElementType*
void atlas__mesh__Elements__add(Elements* This, idx_t nb_elements)
auto atlas__mesh__ElementType__create(const char* name) -> ElementType*
void atlas__mesh__ElementType__delete(ElementType* This)
auto atlas__mesh__ElementType__nb_nodes(const ElementType* This) -> idx_t
auto atlas__mesh__ElementType__nb_edges(const ElementType* This) -> idx_t
auto atlas__mesh__ElementType__parametric(const ElementType* This) -> int
auto atlas__mesh__ElementType__name(const ElementType* This) -> const char*
auto atlas__mesh__HybridElements__create() -> HybridElements*
void atlas__mesh__HybridElements__delete(HybridElements* This)
auto atlas__mesh__HybridElements__node_connectivity(HybridElements* This) -> MultiBlockConnectivity*
auto atlas__mesh__HybridElements__edge_connectivity(HybridElements* This) -> MultiBlockConnectivity*
auto atlas__mesh__HybridElements__cell_connectivity(HybridElements* This) -> MultiBlockConnectivity*
auto atlas__mesh__HybridElements__size(const HybridElements* This) -> idx_t
void atlas__mesh__HybridElements__add_elements(HybridElements* This, ElementType* elementtype, idx_t nb_elements)
void atlas__mesh__HybridElements__add_elements_with_nodes(HybridElements* This, ElementType* elementtype, idx_t nb_elements, idx_t node_connectivity[], int fortran_array)
void atlas__mesh__HybridElements__add_field(HybridElements* This, field::FieldImpl* field)
auto atlas__mesh__HybridElements__has_field(const HybridElements* This, char* name) -> int
auto atlas__mesh__HybridElements__nb_fields(const HybridElements* This) -> int
auto atlas__mesh__HybridElements__nb_types(const HybridElements* This) -> int
auto atlas__mesh__HybridElements__field_by_name(HybridElements* This, char* name) -> field::FieldImpl*
auto atlas__mesh__HybridElements__field_by_idx(HybridElements* This, idx_t idx) -> field::FieldImpl*
auto atlas__mesh__HybridElements__global_index(HybridElements* This) -> field::FieldImpl*
auto atlas__mesh__HybridElements__remote_index(HybridElements* This) -> field::FieldImpl*
auto atlas__mesh__HybridElements__partition(HybridElements* This) -> field::FieldImpl*
auto atlas__mesh__HybridElements__halo(HybridElements* This) -> field::FieldImpl*
auto atlas__mesh__HybridElements__elements(HybridElements* This, idx_t idx) -> Elements*
auto atlas__mesh__Nodes__create() -> Nodes*
void atlas__mesh__Nodes__delete(Nodes* This)
auto atlas__mesh__Nodes__size(Nodes* This) -> idx_t
void atlas__mesh__Nodes__resize(Nodes* This, idx_t size)
auto atlas__mesh__Nodes__nb_fields(Nodes* This) -> idx_t
void atlas__mesh__Nodes__add_field(Nodes* This, field::FieldImpl* field)
void atlas__mesh__Nodes__remove_field(Nodes* This, char* name)
auto atlas__mesh__Nodes__has_field(Nodes* This, char* name) -> int
auto atlas__mesh__Nodes__field_by_name(Nodes* This, char* name) -> field::FieldImpl*
auto atlas__mesh__Nodes__field_by_idx(Nodes* This, idx_t idx) -> field::FieldImpl*
auto atlas__mesh__Nodes__metadata(Nodes* This) -> util::Metadata*
void atlas__mesh__Nodes__str(Nodes* This, char*& str, int& size)
auto atlas__mesh__Nodes__edge_connectivity(Nodes* This) -> IrregularConnectivity*
auto atlas__mesh__Nodes__cell_connectivity(Nodes* This) -> IrregularConnectivity*
auto atlas__mesh__Nodes__connectivity(Nodes* This, char* name) -> IrregularConnectivity*
void atlas__mesh__Nodes__add_connectivity(Nodes* This, IrregularConnectivity* connectivity)
auto atlas__mesh__Nodes__xy(Nodes* This) -> field::FieldImpl*
auto atlas__mesh__Nodes__lonlat(Nodes* This) -> field::FieldImpl*
auto atlas__mesh__Nodes__global_index(Nodes* This) -> field::FieldImpl*
auto atlas__mesh__Nodes__remote_index(Nodes* This) -> field::FieldImpl*
auto atlas__mesh__Nodes__partition(Nodes* This) -> field::FieldImpl*
auto atlas__mesh__Nodes__ghost(Nodes* This) -> field::FieldImpl*