# PhasicFlow: internalField< T, MemorySpace > Class Template Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

internalField< T, MemorySpace > Class Template Reference
Inheritance diagram for internalField< T, MemorySpace >:
[legend]
Collaboration diagram for internalField< T, MemorySpace >:
[legend]

## Public Types

using | InternalFieldType = internalField< T, MemorySpace >
using | FieldType = Field< T, MemorySpace >
using | FieldTypeHost = Field< T, HostSpace >
using | VectorType = typename FieldType::VectorType
using | memory_space = typename FieldType::memory_space
using | execution_space = typename FieldType::execution_space
using | pointFieldType = pointField< VectorField, T, MemorySpace >
using | FieldType = Field< VectorField, T, MemorySpace >
using | boundaryFieldListType = boundaryFieldList< VectorField, T, MemorySpace >
using | VectorType = typename FieldType::VectorType
using | iterator = typename FieldType::iterator
using | const_iterator = typename FieldType::const_iterator
using | reference = typename FieldType::reference
using | const_reference = typename FieldType::const_reference
using | value_type = typename FieldType::value_type
using | pointer = typename FieldType::pointer
using | const_pointer = typename FieldType::const_pointer

## Public Member Functions

| internalField (const word &name, const internalPoints &internal, const T &defVal)
| internalField (const word &name, const internalPoints &internal, const T &defVal, const T &val)
const auto & | deviceViewAll () const
auto | deviceView () const
auto | hostView () const
const FieldType & | field () const
FieldType & | field ()
const pFlagTypeDevice & | activePointsMaskDevice () const
const pFlagTypeHost & | activePointsMaskHost () const
FieldTypeHost | activeValuesHost () const
auto | size () const
auto | capacity () const
word | name () const
word | fieldKey () const
const T & | defaultValue () const
rangeU32 | activeRange () const
auto | isAllActive () const
void | fillInternal (const T &val)
bool | insertSetElement (uint32IndexContainer indices, const T &val)
const Time & | time () const
bool | hearChanges (real t, real dt, uint32 iter, const message &msg, const anyList &varList) override
bool | write (iOstream &os, const IOPattern &iop) const
| TypeInfoTemplateNV2 ("pointField", T, VectorType::memoerySpaceName())
| pointField (const objectFile &objf, pointStructure &pStruct, const T &defVal)
Public Member Functions inherited from observer
| observer (message msg)
| observer (const subscriber *subscrbr, message msg)
virtual | ~observer ()
void | subscribe (const subscriber *subscrbr, message msg)
observer & | addEvent (message::EVENT event)
bool | subscribed () const
void | addToSubscriber (const subscriber *subscrbr, message msg)
bool | addToSubscriber (const subscriber &subscriber)

## Protected Member Functions

bool | insert (const anyList &varList)
bool | rearrange (const anyList &varList)

## Protected Attributes

FieldType | field_
| Field. More...
T | defaultValue_
| value when a new item is added to field More...
const internalPoints & | internalPoints_
| const ref to internal points More...
boundaryFieldListType | boundaryFieldList_
| list of boundaries More...
const pointStructure & | pStruct_
| refrence to point structure More...

## Static Protected Attributes

static const message | defaultMessage_

## Additional Inherited Members

Static Public Member Functions inherited from observer
static constexpr auto | numEvents ()

## Detailed Description

### template<class T, class MemorySpace = void>
class pFlow::internalField< T, MemorySpace >

Definition at line 34 of file internalField.hpp.

## Member Typedef Documentation

## InternalFieldType

using InternalFieldType = internalField<T, MemorySpace>

Definition at line 41 of file internalField.hpp.

## FieldType [1/2]

using FieldType = Field<T, MemorySpace>

Definition at line 43 of file internalField.hpp.

## FieldTypeHost

using FieldTypeHost = Field<T, HostSpace>

Definition at line 45 of file internalField.hpp.

## VectorType [1/2]

using VectorType = typename FieldType::VectorType

Definition at line 47 of file internalField.hpp.

## memory_space

using memory_space = typename FieldType::memory_space

Definition at line 49 of file internalField.hpp.

## execution_space

using execution_space = typename FieldType::execution_space

Definition at line 51 of file internalField.hpp.

## pointFieldType

using pointFieldType = pointField<VectorField, T, MemorySpace>

Definition at line 40 of file pointField copy.hpp.

## FieldType [2/2]

using FieldType = Field<VectorField, T, MemorySpace>

Definition at line 42 of file pointField copy.hpp.

## boundaryFieldListType

using boundaryFieldListType = boundaryFieldList<VectorField, T, MemorySpace>

Definition at line 44 of file pointField copy.hpp.

## VectorType [2/2]

using VectorType = typename FieldType::VectorType

Definition at line 46 of file pointField copy.hpp.

## iterator

using iterator = typename FieldType::iterator

Definition at line 48 of file pointField copy.hpp.

## const_iterator

using const_iterator = typename FieldType::const_iterator

Definition at line 50 of file pointField copy.hpp.

## reference

using reference = typename FieldType::reference

Definition at line 52 of file pointField copy.hpp.

## const_reference

using const_reference = typename FieldType::const_reference

Definition at line 54 of file pointField copy.hpp.

## value_type

using value_type = typename FieldType::value_type

Definition at line 56 of file pointField copy.hpp.

## pointer

using pointer = typename FieldType::pointer

Definition at line 58 of file pointField copy.hpp.

## const_pointer

using const_pointer = typename FieldType::const_pointer

Definition at line 60 of file pointField copy.hpp.

## Constructor & Destructor Documentation

## internalField() [1/2]

internalField | ( | const word & | name,
|  | const internalPoints & | internal,
|  | const T & | defVal
| ) |  |

Definition at line 80 of file internalField.cpp.

## internalField() [2/2]

internalField | ( | const word & | name,
|  | const internalPoints & | internal,
|  | const T & | defVal,
|  | const T & | val
| ) |  |

Definition at line 105 of file internalField.cpp.

## Member Function Documentation

## insert()

bool insert | ( | const anyList & | varList | ) |

protected

Definition at line 22 of file internalField.cpp.

## rearrange()

bool rearrange | ( | const anyList & | varList | ) |

protected

Definition at line 58 of file internalField.cpp.

## deviceViewAll()

const auto& deviceViewAll | ( |  | ) | const

inline

Definition at line 92 of file internalField.hpp.

Referenced by boundaryReflective::afterIteration(), ContactSearch< searchMethod >::BroadSearch(), ContactSearch< searchMethod >::ContactSearch(), boundaryField< T, void >::mirrorField(), AdamsMoulton3::predictRange(), AdamsMoulton4::predictRange(), AdamsMoulton5::predictRange(), and boundaryField< T, void >::thisField().

Here is the caller graph for this function:

## deviceView()

auto deviceView | ( |  | ) | const

inline

Definition at line 97 of file internalField.hpp.

Referenced by grainParticles::initializeParticles(), sphereParticles::initializeParticles(), pFlow::intAllActive(), pFlow::intScattered(), and main().

Here is the caller graph for this function:

## hostView()

auto hostView | ( |  | ) | const

inline

Definition at line 103 of file internalField.hpp.

## field() [1/2]

const FieldType& field | ( |  | ) | const

inline

Definition at line 109 of file internalField.hpp.

Referenced by AdamsBashforth2::correct(), pFlow::fillSequence(), grainParticles::grainParticles(), pFlow::max(), pFlow::min(), pFlow::minMax(), and sphereParticles::sphereParticles().

Here is the caller graph for this function:

## field() [2/2]

FieldType& field | ( |  | ) |

inline

Definition at line 115 of file internalField.hpp.

## activePointsMaskDevice()

const pFlagTypeDevice& activePointsMaskDevice | ( |  | ) | const

inline

Definition at line 120 of file internalField.hpp.

Referenced by pFlow::fillSequence(), pFlow::intScattered(), pFlow::max(), pFlow::min(), and pFlow::minMax().

Here is the caller graph for this function:

## activePointsMaskHost()

const pFlagTypeHost& activePointsMaskHost | ( |  | ) | const

inline

Definition at line 125 of file internalField.hpp.

Referenced by pFlow::fillSequence(), pFlow::max(), pFlow::min(), and pFlow::minMax().

Here is the caller graph for this function:

## activeValuesHost()

pFlow::internalField< T, MemorySpace >::FieldTypeHost activeValuesHost

Definition at line 134 of file internalField.cpp.

## size()

auto size | ( |  | ) | const

inline

Definition at line 133 of file internalField.hpp.

## capacity()

auto capacity | ( |  | ) | const

inline

Definition at line 139 of file internalField.hpp.

## name()

word name | ( |  | ) | const

inline

Definition at line 145 of file internalField.hpp.

Referenced by boundaryField< T, void >::fieldName().

Here is the caller graph for this function:

## fieldKey()

word fieldKey | ( |  | ) | const

inline

Definition at line 151 of file internalField.hpp.

## defaultValue()

const T& defaultValue | ( |  | ) | const

inline

Definition at line 157 of file internalField.hpp.

## activeRange()

rangeU32 activeRange | ( |  | ) | const

inline

Definition at line 163 of file internalField.hpp.

Referenced by internalField< realx3, void >::fillInternal().

Here is the caller graph for this function:

## isAllActive()

auto isAllActive | ( |  | ) | const

inline

Definition at line 169 of file internalField.hpp.

## fillInternal()

void fillInternal | ( | const T & | val | ) |

inline

Definition at line 175 of file internalField.hpp.

Referenced by pointField< pFlow::VectorSingle, pFlow::AB3History >::fill().

Here is the caller graph for this function:

## insertSetElement()

bool insertSetElement | ( | uint32IndexContainer | indices,
|  | const T & | val
| ) |  |

inline

Definition at line 181 of file internalField.hpp.

Referenced by AdamsMoulton3::setInitialVals(), AdamsMoulton4::setInitialVals(), and AdamsMoulton5::setInitialVals().

Here is the caller graph for this function:

## time()

const Time& time | ( |  | ) | const

inline

Definition at line 186 of file internalField.hpp.

## hearChanges()

bool hearChanges | ( | real | t,
|  | real | dt,
|  | uint32 | iter,
|  | const message & | msg,
|  | const anyList & | varList
| ) |  |

overridevirtual

Implements observer.

Definition at line 164 of file internalField.cpp.

## write()

bool write | ( | iOstream & | os,
|  | const IOPattern & | iop
| ) |  | const

Definition at line 203 of file internalField.cpp.

## TypeInfoTemplateNV2()

TypeInfoTemplateNV2 | ( | "pointField" | ,
|  | T | ,
|  | VectorType::memoerySpaceName() |
| ) |  |

## pointField()

pointField | ( | const objectFile & | objf,
|  | pointStructure & | pStruct,
|  | const T & | defVal
| ) |  |

## Member Data Documentation

## field_

FieldType field_

protected

Field.

Definition at line 56 of file internalField.hpp.

Referenced by internalField< realx3, void >::capacity(), internalField< realx3, void >::deviceView(), internalField< realx3, void >::deviceViewAll(), internalField< realx3, void >::field(), internalField< realx3, void >::fieldKey(), internalField< realx3, void >::fillInternal(), internalField< realx3, void >::hostView(), internalField< realx3, void >::insertSetElement(), internalField< realx3, void >::name(), and internalField< realx3, void >::size().

## defaultValue_

T defaultValue_

protected

value when a new item is added to field

Definition at line 59 of file internalField.hpp.

Referenced by internalField< realx3, void >::defaultValue().

## internalPoints_

const internalPoints& internalPoints_

protected

const ref to internal points

Definition at line 62 of file internalField.hpp.

Referenced by internalField< realx3, void >::activePointsMaskDevice(), internalField< realx3, void >::activePointsMaskHost(), internalField< realx3, void >::activeRange(), internalField< realx3, void >::isAllActive(), and internalField< realx3, void >::time().

## defaultMessage_

const message defaultMessage_

inlinestaticprotected

Initial value:
=
(
message::CAP_CHANGED+
message::SIZE_CHANGED+
message::ITEM_INSERT+
message::ITEM_REARRANGE+
message::ITEM_DELETE
)

Definition at line 65 of file internalField.hpp.

## boundaryFieldList_

boundaryFieldListType boundaryFieldList_

protected

list of boundaries

Definition at line 67 of file pointField copy.hpp.

## pStruct_

const pointStructure& pStruct_

protected

refrence to point structure

Definition at line 70 of file pointField copy.hpp.

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

- src/phasicFlow/containers/pointField/internalField/internalField.hpp
- src/phasicFlow/containers/pointField/pointField/pointField copy.hpp
- src/phasicFlow/containers/pointField/internalField/internalField.cpp

pFlow::message::SIZE_CHANGED
@ SIZE_CHANGED
Definition: message.hpp:40
pFlow::message::ITEM_REARRANGE
@ ITEM_REARRANGE
Definition: message.hpp:44
pFlow::message::ITEM_INSERT
@ ITEM_INSERT
Definition: message.hpp:42
pFlow::message::ITEM_DELETE
@ ITEM_DELETE
Definition: message.hpp:41
pFlow::message::CAP_CHANGED
@ CAP_CHANGED
Definition: message.hpp:39