v0.15.5
Loading...
Searching...
No Matches
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_unsaturated_transport/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< ForcesAndSourcesCorefePtr
 

Detailed Description

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

Definition at line 1391 of file UnsaturatedFlow.hpp.

Constructor & Destructor Documentation

◆ postProcessVol()

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

Definition at line 1395 of file UnsaturatedFlow.hpp.

1399 : cTx(ctx), fePtr(fe_ptr) /*,mArk(mark)*/ {}
boost::shared_ptr< ForcesAndSourcesCore > fePtr

Member Function Documentation

◆ operator()()

MoFEMErrorCode MixTransport::UnsaturatedFlowElement::postProcessVol::operator() ( )
inline
Examples
mofem/tutorials/cor-0to1_unsaturated_transport/src/UnsaturatedFlow.hpp.

Definition at line 1400 of file UnsaturatedFlow.hpp.

1400 {
1402 switch (fePtr->ts_ctx) {
1403 case TSMethod::CTX_TSSETIJACOBIAN: {
1404 CHKERR MatAssemblyBegin(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1405 CHKERR MatAssemblyEnd(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1406 // MatView(fePtr->ts_B,PETSC_VIEWER_DRAW_WORLD);
1407 // std::string wait;
1408 // std::cin >> wait;
1409 CHKERR MatZeroRowsColumns(fePtr->ts_B, cTx.bcVecIds.size(),
1410 &*cTx.bcVecIds.begin(), 1, PETSC_NULLPTR,
1411 PETSC_NULLPTR);
1412 CHKERR MatAssemblyBegin(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1413 CHKERR MatAssemblyEnd(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1414 // MatView(fePtr->ts_B,PETSC_VIEWER_DRAW_WORLD);
1415 // std::string wait;
1416 // std::cin >> wait;
1417 } break;
1418 case TSMethod::CTX_TSSETIFUNCTION: {
1419 CHKERR VecAssemblyBegin(fePtr->ts_F);
1420 CHKERR VecAssemblyEnd(fePtr->ts_F);
1421 if (!cTx.bcVecIds.empty()) {
1423 CHKERR VecSetValues(fePtr->ts_F, cTx.bcVecIds.size(),
1424 &*cTx.bcVecIds.begin(), &*cTx.vecValsOnBc.begin(),
1425 INSERT_VALUES);
1426 }
1427 CHKERR VecAssemblyBegin(fePtr->ts_F);
1428 CHKERR VecAssemblyEnd(fePtr->ts_F);
1429 } break;
1430 default:
1431 // don nothing
1432 break;
1433 }
1435 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.

Member Data Documentation

◆ cTx

UnsaturatedFlowElement& MixTransport::UnsaturatedFlowElement::postProcessVol::cTx

◆ fePtr

boost::shared_ptr<ForcesAndSourcesCore> MixTransport::UnsaturatedFlowElement::postProcessVol::fePtr

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