Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::FieldPointBase< Derived, FieldType > Struct Template Reference

A class template that contains the underlying FieldType data of the Derived particle. More...

#include <FieldPointBase.h>

Inheritance diagram for model::FieldPointBase< Derived, FieldType >:
Collaboration diagram for model::FieldPointBase< Derived, FieldType >:

Public Types

enum  { rows =FieldType::rows }
enum  { cols =FieldType::cols }
enum  { DataPerParticle =rows*cols }
typedef FieldType::Scalar Scalar
typedef FieldPointBase< Derived, FieldType > FieldPointBaseType
typedef Eigen::Map< Eigen::Matrix< typename FieldType::Scalar, FieldType::rows, FieldType::cols > > EigenMapType
typedef EigenMapType BaseEigenType
typedef Eigen::Matrix< typename FieldType::Scalar, FieldType::rows, FieldType::cols > BaseEigenType

Public Member Functions

void set_mpiID (const size_t &k)
 FieldPointBase (const bool &enb)
 FieldPointBase (const bool &enb)
template<typename OtherDerived>
FieldPointBaseType & operator= (const Eigen::MatrixBase< OtherDerived > &other)

Static Public Member Functions

static void resize (const unsigned int &k, const Scalar &val=Scalar())

Public Attributes

const bool enabled

Static Public Attributes

static std::vector< Scalar > resultVector

Detailed Description

template<typename Derived, typename FieldType>
struct model::FieldPointBase< Derived, FieldType >

A class template that contains the underlying FieldType data of the Derived particle.

If MPI is not used, the data is stored locally in the base class Eigen::Matrix<scalar,rows,cols>.

In case that MPI is used, the underlying data is not stored with the object but is delocalized to a static vector that can efficiently be syncronized using MPI_Allgatherv. However, the base data is conveniently used as regular Eigen object via the Eigen::Map class.

Definition at line 26 of file FieldPointBase.h.

Member Typedef Documentation

◆ BaseEigenType [1/2]

template<typename Derived, typename FieldType>
typedef Eigen::Matrix<typename FieldType::Scalar,FieldType::rows,FieldType::cols> model::FieldPointBase< Derived, FieldType >::BaseEigenType

Definition at line 69 of file FieldPointBase.h.

◆ BaseEigenType [2/2]

template<typename Derived, typename FieldType>
typedef EigenMapType model::FieldPointBase< Derived, FieldType >::BaseEigenType

Definition at line 45 of file FieldPointBase.h.

◆ EigenMapType

template<typename Derived, typename FieldType>
typedef Eigen::Map<Eigen::Matrix<typename FieldType::Scalar,FieldType::rows,FieldType::cols> > model::FieldPointBase< Derived, FieldType >::EigenMapType

Definition at line 44 of file FieldPointBase.h.

◆ FieldPointBaseType

template<typename Derived, typename FieldType>
typedef FieldPointBase<Derived,FieldType> model::FieldPointBase< Derived, FieldType >::FieldPointBaseType

Definition at line 37 of file FieldPointBase.h.

◆ Scalar

template<typename Derived, typename FieldType>
typedef FieldType::Scalar model::FieldPointBase< Derived, FieldType >::Scalar

Definition at line 36 of file FieldPointBase.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived, typename FieldType>
anonymous enum
Enumerator
cols 

Definition at line 34 of file FieldPointBase.h.

◆ anonymous enum

template<typename Derived, typename FieldType>
anonymous enum
Enumerator
DataPerParticle 

Definition at line 35 of file FieldPointBase.h.

◆ anonymous enum

template<typename Derived, typename FieldType>
anonymous enum
Enumerator
rows 

Definition at line 33 of file FieldPointBase.h.

Constructor & Destructor Documentation

◆ FieldPointBase() [1/2]

template<typename Derived, typename FieldType>
model::FieldPointBase< Derived, FieldType >::FieldPointBase ( const bool & enb)
inline

Definition at line 61 of file FieldPointBase.h.

◆ FieldPointBase() [2/2]

template<typename Derived, typename FieldType>
model::FieldPointBase< Derived, FieldType >::FieldPointBase ( const bool & enb)
inline

Definition at line 72 of file FieldPointBase.h.

Member Function Documentation

◆ operator=()

template<typename Derived, typename FieldType>
template<typename OtherDerived>
FieldPointBaseType & model::FieldPointBase< Derived, FieldType >::operator= ( const Eigen::MatrixBase< OtherDerived > & other)
inline

Definition at line 81 of file FieldPointBase.h.

◆ resize()

template<typename Derived, typename FieldType>
void model::FieldPointBase< Derived, FieldType >::resize ( const unsigned int & k,
const Scalar & val = Scalar() )
inlinestatic

Definition at line 49 of file FieldPointBase.h.

◆ set_mpiID()

template<typename Derived, typename FieldType>
void model::FieldPointBase< Derived, FieldType >::set_mpiID ( const size_t & k)
inline

Definition at line 55 of file FieldPointBase.h.

Member Data Documentation

◆ enabled

template<typename Derived, typename FieldType>
const bool model::FieldPointBase< Derived, FieldType >::enabled

Definition at line 39 of file FieldPointBase.h.

◆ resultVector

template<typename Derived, typename FieldType>
std::vector<Scalar> model::FieldPointBase< Derived, FieldType >::resultVector
static

Definition at line 43 of file FieldPointBase.h.


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