BELFEM 0.9.3
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::fem::Postprocessor Class Reference

#include <cl_FEM_Postprocessor.hpp>

Inheritance diagram for belfem::fem::Postprocessor:
[legend]
Collaboration diagram for belfem::fem::Postprocessor:
[legend]

Public Member Functions

 Postprocessor (Kernel *aKernel, DofManager *aField=nullptr)
 Collective.
virtual ~Postprocessor ()
void set_field (DofManager *aField)
void set_source_fields (const Cell< string > &aFields)
void set_target_fields (const Cell< string > &aFields)
const Cell< string > & source_fields () const
const Cell< string > & target_fields () const
void set_block_ids (const Vector< id_t > &aBlockIDs)
void set_block_ids (const Cell< id_t > &aBlockIDs)
virtual void initialize ()
void synch_source_fields ()
void synch_target_fields (Matrix< real > &aData)
virtual void run ()
DofManager * projector ()
index_t number_of_truncated_patches () const
 node fits of this rank in which the inversion dropped a direction; set by initialize()

Protected Member Functions

const Matrix< real > & compute_poly (const Vector< real > &aX)
void recover_fields ()
virtual const Vector< real > & compute (const uint aK)
virtual void update_element_dofs ()
const Cell< id_t > & block_ids () const
const Cell< index_t > & my_element_indices () const

Protected Attributes

const proc_t mCommRank
const proc_t mCommSize
const uint mNumDimensions
const uint mOrder
DomainType mDomainType = DomainType::Default
Cell< string > mTargetFields
Cell< string > mSourceFields
uint mNumSourceFields = 0
uint mNumTargetFields = 0
Kernel * mKernel = nullptr
Mesh * mMesh = nullptr
DofManager * mField = nullptr
IWG * mEquation = nullptr
Material * mMaterial = nullptr
Element * mElement = nullptr
Block * mBlock = nullptr
Calculator * mCalculator = nullptr

Constructor & Destructor Documentation

◆ Postprocessor()

belfem::fem::Postprocessor::Postprocessor ( Kernel * aKernel,
DofManager * aField = nullptr )

Collective.

The constructor, the synch_* calls, run() and the first initialize() communicate and must be entered by every rank, including ranks without owned nodes. aKernel and aField are borrowed.

◆ ~Postprocessor()

belfem::fem::Postprocessor::~Postprocessor ( )
virtual

Member Function Documentation

◆ block_ids()

const Cell< id_t > & belfem::fem::Postprocessor::block_ids ( ) const
inlineprotected

◆ compute()

const Vector< real > & belfem::fem::Postprocessor::compute ( const uint aK)
protectedvirtual

◆ compute_poly()

const Matrix< real > & belfem::fem::Postprocessor::compute_poly ( const Vector< real > & aX)
inlineprotected

◆ initialize()

void belfem::fem::Postprocessor::initialize ( )
virtual

◆ my_element_indices()

const Cell< index_t > & belfem::fem::Postprocessor::my_element_indices ( ) const
inlineprotected

◆ number_of_truncated_patches()

index_t belfem::fem::Postprocessor::number_of_truncated_patches ( ) const
inline

node fits of this rank in which the inversion dropped a direction; set by initialize()

◆ projector()

DofManager * belfem::fem::Postprocessor::projector ( )
inline

◆ recover_fields()

void belfem::fem::Postprocessor::recover_fields ( )
protected

◆ run()

void belfem::fem::Postprocessor::run ( )
virtual

◆ set_block_ids() [1/2]

void belfem::fem::Postprocessor::set_block_ids ( const Cell< id_t > & aBlockIDs)

◆ set_block_ids() [2/2]

void belfem::fem::Postprocessor::set_block_ids ( const Vector< id_t > & aBlockIDs)

◆ set_field()

void belfem::fem::Postprocessor::set_field ( DofManager * aField)

◆ set_source_fields()

void belfem::fem::Postprocessor::set_source_fields ( const Cell< string > & aFields)
inline

◆ set_target_fields()

void belfem::fem::Postprocessor::set_target_fields ( const Cell< string > & aFields)
inline

◆ source_fields()

const Cell< string > & belfem::fem::Postprocessor::source_fields ( ) const
inline

◆ synch_source_fields()

void belfem::fem::Postprocessor::synch_source_fields ( )

◆ synch_target_fields()

void belfem::fem::Postprocessor::synch_target_fields ( Matrix< real > & aData)

◆ target_fields()

const Cell< string > & belfem::fem::Postprocessor::target_fields ( ) const
inline

◆ update_element_dofs()

void belfem::fem::Postprocessor::update_element_dofs ( )
protectedvirtual

Member Data Documentation

◆ mBlock

Block* belfem::fem::Postprocessor::mBlock = nullptr
protected

◆ mCalculator

Calculator* belfem::fem::Postprocessor::mCalculator = nullptr
protected

◆ mCommRank

const proc_t belfem::fem::Postprocessor::mCommRank
protected

◆ mCommSize

const proc_t belfem::fem::Postprocessor::mCommSize
protected

◆ mDomainType

DomainType belfem::fem::Postprocessor::mDomainType = DomainType::Default
protected

◆ mElement

Element* belfem::fem::Postprocessor::mElement = nullptr
protected

◆ mEquation

IWG* belfem::fem::Postprocessor::mEquation = nullptr
protected

◆ mField

DofManager* belfem::fem::Postprocessor::mField = nullptr
protected

◆ mKernel

Kernel* belfem::fem::Postprocessor::mKernel = nullptr
protected

◆ mMaterial

Material* belfem::fem::Postprocessor::mMaterial = nullptr
protected

◆ mMesh

Mesh* belfem::fem::Postprocessor::mMesh = nullptr
protected

◆ mNumDimensions

const uint belfem::fem::Postprocessor::mNumDimensions
protected

◆ mNumSourceFields

uint belfem::fem::Postprocessor::mNumSourceFields = 0
protected

◆ mNumTargetFields

uint belfem::fem::Postprocessor::mNumTargetFields = 0
protected

◆ mOrder

const uint belfem::fem::Postprocessor::mOrder
protected

◆ mSourceFields

Cell< string > belfem::fem::Postprocessor::mSourceFields
protected

◆ mTargetFields

Cell< string > belfem::fem::Postprocessor::mTargetFields
protected

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