Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
bitpit::pod::PODField Struct Reference

The PODfield structure is used to store the fields inside POD classes. More...

#include <pod_common.hpp>

Collaboration diagram for bitpit::pod::PODField:
Collaboration graph
[legend]

Public Member Functions

 PODField ()
 
 PODField (const PODField &field)
 
 PODField (int nsf, int nvf, VolumeKernel *lmesh=nullptr, const PiercedKernel< long > *lkernel=nullptr)
 
 PODField (PODField &&field)=default
 
void clear ()
 
PODFieldoperator= (PODField other)
 
void setDynamicKernel (PiercedKernel< long > *lkernel)
 
void setMesh (const std::shared_ptr< VolumeKernel > &lmesh)
 
void setMesh (VolumeKernel *lmesh)
 
void setStaticKernel (const PiercedKernel< long > *lkernel)
 
void swap (PODField &other)
 

Public Attributes

std::unique_ptr< PiercedStorage< bool > > mask
 
VolumeKernelmesh
 
std::shared_ptr< VolumeKernelmeshStorage
 
std::unique_ptr< pod::ScalarStoragescalar
 
std::unique_ptr< pod::VectorStoragevector
 

Detailed Description

The PODfield structure is used to store the fields inside POD classes.

Examples
POD_example_00002.cpp, POD_example_00004.cpp, and POD_example_00005.cpp.

Definition at line 65 of file pod_common.hpp.

Constructor & Destructor Documentation

◆ PODField() [1/4]

bitpit::pod::PODField::PODField ( )
inline

Creates a new empty pod field.

Definition at line 76 of file pod_common.hpp.

◆ PODField() [2/4]

bitpit::pod::PODField::PODField ( const PODField & field)
inline

Copy a pod field.

Definition at line 84 of file pod_common.hpp.

◆ PODField() [3/4]

bitpit::pod::PODField::PODField ( PODField && field)
default

Move a field.

◆ PODField() [4/4]

bitpit::pod::PODField::PODField ( int nsf,
int nvf,
VolumeKernel * lmesh = nullptr,
const PiercedKernel< long > * lkernel = nullptr )
inline

Creates a new empty pod field with fixed number of scalar and vector fields and optional linked kernel.

Parameters
[in]nsfis the number of scalar fields.
[in]nvfis the number of vector fields.
[in]lmeshLinked mesh.
[in]lkernelLinked kernel.

Definition at line 107 of file pod_common.hpp.

Member Function Documentation

◆ clear()

void bitpit::pod::PODField::clear ( )
inline

Clear the pod field. If the field is set to be mesh owner the mesh is destroyed.

Definition at line 198 of file pod_common.hpp.

◆ operator=()

Assignement operator using copy and swap

Parameters
[in]otheranother pod field whose content is copied in this pod field
Returns
the assigneed field

Definition at line 122 of file pod_common.hpp.

◆ setDynamicKernel()

void bitpit::pod::PODField::setDynamicKernel ( PiercedKernel< long > * lkernel)
inline

Set the linked dynamic kernel to a pod field.

Parameters
[in]lkernelLinked kernel

Definition at line 165 of file pod_common.hpp.

◆ setMesh() [1/2]

void bitpit::pod::PODField::setMesh ( const std::shared_ptr< VolumeKernel > & lmesh)
inline

Set the linked mesh to a pod field.

Parameters
[in]lmeshLinked mesh

Definition at line 188 of file pod_common.hpp.

◆ setMesh() [2/2]

void bitpit::pod::PODField::setMesh ( VolumeKernel * lmesh)
inline

Set the linked mesh to a pod field.

Parameters
[in]lmeshLinked mesh
Examples
POD_example_00005.cpp.

Definition at line 177 of file pod_common.hpp.

◆ setStaticKernel()

void bitpit::pod::PODField::setStaticKernel ( const PiercedKernel< long > * lkernel)
inline

Set the linked static kernel to a pod field.

Parameters
[in]lkernelLinked kernel

Definition at line 150 of file pod_common.hpp.

◆ swap()

void bitpit::pod::PODField::swap ( PODField & other)
inline

Exchanges the content of the pod field by the content of other pod field received in input.

Parameters
[in]otheranother pod field whose content is swapped with that of this pod field.

Definition at line 136 of file pod_common.hpp.

Member Data Documentation

◆ mask

std::unique_ptr<PiercedStorage<bool> > bitpit::pod::PODField::mask

Mask: true where the values of the field are defined.

Examples
POD_example_00002.cpp, and POD_example_00005.cpp.

Definition at line 69 of file pod_common.hpp.

◆ mesh

VolumeKernel* bitpit::pod::PODField::mesh

Mesh of the field.

Examples
POD_example_00005.cpp.

Definition at line 68 of file pod_common.hpp.

◆ meshStorage

std::shared_ptr<VolumeKernel> bitpit::pod::PODField::meshStorage

Mesh owned by the field

Definition at line 67 of file pod_common.hpp.

◆ scalar

std::unique_ptr<pod::ScalarStorage> bitpit::pod::PODField::scalar

Scalar fields.

Examples
POD_example_00002.cpp, and POD_example_00005.cpp.

Definition at line 70 of file pod_common.hpp.

◆ vector

std::unique_ptr<pod::VectorStorage> bitpit::pod::PODField::vector

Vector fields.

Examples
POD_example_00002.cpp, and POD_example_00005.cpp.

Definition at line 71 of file pod_common.hpp.


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