7#ifndef __METHOD_FOR_FORCE_SCALING_HPP__
8#define __METHOD_FOR_FORCE_SCALING_HPP__
22 boost::ptr_vector<MethodForForceScaling> &methods_op,
25 for (
auto vit = methods_op.begin(); vit != methods_op.end(); vit++)
26 CHKERR vit->scaleNf(fe, nf);
32 boost::shared_ptr<MethodForForceScaling> method_op,
35 CHKERR method_op->scaleNf(fe, nf);
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#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.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Class used to scale loads, f.e. in arc-length control.
virtual MoFEMErrorCode getForceScale(const double ts_t, double &scale)
virtual MoFEMErrorCode scaleNf(const FEMethod *fe, VectorDouble &Nf)=0
virtual ~MethodForForceScaling()
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)