DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::Geom::CoordPairDOF Struct Reference
Inheritance diagram for DNDS::Geom::CoordPairDOF:
[legend]
Collaboration diagram for DNDS::Geom::CoordPairDOF:
[legend]

Public Member Functions

real dot (CoordPairDOF &R)
 
real norm2 ()
 
void addTo (CoordPairDOF &R, real alpha)
 
void setConstant (real v)
 
void operator= (CoordPairDOF &R)
 
void operator*= (real r)
 
- Public Member Functions inherited from DNDS::ArrayPair< DNDS::ArrayEigenVector< 3 > >
void clone (const t_self &R)
 Deep-copy: allocate new father / son and copy their data; rebind trans.
 
decltype(father->operator[](index(0))) operator[] (index i) const
 Read-only row-pointer access in the combined address space.
 
decltype(father->operator[](index(0))) operator[] (index i)
 Mutable row-pointer access in the combined address space.
 
decltype(autooperator() (index i, TOthers... aOthers)
 N-ary element access in the combined space (mutable). Arguments after the row index are forwarded to the underlying operator().
 
decltype(autooperator() (index i, TOthers... aOthers) const
 N-ary element access (const).
 
auto runFunctionAppendedIndex (index i, TF &&F)
 Invoke F(array, localIndex) on either father or son depending on which range i falls into.
 
auto RowSize () const
 Uniform row width (delegates to father).
 
auto RowSize (index i) const
 Per-row width in the combined address space.
 
void ResizeRow (index i, rowsize rs)
 Resize a single row in the combined address space.
 
void ResizeRow (index i, TOthers... aOthers)
 Variadic ResizeRow overload that forwards extra args.
 
index Size () const
 Combined row count (father->Size() + son->Size()).
 
void TransAttach ()
 Bind the transformer to the current father / son pointers.
 
void InitPair (const std::string &name, Args &&...args)
 Allocate both father and son arrays, forwarding all args to TArray constructor.
 
void BorrowAndPull (TPrimaryPair &primary)
 Attach, borrow ghost indexing from a primary pair, create MPI types, and pull once.
 
void BorrowSetup (TPrimaryPair &primary)
 Attach, borrow ghost indexing from a primary pair, and create MPI types (no pull).
 
void CompressBoth ()
 Compress both father and son CSR arrays (no-op for non-CSR layouts).
 
void CopyFather (t_self &R)
 Copy only the father's data from another pair (shallow).
 
void SwapDataFatherSon (t_self &R)
 Swap both father and son data with another pair of the same type.
 
std::size_t hash ()
 Combined hash across ranks. Used for determinism / equality checks in tests.
 
void WriteSerialize (Serializer::SerializerBaseSSP serializerP, const std::string &name, bool includePIG=true, bool includeSon=true)
 Writes the ArrayPair (father, optional son, optional ghost mapping).
 
void WriteSerialize (Serializer::SerializerBaseSSP serializerP, const std::string &name, const std::vector< index > &origIndex, bool includePIG=true, bool includeSon=true)
 Writes the ArrayPair with an origIndex companion dataset for redistribution support.
 
void ReadSerialize (Serializer::SerializerBaseSSP serializerP, const std::string &name, bool includePIG=true, bool includeSon=true)
 Reads an ArrayPair written by WriteSerialize (same partition count).
 
void ReadSerializeRedistributed (Serializer::SerializerBaseSSP serializerP, const std::string &name, const std::vector< index > &newOrigIndex)
 Reads ArrayPair data from HDF5 with redistribution support.
 
auto deviceView ()
 Produce a mutable device view; both father and son must be allocated.
 
auto deviceView () const
 Produce a const device view.
 
void to_device (DeviceBackend backend)
 Mirror both father and son to the given device backend.
 
void to_host ()
 Bring both father and son mirrors back to host memory.
 

Additional Inherited Members

- Public Types inherited from DNDS::ArrayPair< DNDS::ArrayEigenVector< 3 > >
using t_self = ArrayPair< DNDS::ArrayEigenVector< 3 > >
 
using t_arr = DNDS::ArrayEigenVector< 3 >
 
using TTrans = typename ArrayTransformerType< DNDS::ArrayEigenVector< 3 > >::Type
 
using t_deviceView = ArrayPairDeviceView< B, DNDS::ArrayEigenVector< 3 > >
 Device-view template alias: t_deviceView<DeviceBackend::CUDA> gives the mutable CUDA view type for this pair.
 
using t_deviceViewConst = ArrayPairDeviceViewConst< B, DNDS::ArrayEigenVector< 3 > >
 Const-device-view template alias.
 
- Static Public Member Functions inherited from DNDS::ArrayPair< DNDS::ArrayEigenVector< 3 > >
static constexpr bool IsCSR ()
 Whether the underlying array uses CSR storage.
 
- Public Attributes inherited from DNDS::ArrayPair< DNDS::ArrayEigenVector< 3 > >
ssp< DNDS::ArrayEigenVector< 3 > > father
 Owned-side array (must be resized before ghost setup).
 
ssp< DNDS::ArrayEigenVector< 3 > > son
 Ghost-side array (sized automatically by createMPITypes / BorrowAndPull).
 
TTrans trans
 Ghost-communication engine bound to father and son.
 

Detailed Description

Definition at line 22 of file Mesh_Elevation_SmoothSolver.cpp.

Member Function Documentation

◆ addTo()

void DNDS::Geom::CoordPairDOF::addTo ( CoordPairDOF R,
real  alpha 
)
inline

Definition at line 39 of file Mesh_Elevation_SmoothSolver.cpp.

Here is the call graph for this function:

◆ dot()

real DNDS::Geom::CoordPairDOF::dot ( CoordPairDOF R)
inline

Definition at line 24 of file Mesh_Elevation_SmoothSolver.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ norm2()

real DNDS::Geom::CoordPairDOF::norm2 ( )
inline

Definition at line 34 of file Mesh_Elevation_SmoothSolver.cpp.

Here is the call graph for this function:

◆ operator*=()

Definition at line 57 of file Mesh_Elevation_SmoothSolver.cpp.

Here is the call graph for this function:

◆ operator=()

Definition at line 51 of file Mesh_Elevation_SmoothSolver.cpp.

Here is the call graph for this function:

◆ setConstant()

void DNDS::Geom::CoordPairDOF::setConstant ( real  v)
inline

Definition at line 45 of file Mesh_Elevation_SmoothSolver.cpp.

Here is the call graph for this function:

The documentation for this struct was generated from the following file: