v0.9.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 <users_modules/basic_finite_elements/mix_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< ForcesAndSourcesCore > fePtr
 

Detailed Description

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

Definition at line 1372 of file UnsaturatedFlow.hpp.

Constructor & Destructor Documentation

◆ postProcessVol()

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

Definition at line 1376 of file UnsaturatedFlow.hpp.

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

Member Function Documentation

◆ operator()()

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

Definition at line 1381 of file UnsaturatedFlow.hpp.

1381  {
1383  switch (fePtr->ts_ctx) {
1384  case TSMethod::CTX_TSSETIJACOBIAN: {
1385  CHKERR MatAssemblyBegin(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1386  CHKERR MatAssemblyEnd(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1387  // MatView(fePtr->ts_B,PETSC_VIEWER_DRAW_WORLD);
1388  // std::string wait;
1389  // std::cin >> wait;
1390  CHKERR MatZeroRowsColumns(fePtr->ts_B, cTx.bcVecIds.size(),
1391  &*cTx.bcVecIds.begin(), 1, PETSC_NULL,
1392  PETSC_NULL);
1393  CHKERR MatAssemblyBegin(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1394  CHKERR MatAssemblyEnd(fePtr->ts_B, MAT_FINAL_ASSEMBLY);
1395  // MatView(fePtr->ts_B,PETSC_VIEWER_DRAW_WORLD);
1396  // std::string wait;
1397  // std::cin >> wait;
1398  } break;
1399  case TSMethod::CTX_TSSETIFUNCTION: {
1400  CHKERR VecAssemblyBegin(fePtr->ts_F);
1401  CHKERR VecAssemblyEnd(fePtr->ts_F);
1402  if (!cTx.bcVecIds.empty()) {
1404  // cerr << mArk << endl;
1405  // cerr << "a " << cTx.vecValsOnBc << endl;
1406  // cerr << "a " << cTx.bcVecVals << endl;
1407  CHKERR VecSetValues(fePtr->ts_F, cTx.bcVecIds.size(),
1408  &*cTx.bcVecIds.begin(), &*cTx.vecValsOnBc.begin(),
1409  INSERT_VALUES);
1410  }
1411  CHKERR VecAssemblyBegin(fePtr->ts_F);
1412  CHKERR VecAssemblyEnd(fePtr->ts_F);
1413  // CHKERR VecView(fePtr->ts_F,PETSC_VIEWER_STDOUT_WORLD);
1414  // CHKERR
1415  // fePtr->mField.getInterface<VecManager>()->setOtherLocalGhostVector(
1416  // fePtr->problemPtr,"VALUES",string("FLUXES")+"_residual",
1417  // ROW,fePtr->ts_F,INSERT_VALUES,SCATTER_REVERSE
1418  // );
1419  } break;
1420  default:
1421  // don nothing
1422  break;
1423  }
1425  }
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:477
MoFEMErrorCode VecSetValues(Vec V, const DataForcesAndSourcesCore::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.
#define CHKERR
Inline error check.
Definition: definitions.h:596
boost::shared_ptr< ForcesAndSourcesCore > fePtr
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:407

Member Data Documentation

◆ cTx

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

Definition at line 1373 of file UnsaturatedFlow.hpp.

◆ fePtr

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

Definition at line 1374 of file UnsaturatedFlow.hpp.


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