v0.14.0
Loading...
Searching...
No Matches
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 }
UBlasMatrix< double > MatrixDouble
Definition: Types.hpp:77
UBlasVector< double > VectorDouble
Definition: Types.hpp:68
auto createVectorMPI(MPI_Comm comm, PetscInt n, PetscInt N)
Create MPI Vector.
virtual MPI_Comm & get_comm() const =0
virtual int get_comm_rank() const =0
boost::shared_ptr< MatrixDouble > pressureDragTract
boost::shared_ptr< MatrixDouble > gradVelPtr
boost::shared_ptr< MatrixDouble > shearDragTract
boost::shared_ptr< VectorDouble > pressPtr
boost::shared_ptr< MatrixDouble > totalDragTract
SmartPetscObj< Vec > pressureDragForceVec
boost::shared_ptr< MatrixDouble > velPtr

Member Function Documentation

◆ getParameters()

MoFEMErrorCode NavierStokesElement::CommonData::getParameters ( )
inline
Examples
NavierStokesElement.hpp.

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 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
#define CHKERR
Inline error check.
Definition: definitions.h:535
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Exceptions.hpp:76

Member Data Documentation

◆ gradVelPtr

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::gradVelPtr
Examples
NavierStokesElement.hpp.

Definition at line 52 of file NavierStokesElement.hpp.

◆ pressPtr

boost::shared_ptr<VectorDouble> NavierStokesElement::CommonData::pressPtr
Examples
NavierStokesElement.hpp.

Definition at line 54 of file NavierStokesElement.hpp.

◆ pressureDragForceVec

SmartPetscObj<Vec> NavierStokesElement::CommonData::pressureDragForceVec
Examples
NavierStokesElement.hpp.

Definition at line 60 of file NavierStokesElement.hpp.

◆ pressureDragTract

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::pressureDragTract
Examples
NavierStokesElement.hpp.

Definition at line 56 of file NavierStokesElement.hpp.

◆ setOfBlocksData

std::map<int, BlockData> NavierStokesElement::CommonData::setOfBlocksData
Examples
NavierStokesElement.hpp.

Definition at line 66 of file NavierStokesElement.hpp.

◆ setOfFacesData

std::map<int, BlockData> NavierStokesElement::CommonData::setOfFacesData
Examples
NavierStokesElement.hpp.

Definition at line 67 of file NavierStokesElement.hpp.

◆ shearDragForceVec

SmartPetscObj<Vec> NavierStokesElement::CommonData::shearDragForceVec
Examples
NavierStokesElement.hpp.

Definition at line 61 of file NavierStokesElement.hpp.

◆ shearDragTract

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::shearDragTract
Examples
NavierStokesElement.hpp.

Definition at line 57 of file NavierStokesElement.hpp.

◆ totalDragForceVec

SmartPetscObj<Vec> NavierStokesElement::CommonData::totalDragForceVec
Examples
NavierStokesElement.hpp.

Definition at line 62 of file NavierStokesElement.hpp.

◆ totalDragTract

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::totalDragTract
Examples
NavierStokesElement.hpp.

Definition at line 58 of file NavierStokesElement.hpp.

◆ velPtr

boost::shared_ptr<MatrixDouble> NavierStokesElement::CommonData::velPtr
Examples
NavierStokesElement.hpp.

Definition at line 53 of file NavierStokesElement.hpp.

◆ volumeFluxVec

SmartPetscObj<Vec> NavierStokesElement::CommonData::volumeFluxVec
Examples
NavierStokesElement.hpp.

Definition at line 64 of file NavierStokesElement.hpp.


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