Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::UniformPeriodicGrid< dim > Struct Template Reference

#include <UniformPeriodicGrid.h>

Collaboration diagram for model::UniformPeriodicGrid< dim >:

Public Types

typedef Eigen::Array< int,dim, 1 > ArrayDimI
typedef Eigen::Array< double, dim, 1 > ArrayDimD

Public Member Functions

 UniformPeriodicGrid (const ArrayDimI &gridSize_in, const ArrayDimD &gridSpacing_in)
std::array< ArrayDimI, CTM::pow(2, dim)> posToCornerIdx (const ArrayDimD &localPos) const
std::array< ArrayDimI, CTM::pow(2, dim)> posToPeriodicCornerIdx (const ArrayDimD &localPos) const
ArrayDimD idxToPos (const ArrayDimI &idx) const
std::array< double, CTM::pow(2, dim)> posToWeights (const ArrayDimD &localPos) const
std::pair< std::array< ArrayDimI, CTM::pow(2, dim)>, std::array< double, CTM::pow(2, dim)> > posToPeriodicCornerIdxAndWeights (const ArrayDimD &localPos) const
std::pair< ArrayDimI, ArrayDimI > posToIdx (const ArrayDimD &localPos) const
std::pair< ArrayDimI, ArrayDimI > posToPeriodicIdx (const ArrayDimD &localPos) const
ArrayDimI idxToPeriodicIdx (const ArrayDimI &gi) const
std::pair< ArrayDimI, ArrayDimI > idxToPeriodicIdx (const std::pair< ArrayDimI, ArrayDimI > &idx) const

Static Public Member Functions

static std::array< ArrayDimI, CTM::pow(2, dim)> cornerIdx (const std::pair< ArrayDimI, ArrayDimI > &idx)

Public Attributes

const ArrayDimI gridSize
const ArrayDimD gridSpacing

Detailed Description

template<int dim>
struct model::UniformPeriodicGrid< dim >

Definition at line 19 of file UniformPeriodicGrid.h.

Member Typedef Documentation

◆ ArrayDimD

template<int dim>
typedef Eigen::Array<double,dim,1> model::UniformPeriodicGrid< dim >::ArrayDimD

Definition at line 23 of file UniformPeriodicGrid.h.

◆ ArrayDimI

template<int dim>
typedef Eigen::Array<int ,dim,1> model::UniformPeriodicGrid< dim >::ArrayDimI

Definition at line 22 of file UniformPeriodicGrid.h.

Constructor & Destructor Documentation

◆ UniformPeriodicGrid()

template<int dim>
model::UniformPeriodicGrid< dim >::UniformPeriodicGrid ( const ArrayDimI & gridSize_in,
const ArrayDimD & gridSpacing_in )

Definition at line 19 of file UniformPeriodicGrid.cpp.

Member Function Documentation

◆ cornerIdx()

template<int dim>
std::array< typename UniformPeriodicGrid< dim >::ArrayDimI, CTM::pow(2, dim)> model::UniformPeriodicGrid< dim >::cornerIdx ( const std::pair< ArrayDimI, ArrayDimI > & idx)
static

Definition at line 27 of file UniformPeriodicGrid.cpp.

◆ idxToPeriodicIdx() [1/2]

template<int dim>
UniformPeriodicGrid< dim >::ArrayDimI model::UniformPeriodicGrid< dim >::idxToPeriodicIdx ( const ArrayDimI & gi) const
Parameters
[in]githe grid index possibly outside the gridSize bounds
Returns
The grid index periodically wrapped within the gridSize bounds

Definition at line 106 of file UniformPeriodicGrid.cpp.

◆ idxToPeriodicIdx() [2/2]

template<int dim>
std::pair< typename UniformPeriodicGrid< dim >::ArrayDimI, typename UniformPeriodicGrid< dim >::ArrayDimI > model::UniformPeriodicGrid< dim >::idxToPeriodicIdx ( const std::pair< ArrayDimI, ArrayDimI > & idx) const
Parameters
[in]githe grid index possibly outside the gridSize bounds
Returns
The grid index periodically wrapped within the gridSize bounds

Definition at line 115 of file UniformPeriodicGrid.cpp.

◆ idxToPos()

template<int dim>
UniformPeriodicGrid< dim >::ArrayDimD model::UniformPeriodicGrid< dim >::idxToPos ( const ArrayDimI & idx) const

Definition at line 54 of file UniformPeriodicGrid.cpp.

◆ posToCornerIdx()

template<int dim>
std::array< typename UniformPeriodicGrid< dim >::ArrayDimI, CTM::pow(2, dim)> model::UniformPeriodicGrid< dim >::posToCornerIdx ( const ArrayDimD & localPos) const

Definition at line 42 of file UniformPeriodicGrid.cpp.

◆ posToIdx()

template<int dim>
std::pair< typename UniformPeriodicGrid< dim >::ArrayDimI, typename UniformPeriodicGrid< dim >::ArrayDimI > model::UniformPeriodicGrid< dim >::posToIdx ( const ArrayDimD & localPos) const
Parameters
[in]localPosthe position vector on the grid

\returns The grid indices (possibly outside the gridSize bounds) as the pair (iLow,jLow),(iHIgh,jHigh)

| s2 | s3 | | |(localPos)| |____+_____ |

s0 s1

---------------—* iLow,jLow

Definition at line 79 of file UniformPeriodicGrid.cpp.

◆ posToPeriodicCornerIdx()

template<int dim>
std::array< typename UniformPeriodicGrid< dim >::ArrayDimI, CTM::pow(2, dim)> model::UniformPeriodicGrid< dim >::posToPeriodicCornerIdx ( const ArrayDimD & localPos) const

Definition at line 48 of file UniformPeriodicGrid.cpp.

◆ posToPeriodicCornerIdxAndWeights()

template<int dim>
std::pair< std::array< typename UniformPeriodicGrid< dim >::ArrayDimI, CTM::pow(2, dim)>, std::array< double, CTM::pow(2, dim)> > model::UniformPeriodicGrid< dim >::posToPeriodicCornerIdxAndWeights ( const ArrayDimD & localPos) const

Definition at line 73 of file UniformPeriodicGrid.cpp.

◆ posToPeriodicIdx()

template<int dim>
std::pair< typename UniformPeriodicGrid< dim >::ArrayDimI, typename UniformPeriodicGrid< dim >::ArrayDimI > model::UniformPeriodicGrid< dim >::posToPeriodicIdx ( const ArrayDimD & localPos) const
Parameters
[in]localPosthe position vector on the grid
Returns
The grid index periodically wrapped within the gridSize bounds

Definition at line 98 of file UniformPeriodicGrid.cpp.

◆ posToWeights()

template<int dim>
std::array< double, CTM::pow(2, dim)> model::UniformPeriodicGrid< dim >::posToWeights ( const ArrayDimD & localPos) const

Definition at line 60 of file UniformPeriodicGrid.cpp.

Member Data Documentation

◆ gridSize

template<int dim>
const ArrayDimI model::UniformPeriodicGrid< dim >::gridSize

Definition at line 25 of file UniformPeriodicGrid.h.

◆ gridSpacing

template<int dim>
const ArrayDimD model::UniformPeriodicGrid< dim >::gridSpacing

Definition at line 26 of file UniformPeriodicGrid.h.


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