MFEM
v3.3.2
Finite element discretization library
|
Auxiliary class for evaluating the 2x2 matrix invariants and their first and second derivatives. More...
#include <invariants.hpp>
Public Member Functions | |
InvariantsEvaluator2D (const scalar_t *Jac=NULL) | |
The Jacobian should use column-major storage. More... | |
~InvariantsEvaluator2D () | |
void | SetJacobian (const scalar_t *Jac) |
The Jacobian should use column-major storage. More... | |
void | SetDerivativeMatrix (int height, const scalar_t *Deriv) |
The Deriv matrix is dof x 2 , using column-major storage. More... | |
scalar_t | Get_I1 () |
scalar_t | Get_I1b () |
scalar_t | Get_I2 () |
scalar_t | Get_I2b () |
const scalar_t * | Get_dI1 () |
const scalar_t * | Get_dI1b () |
const scalar_t * | Get_dI2 () |
const scalar_t * | Get_dI2b () |
void | Assemble_ddI1 (scalar_t w, scalar_t *A) |
void | Assemble_ddI1b (scalar_t w, scalar_t *A) |
void | Assemble_ddI2 (scalar_t w, scalar_t *A) |
void | Assemble_ddI2b (scalar_t w, scalar_t *A) |
void | Assemble_TProd (scalar_t w, const scalar_t *X, const scalar_t *Y, scalar_t *A) |
void | Assemble_TProd (scalar_t w, const scalar_t *X, scalar_t *A) |
Protected Types | |
enum | EvalMasks { HAVE_I1 = 1, HAVE_I1b = 2, HAVE_I2b = 4, HAVE_dI1 = 8, HAVE_dI1b = 16, HAVE_dI2 = 32, HAVE_dI2b = 64, HAVE_DaJ = 128, HAVE_DJt = 256 } |
Protected Member Functions | |
bool | dont (int have_mask) const |
void | Eval_I1 () |
void | Eval_I1b () |
void | Eval_I2b () |
void | Eval_dI1 () |
void | Eval_dI1b () |
void | Eval_dI2 () |
void | Eval_dI2b () |
void | Eval_DaJ () |
void | Eval_DJt () |
void | Eval_DZt (const scalar_t *Z, scalar_t **DZt_ptr) |
Protected Attributes | |
const scalar_t * | J |
scalar_t | I1 |
scalar_t | I1b |
scalar_t | I2b |
scalar_t | dI1 [4] |
scalar_t | dI1b [4] |
scalar_t | dI2 [4] |
scalar_t | dI2b [4] |
int | D_height |
int | alloc_height |
const scalar_t * | D |
scalar_t * | DaJ |
scalar_t * | DJt |
scalar_t * | DXt |
scalar_t * | DYt |
scalar_t | sign_detJ |
int | eval_state |
Auxiliary class for evaluating the 2x2 matrix invariants and their first and second derivatives.
The type scalar_t
must support the standard operations:
=, +=, -=, +, -, *, /, unary -, int*scalar_t, int/scalar_t, scalar_t/int
The type scalar_ops
must define the static method:
scalar_t sign(const scalar_t &);
Definition at line 49 of file invariants.hpp.
|
protected |
Enumerator | |
---|---|
HAVE_I1 | |
HAVE_I1b | |
HAVE_I2b | |
HAVE_dI1 | |
HAVE_dI1b | |
HAVE_dI2 | |
HAVE_dI2b | |
HAVE_DaJ | |
HAVE_DJt |
Definition at line 67 of file invariants.hpp.
|
inline |
The Jacobian should use column-major storage.
Definition at line 171 of file invariants.hpp.
|
inline |
Definition at line 175 of file invariants.hpp.
|
inline |
Definition at line 229 of file invariants.hpp.
|
inline |
Definition at line 260 of file invariants.hpp.
|
inline |
Definition at line 338 of file invariants.hpp.
|
inline |
Definition at line 387 of file invariants.hpp.
|
inline |
Definition at line 435 of file invariants.hpp.
|
inline |
Definition at line 463 of file invariants.hpp.
|
inlineprotected |
Definition at line 83 of file invariants.hpp.
|
inlineprotected |
Definition at line 144 of file invariants.hpp.
|
inlineprotected |
Definition at line 102 of file invariants.hpp.
|
inlineprotected |
Definition at line 108 of file invariants.hpp.
|
inlineprotected |
Definition at line 121 of file invariants.hpp.
|
inlineprotected |
Definition at line 133 of file invariants.hpp.
|
inlineprotected |
Definition at line 150 of file invariants.hpp.
|
inlineprotected |
Definition at line 155 of file invariants.hpp.
|
inlineprotected |
Definition at line 85 of file invariants.hpp.
|
inlineprotected |
Definition at line 90 of file invariants.hpp.
|
inlineprotected |
Definition at line 95 of file invariants.hpp.
|
inline |
Definition at line 207 of file invariants.hpp.
|
inline |
Definition at line 211 of file invariants.hpp.
|
inline |
Definition at line 215 of file invariants.hpp.
|
inline |
Definition at line 219 of file invariants.hpp.
|
inline |
Definition at line 202 of file invariants.hpp.
|
inline |
Definition at line 203 of file invariants.hpp.
|
inline |
Definition at line 204 of file invariants.hpp.
|
inline |
Definition at line 205 of file invariants.hpp.
|
inline |
The Deriv matrix is dof x 2
, using column-major storage.
Definition at line 187 of file invariants.hpp.
|
inline |
The Jacobian should use column-major storage.
Definition at line 184 of file invariants.hpp.
|
protected |
Definition at line 61 of file invariants.hpp.
|
protected |
Definition at line 62 of file invariants.hpp.
|
protected |
Definition at line 61 of file invariants.hpp.
|
protected |
Definition at line 63 of file invariants.hpp.
|
protected |
Definition at line 59 of file invariants.hpp.
|
protected |
Definition at line 59 of file invariants.hpp.
|
protected |
Definition at line 59 of file invariants.hpp.
|
protected |
Definition at line 59 of file invariants.hpp.
|
protected |
Definition at line 63 of file invariants.hpp.
|
protected |
Definition at line 63 of file invariants.hpp.
|
protected |
Definition at line 63 of file invariants.hpp.
|
protected |
Definition at line 81 of file invariants.hpp.
|
protected |
Definition at line 56 of file invariants.hpp.
|
protected |
Definition at line 56 of file invariants.hpp.
|
protected |
Definition at line 56 of file invariants.hpp.
|
protected |
Definition at line 53 of file invariants.hpp.
|
protected |
Definition at line 65 of file invariants.hpp.