v0.14.0
Public Member Functions | Public Attributes | List of all members
MixTransport::UnsaturatedFlowElement::postProcessVol Struct Reference

Post proces method for volume element Assemble vectors and matrices and apply essential boundary conditions. More...

#include <tutorials/cor-0to1/src/UnsaturatedFlow.hpp>

Collaboration diagram for MixTransport::UnsaturatedFlowElement::postProcessVol:
[legend]

Public Member Functions

 postProcessVol (UnsaturatedFlowElement &ctx, boost::shared_ptr< ForcesAndSourcesCore > &fe_ptr)
 
MoFEMErrorCode operator() ()
 

Public Attributes

UnsaturatedFlowElementcTx
 
boost::shared_ptr< ForcesAndSourcesCore > fePtr
 

Detailed Description

Post proces method for volume element Assemble vectors and matrices and apply essential boundary conditions.

Definition at line 1392 of file UnsaturatedFlow.hpp.

Constructor & Destructor Documentation

◆ postProcessVol()

MixTransport::UnsaturatedFlowElement::postProcessVol::postProcessVol ( UnsaturatedFlowElement ctx,
boost::shared_ptr< ForcesAndSourcesCore > &  fe_ptr 
)
inline
Examples
UnsaturatedFlow.hpp.

Definition at line 1396 of file UnsaturatedFlow.hpp.

1400  : cTx(ctx), fePtr(fe_ptr) /*,mArk(mark)*/ {}

Member Function Documentation

◆ operator()()

MoFEMErrorCode MixTransport::UnsaturatedFlowElement::postProcessVol::operator() ( )
inline
Examples
UnsaturatedFlow.hpp.

Definition at line 1401 of file UnsaturatedFlow.hpp.

1401  {
1403  switch (fePtr->ts_ctx) {
1404  case TSMethod::CTX_TSSETIJACOBIAN: {
1405  CHKERR MatAssemblyBegin(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1406  CHKERR MatAssemblyEnd(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1407  // MatView(fePtr->ts_B,PETSC_VIEWER_DRAW_WORLD);
1408  // std::string wait;
1409  // std::cin >> wait;
1410  CHKERR MatZeroRowsColumns(fePtr->ts_B, cTx.bcVecIds.size(),
1411  &*cTx.bcVecIds.begin(), 1, PETSC_NULL,
1412  PETSC_NULL);
1413  CHKERR MatAssemblyBegin(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1414  CHKERR MatAssemblyEnd(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1415  // MatView(fePtr->ts_B,PETSC_VIEWER_DRAW_WORLD);
1416  // std::string wait;
1417  // std::cin >> wait;
1418  } break;
1419  case TSMethod::CTX_TSSETIFUNCTION: {
1420  CHKERR VecAssemblyBegin(fePtr->ts_F);
1421  CHKERR VecAssemblyEnd(fePtr->ts_F);
1422  if (!cTx.bcVecIds.empty()) {
1424  CHKERR VecSetValues(fePtr->ts_F, cTx.bcVecIds.size(),
1425  &*cTx.bcVecIds.begin(), &*cTx.vecValsOnBc.begin(),
1426  INSERT_VALUES);
1427  }
1428  CHKERR VecAssemblyBegin(fePtr->ts_F);
1429  CHKERR VecAssemblyEnd(fePtr->ts_F);
1430  } break;
1431  default:
1432  // don nothing
1433  break;
1434  }
1436  }

Member Data Documentation

◆ cTx

UnsaturatedFlowElement& MixTransport::UnsaturatedFlowElement::postProcessVol::cTx
Examples
UnsaturatedFlow.hpp.

Definition at line 1393 of file UnsaturatedFlow.hpp.

◆ fePtr

boost::shared_ptr<ForcesAndSourcesCore> MixTransport::UnsaturatedFlowElement::postProcessVol::fePtr
Examples
UnsaturatedFlow.hpp.

Definition at line 1394 of file UnsaturatedFlow.hpp.


The documentation for this struct was generated from the following file:
MixTransport::UnsaturatedFlowElement::postProcessVol::cTx
UnsaturatedFlowElement & cTx
Definition: UnsaturatedFlow.hpp:1393
MixTransport::UnsaturatedFlowElement::vecValsOnBc
VectorDouble vecValsOnBc
Definition: UnsaturatedFlow.hpp:1324
MoFEM::VecSetValues
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.
Definition: EntitiesFieldData.hpp:1589
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:548
MixTransport::UnsaturatedFlowElement::postProcessVol::fePtr
boost::shared_ptr< ForcesAndSourcesCore > fePtr
Definition: UnsaturatedFlow.hpp:1394
MixTransport::UnsaturatedFlowElement::bcVecIds
std::vector< int > bcVecIds
Definition: UnsaturatedFlow.hpp:1323
MixTransport::UnsaturatedFlowElement::bcVecVals
VectorDouble bcVecVals
Definition: UnsaturatedFlow.hpp:1324
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:429
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:359