v0.14.0
Public Member Functions | Public Attributes | List of all members
NavierStokesElement::CommonData Struct Reference

#include <users_modules/basic_finite_elements/src/NavierStokesElement.hpp>

Collaboration diagram for NavierStokesElement::CommonData:
[legend]

Public Member Functions

 CommonData (MoFEM::Interface &m_field)
 
MoFEMErrorCode getParameters ()
 

Public Attributes

boost::shared_ptr< MatrixDouble > gradVelPtr
 
boost::shared_ptr< MatrixDouble > velPtr
 
boost::shared_ptr< VectorDouble > pressPtr
 
boost::shared_ptr< MatrixDouble > pressureDragTract
 
boost::shared_ptr< MatrixDouble > shearDragTract
 
boost::shared_ptr< MatrixDouble > totalDragTract
 
SmartPetscObj< Vec > pressureDragForceVec
 
SmartPetscObj< Vec > shearDragForceVec
 
SmartPetscObj< Vec > totalDragForceVec
 
SmartPetscObj< Vec > volumeFluxVec
 
std::map< int, BlockDatasetOfBlocksData
 
std::map< int, BlockDatasetOfFacesData
 

Detailed Description

Definition at line 50 of file NavierStokesElement.hpp.

Constructor & Destructor Documentation

◆ CommonData()

NavierStokesElement::CommonData::CommonData ( MoFEM::Interface m_field)
inline

Definition at line 69 of file NavierStokesElement.hpp.

69  {
70 
71  gradVelPtr = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
72  velPtr = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
73  pressPtr = boost::shared_ptr<VectorDouble>(new VectorDouble());
74 
75  pressureDragTract = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
76  shearDragTract = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
77  totalDragTract = boost::shared_ptr<MatrixDouble>(new MatrixDouble());
78 
79  int vec_size;
80  if (m_field.get_comm_rank() == 0)
81  vec_size = 3;
82  else
83  vec_size = 0;
84 
85  pressureDragForceVec = createVectorMPI(m_field.get_comm(), vec_size, 3);
86  shearDragForceVec = createVectorMPI(m_field.get_comm(), vec_size, 3);
87  totalDragForceVec = createVectorMPI(m_field.get_comm(), vec_size, 3);
88 
89  volumeFluxVec = createVectorMPI(m_field.get_comm(), vec_size, 3);
90  }

Member Function Documentation

◆ getParameters()

MoFEMErrorCode NavierStokesElement::CommonData::getParameters ( )
inline

Definition at line 92 of file NavierStokesElement.hpp.

92  {
94  CHKERR PetscOptionsBegin(PETSC_COMM_WORLD, "", "Problem", "none");
95 
96  ierr = PetscOptionsEnd();
97  CHKERRQ(ierr);
99  }

Member Data Documentation

◆ gradVelPtr

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::gradVelPtr

Definition at line 52 of file NavierStokesElement.hpp.

◆ pressPtr

boost::shared_ptr<VectorDouble> NavierStokesElement::CommonData::pressPtr

Definition at line 54 of file NavierStokesElement.hpp.

◆ pressureDragForceVec

SmartPetscObj<Vec> NavierStokesElement::CommonData::pressureDragForceVec

Definition at line 60 of file NavierStokesElement.hpp.

◆ pressureDragTract

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::pressureDragTract

Definition at line 56 of file NavierStokesElement.hpp.

◆ setOfBlocksData

std::map<int, BlockData> NavierStokesElement::CommonData::setOfBlocksData

Definition at line 66 of file NavierStokesElement.hpp.

◆ setOfFacesData

std::map<int, BlockData> NavierStokesElement::CommonData::setOfFacesData

Definition at line 67 of file NavierStokesElement.hpp.

◆ shearDragForceVec

SmartPetscObj<Vec> NavierStokesElement::CommonData::shearDragForceVec

Definition at line 61 of file NavierStokesElement.hpp.

◆ shearDragTract

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::shearDragTract

Definition at line 57 of file NavierStokesElement.hpp.

◆ totalDragForceVec

SmartPetscObj<Vec> NavierStokesElement::CommonData::totalDragForceVec

Definition at line 62 of file NavierStokesElement.hpp.

◆ totalDragTract

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::totalDragTract

Definition at line 58 of file NavierStokesElement.hpp.

◆ velPtr

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::velPtr

Definition at line 53 of file NavierStokesElement.hpp.

◆ volumeFluxVec

SmartPetscObj<Vec> NavierStokesElement::CommonData::volumeFluxVec

Definition at line 64 of file NavierStokesElement.hpp.


The documentation for this struct was generated from the following file:
NavierStokesElement::CommonData::totalDragForceVec
SmartPetscObj< Vec > totalDragForceVec
Definition: NavierStokesElement.hpp:62
MoFEM::CoreInterface::get_comm
virtual MPI_Comm & get_comm() const =0
MoFEM::Types::MatrixDouble
UBlasMatrix< double > MatrixDouble
Definition: Types.hpp:77
MoFEM::CoreInterface::get_comm_rank
virtual int get_comm_rank() const =0
NavierStokesElement::CommonData::volumeFluxVec
SmartPetscObj< Vec > volumeFluxVec
Definition: NavierStokesElement.hpp:64
NavierStokesElement::CommonData::pressureDragTract
boost::shared_ptr< MatrixDouble > pressureDragTract
Definition: NavierStokesElement.hpp:56
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
NavierStokesElement::CommonData::pressureDragForceVec
SmartPetscObj< Vec > pressureDragForceVec
Definition: NavierStokesElement.hpp:60
NavierStokesElement::CommonData::shearDragTract
boost::shared_ptr< MatrixDouble > shearDragTract
Definition: NavierStokesElement.hpp:57
NavierStokesElement::CommonData::pressPtr
boost::shared_ptr< VectorDouble > pressPtr
Definition: NavierStokesElement.hpp:54
NavierStokesElement::CommonData::gradVelPtr
boost::shared_ptr< MatrixDouble > gradVelPtr
Definition: NavierStokesElement.hpp:52
MoFEM::Exceptions::ierr
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Exceptions.hpp:76
MoFEM::createVectorMPI
auto createVectorMPI(MPI_Comm comm, PetscInt n, PetscInt N)
Create MPI Vector.
Definition: PetscSmartObj.hpp:198
MoFEM::Types::VectorDouble
UBlasVector< double > VectorDouble
Definition: Types.hpp:68
NavierStokesElement::CommonData::shearDragForceVec
SmartPetscObj< Vec > shearDragForceVec
Definition: NavierStokesElement.hpp:61
NavierStokesElement::CommonData::velPtr
boost::shared_ptr< MatrixDouble > velPtr
Definition: NavierStokesElement.hpp:53
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
NavierStokesElement::CommonData::totalDragTract
boost::shared_ptr< MatrixDouble > totalDragTract
Definition: NavierStokesElement.hpp:58
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346