v0.15.0
Loading...
Searching...
No Matches
MethodForForceScaling Struct Referenceabstract

Class used to scale loads, f.e. in arc-length control. More...

#include "tutorials/src/MethodForForceScaling.hpp"

Inheritance diagram for MethodForForceScaling:
[legend]

Public Member Functions

virtual MoFEMErrorCode scaleNf (const FEMethod *fe, VectorDouble &Nf)=0
 
virtual MoFEMErrorCode getForceScale (const double ts_t, double &scale)
 
virtual ~MethodForForceScaling ()
 
virtual MoFEMErrorCode scaleNf (const FEMethod *fe, VectorDouble &Nf)=0
 
virtual MoFEMErrorCode getForceScale (const double ts_t, double &scale)
 
virtual ~MethodForForceScaling ()
 

Static Public Member Functions

static MoFEMErrorCode applyScale (const FEMethod *fe, boost::ptr_vector< MethodForForceScaling > &methods_op, VectorDouble &nf)
 
static MoFEMErrorCode applyScale (const FEMethod *fe, boost::shared_ptr< MethodForForceScaling > method_op, VectorDouble &nf)
 
static MoFEMErrorCode applyScale (const FEMethod *fe, boost::ptr_vector< MethodForForceScaling > &methods_op, VectorDouble &nf)
 
static MoFEMErrorCode applyScale (const FEMethod *fe, boost::shared_ptr< MethodForForceScaling > method_op, VectorDouble &nf)
 

Detailed Description

Class used to scale loads, f.e. in arc-length control.

Examples
NavierStokesElement.hpp.

Definition at line 11 of file MethodForForceScaling.hpp.

Constructor & Destructor Documentation

◆ ~MethodForForceScaling() [1/2]

virtual MethodForForceScaling::~MethodForForceScaling ( )
inlinevirtual

Definition at line 39 of file MethodForForceScaling.hpp.

39{}

◆ ~MethodForForceScaling() [2/2]

virtual MethodForForceScaling::~MethodForForceScaling ( )
inlinevirtual

Definition at line 39 of file MethodForForceScaling.hpp.

39{}

Member Function Documentation

◆ applyScale() [1/4]

static MoFEMErrorCode MethodForForceScaling::applyScale ( const FEMethod * fe,
boost::ptr_vector< MethodForForceScaling > & methods_op,
VectorDouble & nf )
inlinestatic

Definition at line 21 of file MethodForForceScaling.hpp.

23 {
25 for (auto vit = methods_op.begin(); vit != methods_op.end(); vit++)
26 CHKERR vit->scaleNf(fe, nf);
28 }
#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.

◆ applyScale() [2/4]

static MoFEMErrorCode MethodForForceScaling::applyScale ( const FEMethod * fe,
boost::ptr_vector< MethodForForceScaling > & methods_op,
VectorDouble & nf )
inlinestatic

Definition at line 21 of file MethodForForceScaling.hpp.

23 {
25 for (auto vit = methods_op.begin(); vit != methods_op.end(); vit++)
26 CHKERR vit->scaleNf(fe, nf);
28 }

◆ applyScale() [3/4]

static MoFEMErrorCode MethodForForceScaling::applyScale ( const FEMethod * fe,
boost::shared_ptr< MethodForForceScaling > method_op,
VectorDouble & nf )
inlinestatic

Definition at line 31 of file MethodForForceScaling.hpp.

33 {
35 CHKERR method_op->scaleNf(fe, nf);
37 }

◆ applyScale() [4/4]

static MoFEMErrorCode MethodForForceScaling::applyScale ( const FEMethod * fe,
boost::shared_ptr< MethodForForceScaling > method_op,
VectorDouble & nf )
inlinestatic

Definition at line 31 of file MethodForForceScaling.hpp.

33 {
35 CHKERR method_op->scaleNf(fe, nf);
37 }

◆ getForceScale() [1/2]

virtual MoFEMErrorCode MethodForForceScaling::getForceScale ( const double ts_t,
double & scale )
inlinevirtual

Reimplemented in TimeForceScale, and TimeForceScale.

Definition at line 14 of file MethodForForceScaling.hpp.

14 {
16 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED, "not implemented");
18 }
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
@ MOFEM_NOT_IMPLEMENTED
Definition definitions.h:32
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...

◆ getForceScale() [2/2]

virtual MoFEMErrorCode MethodForForceScaling::getForceScale ( const double ts_t,
double & scale )
inlinevirtual

Reimplemented in TimeForceScale, and TimeForceScale.

Definition at line 14 of file MethodForForceScaling.hpp.

14 {
16 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED, "not implemented");
18 }

◆ scaleNf() [1/2]

virtual MoFEMErrorCode MethodForForceScaling::scaleNf ( const FEMethod * fe,
VectorDouble & Nf )
pure virtual

◆ scaleNf() [2/2]

virtual MoFEMErrorCode MethodForForceScaling::scaleNf ( const FEMethod * fe,
VectorDouble & Nf )
pure virtual

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