class
#include <atlas/mesh/HybridElements.h>
HybridElements HybridElements class that describes elements of different types.
Public types
- using Connectivity = MultiBlockConnectivity
Constructors, destructors, conversion operators
- HybridElements()
- ~HybridElements() virtual
Public functions
-
auto size() const -> idx_
t - Number of elements.
-
auto nb_nodes(idx_
t elem_idx) const -> idx_ t - Number of nodes for given element.
-
auto nb_edges(idx_
t elem_idx) const -> idx_ t - Number of edges for given element.
-
auto type_idx(idx_
t elem_idx) const -> idx_ t - Element type index for given element.
-
auto name(idx_
t elem_idx) const -> const std:: string& - Element type name for given element.
-
auto node_connectivity() const -> const HybridElements::
Connectivity& - Element to Node connectivity table.
-
auto node_connectivity() -> HybridElements::
Connectivity& -
auto edge_connectivity() const -> const HybridElements::
Connectivity& - Element to Edge connectivity table.
-
auto edge_connectivity() -> HybridElements::
Connectivity& -
auto cell_connectivity() const -> const HybridElements::
Connectivity& - Element to Cell connectivity table.
-
auto cell_connectivity() -> HybridElements::
Connectivity& -
auto nb_types() const -> idx_
t - Number of types present in HybridElements.
-
auto element_type(idx_
t type_idx) const -> const ElementType& - The element_type description for given type.
-
auto elements(idx_
t type_idx) const -> const Elements& - Sub-elements convenience class for given type This allows optimized access to connectivities and loops.
-
auto elements(idx_
t type_idx) -> Elements& -
auto field(const std::
string& name) const -> const Field& -
auto field(const std::
string& name) -> Field& -
auto has_field(const std::
string& name) const -> bool -
auto field(idx_
t) const -> const Field& -
auto field(idx_
t) -> Field& -
auto nb_fields() const -> idx_
t -
auto metadata() const -> const util::
Metadata& -
auto metadata() -> util::
Metadata& - auto global_index() const -> const Field&
- auto global_index() -> Field&
- auto remote_index() const -> const Field&
- auto remote_index() -> Field&
- auto partition() const -> const Field&
- auto partition() -> Field&
- auto halo() const -> const Field&
- auto halo() -> Field&
- auto flags() const -> const Field&
- auto flags() -> Field&
-
auto add(const ElementType*,
idx_
t nb_elements) -> idx_ t - Add a new element type with given number of elements.
-
auto add(const ElementType*,
idx_
t nb_elements, const std:: vector<idx_ t>& node_connectivity) -> idx_ t - Add a new element type with given number of elements and node-connectivity.
-
auto add(const ElementType*,
idx_
t nb_elements, const idx_ t node_connectivity[]) -> idx_ t - Add a new element type with given number of elements and node-connectivity.
-
auto add(const ElementType*,
idx_
t nb_elements, const idx_ t node_connectivity[], bool fortran_array) -> idx_ t - Add a new element type with given number of elements and node-connectivity.
-
auto add(const Elements&) -> idx_
t - Add a new element type from existing Elements. Data will be copied.
- auto add(const Field& field) -> Field
-
void remove_field(const std::
string& name) -
void insert(idx_
t type_idx, idx_ t position, idx_ t nb_elements = 1) - void updateDevice() const
- void updateHost() const
- void syncHostDevice() const
- void clear()
- auto footprint() const -> size_t
- Return the memory footprint of the elements.
Function documentation
idx_ t atlas:: mesh:: HybridElements:: add(const ElementType*,
idx_ t nb_elements)
Add a new element type with given number of elements.
Returns | type_idx of the added element type |
---|
idx_ t atlas:: mesh:: HybridElements:: add(const ElementType*,
idx_ t nb_elements,
const std:: vector<idx_ t>& node_connectivity)
Add a new element type with given number of elements and node-connectivity.
Returns | type_idx of the added element type |
---|
idx_ t atlas:: mesh:: HybridElements:: add(const ElementType*,
idx_ t nb_elements,
const idx_ t node_connectivity[])
Add a new element type with given number of elements and node-connectivity.
Returns | type_idx of the added element type |
---|
idx_ t atlas:: mesh:: HybridElements:: add(const ElementType*,
idx_ t nb_elements,
const idx_ t node_connectivity[],
bool fortran_array)
Add a new element type with given number of elements and node-connectivity.
Returns | type_idx of the added element type |
---|