v0.11.0
Classes | Functions | Variables
BasicFeTools.hpp File Reference

Go to the source code of this file.

Classes

struct  CacheParams
 
struct  BlockParamData
 
struct  DataFromMove
 
struct  MpSnesCtx
 
struct  FePrePostProcess
 Not used at this stage. Could be used to do some calculations, before assembly of local elements. More...
 
struct  LoadScale
 
struct  EraseRows
 

Functions

static MoFEMErrorCode custom_snes_rhs (SNES snes, Vec x, Vec f, void *ctx)
 
static MoFEMErrorCode custom_snes_mat (SNES snes, Vec x, Mat A, Mat B, void *ctx)
 

Variables

static Index< 'i', 3 > i
 
static Index< 'j', 3 > j
 
static Index< 'k', 3 > k
 
static Index< 'l', 3 > l
 
static Index< 'm', 3 > m
 
static Index< 'n', 3 > n
 
static Index< 'o', 3 > o
 
static Index< 'p', 3 > p
 
static Index< 'I', 3 > I
 
static Index< 'J', 3 > J
 
static Index< 'K', 3 > K
 
static Index< 'L', 3 > L
 
static Index< 'M', 3 > M
 
static Index< 'N', 3 > N
 
static Number< 0 > N0
 
static Number< 1 > N1
 
static Number< 2 > N2
 
BlockParamDatacache
 
std::map< int, BlockParamDatamat_blocks
 

Function Documentation

◆ custom_snes_mat()

static MoFEMErrorCode custom_snes_mat ( SNES  snes,
Vec  x,
Mat  A,
Mat  B,
void *  ctx 
)
static

Definition at line 468 of file BasicFeTools.hpp.

469  {
470  MpSnesCtx *snes_ctx = (MpSnesCtx *)ctx;
472  CHKERR SnesMat(snes, x, A, B, ctx);
473  CHKERR MatDiagonalScale(B, snes_ctx->mDiagVec, PETSC_NULL);
474 
476 };
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:415
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:485
#define CHKERR
Inline error check.
Definition: definitions.h:604
PetscErrorCode SnesMat(SNES snes, Vec x, Mat A, Mat B, void *ctx)
This is MoFEM implementation for the left hand side (tangent matrix) evaluation in SNES solver.
Definition: SnesCtx.cpp:126
SmartPetscObj< Vec > mDiagVec

◆ custom_snes_rhs()

static MoFEMErrorCode custom_snes_rhs ( SNES  snes,
Vec  x,
Vec  f,
void *  ctx 
)
static

Definition at line 460 of file BasicFeTools.hpp.

460  {
461  MpSnesCtx *snes_ctx = (MpSnesCtx *)ctx;
463  CHKERR SnesRhs(snes, x, f, ctx);
464  CHKERR VecPointwiseMult(f, f, snes_ctx->mDiagVec);
466 }
PetscErrorCode SnesRhs(SNES snes, Vec x, Vec f, void *ctx)
This is MoFEM implementation for the right hand side (residual vector) evaluation in SNES solver.
Definition: SnesCtx.cpp:17

Variable Documentation

◆ cache

BlockParamData* cache
extern

Definition at line 86 of file multifield_plasticity.cpp.

◆ i

Index<'i', 3> i
static

Definition at line 79 of file BasicFeTools.hpp.

◆ I

Index<'I', 3> I
static
Examples
Remodeling.cpp, and Remodeling.hpp.

Definition at line 88 of file BasicFeTools.hpp.

◆ j

Index<'j', 3> j
static

Definition at line 80 of file BasicFeTools.hpp.

◆ J

Index<'J', 3> J
static
Examples
EshelbianOperators.cpp, Remodeling.cpp, and Remodeling.hpp.

Definition at line 89 of file BasicFeTools.hpp.

◆ k

Index<'k', 3> k
static

Definition at line 81 of file BasicFeTools.hpp.

◆ K

Index<'K', 3> K
static

◆ l

Index<'l', 3> l
static

Definition at line 82 of file BasicFeTools.hpp.

◆ L

Index<'L', 3> L
static
Examples
Remodeling.cpp, and navier_stokes.cpp.

Definition at line 91 of file BasicFeTools.hpp.

◆ m

Index<'m', 3> m
static

◆ M

Index<'M', 3> M
static

◆ mat_blocks

std::map<int, BlockParamData> mat_blocks
extern

Definition at line 87 of file multifield_plasticity.cpp.

◆ n

Index<'n', 3> n
static

◆ N

Index<'N', 3> N
static

Definition at line 93 of file BasicFeTools.hpp.

◆ N0

Number<0> N0
static
Examples
EshelbianOperators.cpp.

Definition at line 95 of file BasicFeTools.hpp.

◆ N1

Number<1> N1
static
Examples
EshelbianOperators.cpp.

Definition at line 96 of file BasicFeTools.hpp.

◆ N2

Number<2> N2
static
Examples
EshelbianOperators.cpp.

Definition at line 97 of file BasicFeTools.hpp.

◆ o

Index<'o', 3> o
static

◆ p

Index<'p', 3> p
static