v0.15.0
Loading...
Searching...
No Matches
Smoother::SmootherBlockData Struct Reference

#include "tools/src/Smoother.hpp"

Collaboration diagram for Smoother::SmootherBlockData:
[legend]

Public Member Functions

 SmootherBlockData ()
 
MoFEMErrorCode getOptions ()
 
virtual ~SmootherBlockData ()
 
 SmootherBlockData ()
 
MoFEMErrorCode getOptions ()
 
virtual ~SmootherBlockData ()
 

Public Attributes

bool sTabilised
 
Vec frontF
 
Vec tangentFrontF
 
bool ownVectors
 

Detailed Description

Definition at line 12 of file Smoother.hpp.

Constructor & Destructor Documentation

◆ SmootherBlockData() [1/2]

Smoother::SmootherBlockData::SmootherBlockData ( )
inline

Definition at line 19 of file Smoother.hpp.

20 : sTabilised(false), frontF(PETSC_NULLPTR), tangentFrontF(PETSC_NULLPTR),
21 ownVectors(false) {
22 ierr = getOptions();
23 CHKERRABORT(PETSC_COMM_SELF, ierr);
24 }
static PetscErrorCode ierr
MoFEMErrorCode getOptions()
Definition Smoother.hpp:26

◆ ~SmootherBlockData() [1/2]

virtual Smoother::SmootherBlockData::~SmootherBlockData ( )
inlinevirtual

Definition at line 40 of file Smoother.hpp.

40 {
41 if (ownVectors) {
42 ierr = VecDestroy(&frontF);
43 CHKERRABORT(PETSC_COMM_WORLD, ierr);
44 ierr = VecDestroy(&tangentFrontF);
45 CHKERRABORT(PETSC_COMM_WORLD, ierr);
46 }
47 }

◆ SmootherBlockData() [2/2]

Smoother::SmootherBlockData::SmootherBlockData ( )
inline

Definition at line 19 of file Smoother.hpp.

20 : sTabilised(false), frontF(PETSC_NULLPTR), tangentFrontF(PETSC_NULLPTR),
21 ownVectors(false) {
22 ierr = getOptions();
23 CHKERRABORT(PETSC_COMM_SELF, ierr);
24 }

◆ ~SmootherBlockData() [2/2]

virtual Smoother::SmootherBlockData::~SmootherBlockData ( )
inlinevirtual

Definition at line 40 of file Smoother.hpp.

40 {
41 if (ownVectors) {
42 ierr = VecDestroy(&frontF);
43 CHKERRABORT(PETSC_COMM_WORLD, ierr);
44 ierr = VecDestroy(&tangentFrontF);
45 CHKERRABORT(PETSC_COMM_WORLD, ierr);
46 }
47 }

Member Function Documentation

◆ getOptions() [1/2]

MoFEMErrorCode Smoother::SmootherBlockData::getOptions ( )
inline

Definition at line 26 of file Smoother.hpp.

26 {
28 PetscOptionsBegin(PETSC_COMM_WORLD, "",
29 "Get stabilisation element options", "none");
31 PetscBool smoothing_on = sTabilised ? PETSC_TRUE : PETSC_FALSE;
32 CHKERR PetscOptionsBool("-smoothing_stabilise",
33 "all nodes controlled by smoothing element", "",
34 smoothing_on, &smoothing_on, PETSC_NULLPTR);
35 sTabilised = (smoothing_on == PETSC_TRUE) ? true : false;
36 PetscOptionsEnd();
38 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.

◆ getOptions() [2/2]

MoFEMErrorCode Smoother::SmootherBlockData::getOptions ( )
inline

Definition at line 26 of file Smoother.hpp.

26 {
28 PetscOptionsBegin(PETSC_COMM_WORLD, "",
29 "Get stabilisation element options", "none");
31 PetscBool smoothing_on = sTabilised ? PETSC_TRUE : PETSC_FALSE;
32 CHKERR PetscOptionsBool("-smoothing_stabilise",
33 "all nodes controlled by smoothing element", "",
34 smoothing_on, &smoothing_on, PETSC_NULLPTR);
35 sTabilised = (smoothing_on == PETSC_TRUE) ? true : false;
36 PetscOptionsEnd();
38 }

Member Data Documentation

◆ frontF

Vec Smoother::SmootherBlockData::frontF

Definition at line 15 of file Smoother.hpp.

◆ ownVectors

bool Smoother::SmootherBlockData::ownVectors

Definition at line 17 of file Smoother.hpp.

◆ sTabilised

bool Smoother::SmootherBlockData::sTabilised

Definition at line 14 of file Smoother.hpp.

◆ tangentFrontF

Vec Smoother::SmootherBlockData::tangentFrontF

Definition at line 16 of file Smoother.hpp.


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