IBAMR  IBAMR version 0.19.
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
IBAMR::IBFECentroidPostProcessor Class Reference

Class IBFECentroidPostProcessor is a simple post processor that reconstructs piecewise constant field data by direct evaluation at element centroids.

#include <ibamr/IBFECentroidPostProcessor.h>

Inheritance diagram for IBAMR::IBFECentroidPostProcessor:
Inheritance graph
[legend]

Public Member Functions

 IBFECentroidPostProcessor (std::string name, IBTK::FEDataManager *fe_data_manager)
 
void registerScalarVariable (const std::string &name, libMesh::FEFamily fe_family, libMesh::Order fe_order, IBTK::ScalarMeshFcnPtr fcn, const std::vector< IBTK::SystemData > &system_data=std::vector< IBTK::SystemData >(), void *fcn_ctx=nullptr) override
 
void registerVectorVariable (const std::string &var_name, libMesh::FEFamily var_fe_family, libMesh::Order var_fe_order, IBTK::VectorMeshFcnPtr var_fcn, const std::vector< IBTK::SystemData > &system_data=std::vector< IBTK::SystemData >(), void *var_fcn_ctx=nullptr, unsigned int var_dim=NDIM) override
 
void registerTensorVariable (const std::string &var_name, libMesh::FEFamily var_fe_family, libMesh::Order var_fe_order, IBTK::TensorMeshFcnPtr var_fcn, const std::vector< IBTK::SystemData > &system_data=std::vector< IBTK::SystemData >(), void *var_fcn_ctx=nullptr, unsigned int var_dim=NDIM) override
 
void reconstructVariables (double data_time) override
 
virtual void registerInterpolatedScalarEulerianVariable (const std::string &var_name, libMesh::FEFamily var_fe_family, libMesh::Order var_fe_order, SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > var, SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > ctx, const IBTK::HierarchyGhostCellInterpolation::InterpolationTransactionComponent &ghost_fill_transaction)
 
virtual void registerInterpolatedScalarEulerianVariable (const std::string &var_name, libMesh::FEFamily var_fe_family, libMesh::Order var_fe_order, SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > var, SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > ctx, const IBTK::HierarchyGhostCellInterpolation::InterpolationTransactionComponent &ghost_fill_transaction, const IBTK::FEDataManager::InterpSpec &interp_spec)
 
virtual void initializeFEData ()
 
virtual void postProcessData (double data_time)
 

Static Public Member Functions

static void FF_fcn (libMesh::TensorValue< double > &FF_out, const libMesh::TensorValue< double > &FF_in, const libMesh::Point &, const libMesh::Point &, libMesh::Elem *, const std::vector< const std::vector< double > * > &, const std::vector< const std::vector< libMesh::VectorValue< double > > * > &, double, void *)
 Function for reconstructing the deformation gradient tensor FF = dX/ds. More...
 
static void EE_fcn (libMesh::TensorValue< double > &EE, const libMesh::TensorValue< double > &FF, const libMesh::Point &, const libMesh::Point &, libMesh::Elem *, const std::vector< const std::vector< double > * > &, const std::vector< const std::vector< libMesh::VectorValue< double > > * > &, double, void *)
 Function for reconstructing the Green-Lagrangian strain tensor EE = 0.5*(CC - II), with CC = FF^T FF and FF = dX/ds. More...
 
static void cauchy_stress_from_PK1_stress_fcn (libMesh::TensorValue< double > &sigma, const libMesh::TensorValue< double > &FF, const libMesh::Point &X, const libMesh::Point &s, libMesh::Elem *elem, const std::vector< const std::vector< double > * > &system_var_data, const std::vector< const std::vector< libMesh::VectorValue< double > > * > &system_grad_var_data, double data_time, void *ctx)
 Function for reconstructing the Cauchy stress from the PK1 stress, using the PK1 stress function data provided by the ctx argument. More...
 
static void deformed_material_axis_fcn (libMesh::VectorValue< double > &f, const libMesh::TensorValue< double > &FF, const libMesh::Point &, const libMesh::Point &, libMesh::Elem *, const std::vector< const std::vector< double > * > &system_var_data, const std::vector< const std::vector< libMesh::VectorValue< double > > * > &, double, void *)
 Function for reconstructing a deformed material axis. A pointer to the system number must be passed as the ctx argument. More...
 
static void deformed_normalized_material_axis_fcn (libMesh::VectorValue< double > &f, const libMesh::TensorValue< double > &FF, const libMesh::Point &, const libMesh::Point &, libMesh::Elem *, const std::vector< const std::vector< double > * > &system_var_data, const std::vector< const std::vector< libMesh::VectorValue< double > > * > &, double, void *)
 Function for reconstructing a deformed, normalized material axis. A pointer to the system number must be passed as the ctx argument. More...
 
static void material_axis_stretch_fcn (double &lambda, const libMesh::TensorValue< double > &FF, const libMesh::Point &, const libMesh::Point &, libMesh::Elem *, const std::vector< const std::vector< double > * > &system_var_data, const std::vector< const std::vector< libMesh::VectorValue< double > > * > &, double, void *)
 Function for reconstructing the stretch in a material axis. A pointer to the system number must be passed as the ctx argument. More...
 

Protected Member Functions

virtual void interpolateVariables (double data_time)
 

Protected Attributes

const std::string d_name
 
libMesh::MeshBase * d_mesh
 
IBTK::FEDataManagerd_fe_data_manager
 
bool d_fe_data_initialized = false
 
std::vector< libMesh::System * > d_scalar_var_systems
 
std::vector< IBTK::ScalarMeshFcnPtrd_scalar_var_fcns
 
std::vector< std::vector< IBTK::SystemData > > d_scalar_var_system_data
 
std::vector< void * > d_scalar_var_fcn_ctxs
 
std::vector< libMesh::System * > d_vector_var_systems
 
std::vector< IBTK::VectorMeshFcnPtrd_vector_var_fcns
 
std::vector< std::vector< IBTK::SystemData > > d_vector_var_system_data
 
std::vector< void * > d_vector_var_fcn_ctxs
 
std::vector< unsigned intd_vector_var_dims
 
std::vector< libMesh::System * > d_tensor_var_systems
 
std::vector< IBTK::TensorMeshFcnPtrd_tensor_var_fcns
 
std::vector< std::vector< IBTK::SystemData > > d_tensor_var_system_data
 
std::vector< void * > d_tensor_var_fcn_ctxs
 
std::vector< unsigned intd_tensor_var_dims
 
std::vector< libMesh::System * > d_scalar_interp_var_systems
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > > d_scalar_interp_vars
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > > d_scalar_interp_ctxs
 
std::vector< intd_scalar_interp_data_idxs
 
std::vector< intd_scalar_interp_scratch_idxs
 
std::vector< IBTK::HierarchyGhostCellInterpolation::InterpolationTransactionComponentd_scalar_interp_fill_transactions
 
std::vector< IBTK::FEDataManager::InterpSpecd_scalar_interp_specs
 
std::vector< libMesh::System * > d_var_systems
 

Private Member Functions

 IBFECentroidPostProcessor ()=delete
 Default constructor. More...
 
 IBFECentroidPostProcessor (const IBFECentroidPostProcessor &from)=delete
 Copy constructor. More...
 
IBFECentroidPostProcessoroperator= (const IBFECentroidPostProcessor &that)=delete
 Assignment operator. More...
 

Constructor & Destructor Documentation

◆ IBFECentroidPostProcessor() [1/3]

IBAMR::IBFECentroidPostProcessor::IBFECentroidPostProcessor ( std::string  name,
IBTK::FEDataManager fe_data_manager 
)

Constructor.

◆ IBFECentroidPostProcessor() [2/3]

IBAMR::IBFECentroidPostProcessor::IBFECentroidPostProcessor ( )
privatedelete
Note
This constructor is not implemented and should not be used.

◆ IBFECentroidPostProcessor() [3/3]

IBAMR::IBFECentroidPostProcessor::IBFECentroidPostProcessor ( const IBFECentroidPostProcessor from)
privatedelete
Note
This constructor is not implemented and should not be used.
Parameters
fromThe value to copy to this object.

Member Function Documentation

◆ registerScalarVariable()

void IBAMR::IBFECentroidPostProcessor::registerScalarVariable ( const std::string &  name,
libMesh::FEFamily  fe_family,
libMesh::Order  fe_order,
IBTK::ScalarMeshFcnPtr  fcn,
const std::vector< IBTK::SystemData > &  system_data = std::vector< IBTK::SystemData >(),
void *  fcn_ctx = nullptr 
)
overridevirtual

Register a scalar-valued variable for reconstruction.

Note
This method checks that the requested FE family and order are valid and then calls the corresponding method in the IBFEPostProcessor base class.

Reimplemented from IBAMR::IBFEPostProcessor.

◆ registerVectorVariable()

void IBAMR::IBFECentroidPostProcessor::registerVectorVariable ( const std::string &  var_name,
libMesh::FEFamily  var_fe_family,
libMesh::Order  var_fe_order,
IBTK::VectorMeshFcnPtr  var_fcn,
const std::vector< IBTK::SystemData > &  system_data = std::vector< IBTK::SystemData >(),
void *  var_fcn_ctx = nullptr,
unsigned int  var_dim = NDIM 
)
overridevirtual

Register a vector-valued variable for reconstruction.

Note
This method checks that the requested FE family and order are valid and then calls the corresponding method in the IBFEPostProcessor base class.

Reimplemented from IBAMR::IBFEPostProcessor.

◆ registerTensorVariable()

void IBAMR::IBFECentroidPostProcessor::registerTensorVariable ( const std::string &  var_name,
libMesh::FEFamily  var_fe_family,
libMesh::Order  var_fe_order,
IBTK::TensorMeshFcnPtr  var_fcn,
const std::vector< IBTK::SystemData > &  system_data = std::vector< IBTK::SystemData >(),
void *  var_fcn_ctx = nullptr,
unsigned int  var_dim = NDIM 
)
overridevirtual

Register a tensor-valued variable for reconstruction.

Note
This method checks that the requested FE family and order are valid and then calls the corresponding method in the IBFEPostProcessor base class.

Reimplemented from IBAMR::IBFEPostProcessor.

◆ reconstructVariables()

void IBAMR::IBFECentroidPostProcessor::reconstructVariables ( double  data_time)
overridevirtual

Reconstruct the data on the mesh.

Implements IBAMR::IBFEPostProcessor.

◆ operator=()

IBFECentroidPostProcessor& IBAMR::IBFECentroidPostProcessor::operator= ( const IBFECentroidPostProcessor that)
privatedelete
Note
This operator is not implemented and should not be used.
Parameters
thatThe value to assign to this object.
Returns
A reference to this object.

◆ FF_fcn()

static void IBAMR::IBFEPostProcessor::FF_fcn ( libMesh::TensorValue< double > &  FF_out,
const libMesh::TensorValue< double > &  FF_in,
const libMesh::Point &  ,
const libMesh::Point &  ,
libMesh::Elem *  ,
const std::vector< const std::vector< double > * > &  ,
const std::vector< const std::vector< libMesh::VectorValue< double > > * > &  ,
double  ,
void *   
)
inlinestaticinherited

◆ EE_fcn()

static void IBAMR::IBFEPostProcessor::EE_fcn ( libMesh::TensorValue< double > &  EE,
const libMesh::TensorValue< double > &  FF,
const libMesh::Point &  ,
const libMesh::Point &  ,
libMesh::Elem *  ,
const std::vector< const std::vector< double > * > &  ,
const std::vector< const std::vector< libMesh::VectorValue< double > > * > &  ,
double  ,
void *   
)
inlinestaticinherited

◆ cauchy_stress_from_PK1_stress_fcn()

static void IBAMR::IBFEPostProcessor::cauchy_stress_from_PK1_stress_fcn ( libMesh::TensorValue< double > &  sigma,
const libMesh::TensorValue< double > &  FF,
const libMesh::Point &  X,
const libMesh::Point &  s,
libMesh::Elem *  elem,
const std::vector< const std::vector< double > * > &  system_var_data,
const std::vector< const std::vector< libMesh::VectorValue< double > > * > &  system_grad_var_data,
double  data_time,
void *  ctx 
)
inlinestaticinherited

◆ deformed_material_axis_fcn()

static void IBAMR::IBFEPostProcessor::deformed_material_axis_fcn ( libMesh::VectorValue< double > &  f,
const libMesh::TensorValue< double > &  FF,
const libMesh::Point &  ,
const libMesh::Point &  ,
libMesh::Elem *  ,
const std::vector< const std::vector< double > * > &  system_var_data,
const std::vector< const std::vector< libMesh::VectorValue< double > > * > &  ,
double  ,
void *   
)
inlinestaticinherited

◆ deformed_normalized_material_axis_fcn()

static void IBAMR::IBFEPostProcessor::deformed_normalized_material_axis_fcn ( libMesh::VectorValue< double > &  f,
const libMesh::TensorValue< double > &  FF,
const libMesh::Point &  ,
const libMesh::Point &  ,
libMesh::Elem *  ,
const std::vector< const std::vector< double > * > &  system_var_data,
const std::vector< const std::vector< libMesh::VectorValue< double > > * > &  ,
double  ,
void *   
)
inlinestaticinherited

◆ material_axis_stretch_fcn()

static void IBAMR::IBFEPostProcessor::material_axis_stretch_fcn ( double lambda,
const libMesh::TensorValue< double > &  FF,
const libMesh::Point &  ,
const libMesh::Point &  ,
libMesh::Elem *  ,
const std::vector< const std::vector< double > * > &  system_var_data,
const std::vector< const std::vector< libMesh::VectorValue< double > > * > &  ,
double  ,
void *   
)
inlinestaticinherited

◆ registerInterpolatedScalarEulerianVariable() [1/2]

virtual void IBAMR::IBFEPostProcessor::registerInterpolatedScalarEulerianVariable ( const std::string &  var_name,
libMesh::FEFamily  var_fe_family,
libMesh::Order  var_fe_order,
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > >  var,
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext ctx,
const IBTK::HierarchyGhostCellInterpolation::InterpolationTransactionComponent ghost_fill_transaction 
)
virtualinherited

Register a scalar-valued Eulerian field for reconstruction on the FE mesh. The variable is interpolated using the default interp spec provided by the associated FEDataManager object.

◆ registerInterpolatedScalarEulerianVariable() [2/2]

virtual void IBAMR::IBFEPostProcessor::registerInterpolatedScalarEulerianVariable ( const std::string &  var_name,
libMesh::FEFamily  var_fe_family,
libMesh::Order  var_fe_order,
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > >  var,
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext ctx,
const IBTK::HierarchyGhostCellInterpolation::InterpolationTransactionComponent ghost_fill_transaction,
const IBTK::FEDataManager::InterpSpec interp_spec 
)
virtualinherited

Register a scalar-valued Eulerian field for reconstruction on the FE mesh. The variable is interpolated using the specified interp spec.

◆ initializeFEData()

virtual void IBAMR::IBFEPostProcessor::initializeFEData ( )
virtualinherited

Initialize data used by the post processor.

◆ postProcessData()

virtual void IBAMR::IBFEPostProcessor::postProcessData ( double  data_time)
virtualinherited

Execute all reconstruction and interpolation operations.

◆ interpolateVariables()

virtual void IBAMR::IBFEPostProcessor::interpolateVariables ( double  data_time)
protectedvirtualinherited

Virtual function to interpolate Eulerian data to the mesh.

Member Data Documentation

◆ d_name

const std::string IBAMR::IBFEPostProcessor::d_name
protectedinherited

Name of the post processor object (used for internal variable context).

◆ d_mesh

libMesh::MeshBase* IBAMR::IBFEPostProcessor::d_mesh
protectedinherited

Mesh data.

◆ d_fe_data_manager

IBTK::FEDataManager* IBAMR::IBFEPostProcessor::d_fe_data_manager
protectedinherited

◆ d_fe_data_initialized

bool IBAMR::IBFEPostProcessor::d_fe_data_initialized = false
protectedinherited

◆ d_scalar_var_systems

std::vector<libMesh::System*> IBAMR::IBFEPostProcessor::d_scalar_var_systems
protectedinherited

Scalar-valued reconstruction data.

◆ d_scalar_var_fcns

std::vector<IBTK::ScalarMeshFcnPtr> IBAMR::IBFEPostProcessor::d_scalar_var_fcns
protectedinherited

◆ d_scalar_var_system_data

std::vector<std::vector<IBTK::SystemData> > IBAMR::IBFEPostProcessor::d_scalar_var_system_data
protectedinherited

◆ d_scalar_var_fcn_ctxs

std::vector<void*> IBAMR::IBFEPostProcessor::d_scalar_var_fcn_ctxs
protectedinherited

◆ d_vector_var_systems

std::vector<libMesh::System*> IBAMR::IBFEPostProcessor::d_vector_var_systems
protectedinherited

Vector-valued reconstruction data.

◆ d_vector_var_fcns

std::vector<IBTK::VectorMeshFcnPtr> IBAMR::IBFEPostProcessor::d_vector_var_fcns
protectedinherited

◆ d_vector_var_system_data

std::vector<std::vector<IBTK::SystemData> > IBAMR::IBFEPostProcessor::d_vector_var_system_data
protectedinherited

◆ d_vector_var_fcn_ctxs

std::vector<void*> IBAMR::IBFEPostProcessor::d_vector_var_fcn_ctxs
protectedinherited

◆ d_vector_var_dims

std::vector<unsigned int> IBAMR::IBFEPostProcessor::d_vector_var_dims
protectedinherited

◆ d_tensor_var_systems

std::vector<libMesh::System*> IBAMR::IBFEPostProcessor::d_tensor_var_systems
protectedinherited

Tensor-valued reconstruction data.

◆ d_tensor_var_fcns

std::vector<IBTK::TensorMeshFcnPtr> IBAMR::IBFEPostProcessor::d_tensor_var_fcns
protectedinherited

◆ d_tensor_var_system_data

std::vector<std::vector<IBTK::SystemData> > IBAMR::IBFEPostProcessor::d_tensor_var_system_data
protectedinherited

◆ d_tensor_var_fcn_ctxs

std::vector<void*> IBAMR::IBFEPostProcessor::d_tensor_var_fcn_ctxs
protectedinherited

◆ d_tensor_var_dims

std::vector<unsigned int> IBAMR::IBFEPostProcessor::d_tensor_var_dims
protectedinherited

◆ d_scalar_interp_var_systems

std::vector<libMesh::System*> IBAMR::IBFEPostProcessor::d_scalar_interp_var_systems
protectedinherited

Eulerian interpolation data.

◆ d_scalar_interp_vars

std::vector<SAMRAI::tbox::Pointer<SAMRAI::hier::Variable<NDIM> > > IBAMR::IBFEPostProcessor::d_scalar_interp_vars
protectedinherited

◆ d_scalar_interp_ctxs

std::vector<SAMRAI::tbox::Pointer<SAMRAI::hier::VariableContext> > IBAMR::IBFEPostProcessor::d_scalar_interp_ctxs
protectedinherited

◆ d_scalar_interp_data_idxs

std::vector<int> IBAMR::IBFEPostProcessor::d_scalar_interp_data_idxs
protectedinherited

◆ d_scalar_interp_scratch_idxs

std::vector<int> IBAMR::IBFEPostProcessor::d_scalar_interp_scratch_idxs
protectedinherited

◆ d_scalar_interp_fill_transactions

std::vector<IBTK::HierarchyGhostCellInterpolation::InterpolationTransactionComponent> IBAMR::IBFEPostProcessor::d_scalar_interp_fill_transactions
protectedinherited

◆ d_scalar_interp_specs

std::vector<IBTK::FEDataManager::InterpSpec> IBAMR::IBFEPostProcessor::d_scalar_interp_specs
protectedinherited

◆ d_var_systems

std::vector<libMesh::System*> IBAMR::IBFEPostProcessor::d_var_systems
protectedinherited

Collection of all systems managed by this object.


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