Skip to content

statevariable

StateVariable

A instance-attribute

fabric tensor A

F instance-attribute

fabric tensor F

cached_num instance-attribute

cached_num: numba_int = 0

cached number of integration points

contact_min_normal_force instance-attribute

contact_min_normal_force: numba_float

minimum normal force

cscalars instance-attribute

cscalars: Dict[str, VectorXf]

custom scalar fields for contacts, a 1D numpy array of size (size,) is expected for each contact

cvectors instance-attribute

cvectors: Dict[str, MatrixXf]

custom vector fields for contacts, a 2D numpy array of size (size, ...) is expected for each contact

disp instance-attribute

disp: MatrixXf

displacement

dispp instance-attribute

dispp: MatrixXf

plastic displacement

e instance-attribute

e: numba_float = 0.0

void ratio

ec instance-attribute

ec: numba_float = 0.0

critical void ratio

eps instance-attribute

eps: VectorXf

strain

epsp instance-attribute

epsp: VectorXf

plastic strain

epspu instance-attribute

epspu: VectorXf

plastic strain from displacements

force instance-attribute

force: MatrixXf

force

phase instance-attribute

phase: numba_int = 0

load phase index

phi instance-attribute

phi: numba_float = 0.0

critical friction angle

scalars instance-attribute

scalars: Dict[str, numba_float]

custom scalar fields

sig instance-attribute

sig: VectorXf

stress

size instance-attribute

size: numba_int = size

Size of the integration points

vectors instance-attribute

vectors: Dict[str, VectorXf]

custom vector fields

w instance-attribute

:math:w, Plastic work

A11

A11() -> float

Fabric tensor component A11

A12

A12() -> float

Fabric tensor component A12

A13

A13() -> float

Fabric tensor component A13

A22

A22() -> float

Fabric tensor component A22

A23

A23() -> float

Fabric tensor component A23

A33

A33() -> float

Fabric tensor component A33

Aij

Aij() -> ndarray

Fabric tensor, shape (3, 3)

F11

F11() -> float

Fabric tensor component F11

F12

F12() -> float

Fabric tensor component F12

F13

F13() -> float

Fabric tensor component F13

F22

F22() -> float

Fabric tensor component F22

F23

F23() -> float

Fabric tensor component F23

F33

F33() -> float

Fabric tensor component F33

FN11

FN11() -> float

Fabric tensor of contact normal force component FN11

FN12

FN12() -> float

Fabric tensor of contact normal force component FN12

FN13

FN13() -> float

Fabric tensor of contact normal force component FN13

FN22

FN22() -> float

Fabric tensor of contact normal force component FN22

FN23

FN23() -> float

Fabric tensor of contact normal force component FN23

FN33

FN33() -> float

Fabric tensor of contact normal force component FN33

FNij

FNij() -> ndarray

Fabric tensor of contact normal force, shape (3, 3)

FT11

FT11() -> float

Fabric tensor of contact shear force component FR11

FT12

FT12() -> float

Fabric tensor of contact shear force component FR12

FT13

FT13() -> float

Fabric tensor of contact shear force component FR13

FT22

FT22() -> float

Fabric tensor of contact shear force component FR22

FT23

FT23() -> float

Fabric tensor of contact shear force component FR23

FT33

FT33() -> float

Fabric tensor of contact shear force component FR33

FTij

FTij() -> ndarray

Fabric tensor of contact shear force, shape (3, 3)

Fij

Fij() -> ndarray

Fabric tensor, shape (3, 3)

I1

I1() -> float

First invariant of stress

I2

I2() -> float

Second invariant of stress

I3

I3() -> float

Third invariant of stress

J2

J2() -> float

Second invariant of deviatoric stress

J3

J3() -> float

Third invariant of deviatoric stress

M

M() -> float

Slope of the critical state line

Mc

Mc() -> float

Slope of the critical state line for compression

Me

Me() -> float

Slope of the critical state line for extension

Ra

Ra() -> float

Major stress ratio siga1/siga3

__init__

__init__(size: int = 37, initialize_arrays: bool = True)

Constructor of the state variable

PARAMETER DESCRIPTION
size

Size of the integration points

TYPE: int DEFAULT: 37

initialize_arrays

Whether to initialize numpy arrays, by default True, if False, the numpy arrays are empty

TYPE: bool DEFAULT: True

an

an() -> float

Degree of fabric anisotropy for the contact normal force

anisotropicStressTensor

anisotropicStressTensor() -> Tensor2

Anisotropic stress tensor

ar

ar() -> float

Degree of fabric anisotropy

at

at() -> float

Degree of fabric anisotropy for the contact shear force

b

b() -> float

Lode parameter

ba

ba() -> float

Lode parameter with anisotropy

copy

copy() -> 'StateVariable'

A copy of the state variable

copyContactStateVariables

copyContactStateVariables(
    from_idx: int,
    to_idx: int,
    symmetric: bool = False,
    cscalars: List[str] = None,
    cvectors: List[str] = None,
)

Copy the contact state variables from one integration point to another

PARAMETER DESCRIPTION
from_idx

Index of the integration point to copy from

TYPE: int

to_idx

Index of the integration point to copy to

TYPE: int

symmetric

Whether to revert the symmetric contact state variables, by default False

TYPE: bool DEFAULT: False

cscalars

Custom scalar fields to be multiplied by -1, by default None

TYPE: List[str] DEFAULT: None

cvectors

Custom vector fields to be multiplied by -1, by default None

TYPE: List[str] DEFAULT: None

copyTo

copyTo(sv: StateVariable)

Copy state variables to another

eeq

eeq() -> float

Equivalent strain

elasticStiffnessMatrix

elasticStiffnessMatrix() -> ndarray

Elastic stiffness matrix, shape (3, 3)

RETURNS DESCRIPTION
ndarray

Elastic stiffness matrix

epsa

epsa() -> float

Axial strain

epsd

epsd() -> float

General shear strain

epsij

epsij() -> ndarray

Deviatoric strain tensor

epskk

epskk() -> ndarray

Mean strain tensor

epsm

epsm() -> ndarray

Strain in a matrix form

epspa

epspa() -> float

Axial plastic strain

epspd

epspd() -> float

General plastic shear strain

epspij

epspij() -> ndarray

Deviatoric plastic strain tensor

epspkk

epspkk() -> ndarray

Mean plastic strain tensor

epspm

epspm() -> ndarray

Plastic strain in a matrix form

epspua

epspua() -> float

Axial plastic strain from displacements

epspud

epspud() -> float

General plastic shear strain from displacements

epspuij

epspuij() -> ndarray

Deviatoric plastic strain tensor from displacements

epspukk

epspukk() -> ndarray

Mean plastic strain tensor from displacements

epspum

epspum() -> ndarray

Plastic strain from displacements in a matrix form

epspuv

epspuv() -> float

Volumetric plastic strain from displacements

epspuva

epspuva() -> float

Volumetric plastic strain from displacements

epspv

epspv() -> float

Volumetric plastic strain

epspva

epspva() -> float

Volumetric plastic strain

epsv

epsv() -> float

Volumetric strain

epsva

epsva() -> float

Volumetric strain approximation

eta

eta() -> float

Stress ratio

feta

feta() -> ndarray

Shear force ratio for every integration point, shape (size,)

fetai

fetai(idx: int) -> float

Shear force ratio at the integration point with index idx

fn

fn() -> ndarray

Normal force for every integration point, shape (size,)

fnci

fnci(idx: int, cohesion: float = 0.0) -> float

Normal force with minimum cohesion at the integration point with index idx

fni

fni(idx: int) -> float

Normal force at the integration point with index idx

fr

fr() -> ndarray

Shear force for every integration point, shape (size,)

fri

fri(idx: int) -> float

Shear force at the integration point with index idx

fs

fs() -> ndarray

Shear force at the first direction for every integration point, shape (size,)

fsi

fsi(idx: int) -> float

Shear force at the first direction at the integration point with index idx

fst

fst() -> ndarray

Shear force for every integration point, shape (size, 2)

fsti

fsti(idx: int) -> ndarray

Shear force at the integration point with index idx, shape (2,)

ft

ft() -> ndarray

Shear force at the second direction for every integration point, shape (size,)

fti

fti(idx: int) -> float

Shear force at the second direction at the integration point with index idx

hash

hash(
    dfi: ndarray,
    idx: int,
    precision: int = 15,
    symmetric: bool = False,
    cscalars: List[str] = None,
    cvectors: List[str] = None,
) -> int

Hash the contact state variables at the integration point with index idx

PARAMETER DESCRIPTION
dfi

Contact force increment

TYPE: ndarray

idx

Index of the integration point

TYPE: int

precision

Precision of the hash value, by default 15

TYPE: int DEFAULT: 15

symmetric

Whether to revert the symmetric contact state variables, by default False

TYPE: bool DEFAULT: False

cscalars

Custom scalar fields to be multiplied by -1, by default None

TYPE: List[str] DEFAULT: None

cvectors

Custom vector fields to be multiplied by -1, by default None

TYPE: List[str] DEFAULT: None

RETURNS DESCRIPTION
int

Hash value

lode

lode() -> float

Lode angle

lodea

lodea() -> float

Lode angle with anisotropy

negp

negp() -> float

Negative mean stress, usually used in Geotechnical Engineering

nsi

nsi(idx: int) -> float

Direction of the shear force in the first direction with index idx

nsti

nsti(idx: int) -> ndarray

Direction of the shear force in two dimensions with index idx, shape (2,)

nti

nti(idx: int) -> float

Direction of the shear force in the second direction with index idx

p

p() -> float

Mean stress

peeq

peeq() -> float

Equivalent plastic strain

plasticDisplacementStrainTensor

plasticDisplacementStrainTensor() -> Tensor2

Plastic strain tensor from displacements

plasticStrainTensor

plasticStrainTensor() -> Tensor2

Plastic strain tensor

pueeq

pueeq() -> float

Equivalent plastic strain from displacements

q

q() -> float

Deviatoric stress

revertSymmetricContactStateVariables

revertSymmetricContactStateVariables(
    idx: int, cscalars: List[str] = None, cvectors: List[str] = None
)

Revert contact force, displacement and specified custom variables by multiplying them with -1

PARAMETER DESCRIPTION
idx

Index of the integration point

TYPE: int

cscalars

Custom scalar fields to be multiplied by -1, by default None

TYPE: List[str] DEFAULT: None

cvectors

Custom vector fields to be multiplied by -1, by default None

TYPE: List[str] DEFAULT: None

sig11

sig11() -> float

First principal stress

sig123

sig123()

Principal stresses

sig22

sig22() -> float

Second principal stress

sig33

sig33() -> float

Third principal stress

siga11

siga11() -> float

First principal stress with anisotropy

siga123

siga123()

Principal stresses with anisotropy

siga22

siga22() -> float

Second principal stress with anisotropy

siga33

siga33() -> float

Third principal stress with anisotropy

sigkk

sigkk() -> ndarray

Mean stress tensor

sigm

sigm() -> ndarray

Stress in a matrix form

strainTensor

strainTensor() -> Tensor2

Strain tensor

stressTensor

stressTensor() -> Tensor2

Stress tensor

tauij

tauij() -> ndarray

Deviatoric stress tensor

un

un() -> ndarray

Normal displacement for every integration point, shape (size,)

uni

uni(idx: int) -> float

Normal displacement at the integration point with index idx

upn

upn() -> ndarray

Normal plastic displacement for every integration point, shape (size,)

upni

upni(idx: int) -> float

Normal plastic displacement at the integration point with index idx

upr

upr() -> ndarray

Shear plastic displacement for every integration point, shape (size,)

upri

upri(idx: int) -> float

Shear plastic displacement at the integration point with index idx

ups

ups() -> ndarray

Shear plastic displacement at the first direction for every integration point, shape (size,)

upsi

upsi(idx: int) -> float

Shear plastic displacement at the first direction at the integration point with index idx

upst

upst() -> ndarray

Shear plastic displacement for every integration point, shape (size, 2)

upsti

upsti(idx: int) -> ndarray

Shear plastic displacement at the integration point with index idx, shape (2,)

upt

upt() -> ndarray

Shear plastic displacement at the second direction for every integration point, shape (size,)

upti

upti(idx: int) -> float

Shear plastic displacement at the second direction at the integration point with index idx

ur

ur() -> ndarray

Shear displacement for every integration point, shape (size,)

uri

uri(idx: int) -> float

Shear displacement at the integration point with index idx

us

us() -> ndarray

Shear displacement at the first direction for every integration point, shape (size,)

usi

usi(idx: int) -> float

Shear displacement at the first direction at the integration point with index idx

ust

ust() -> ndarray

Shear displacement for every integration point, shape (size, 2)

usti

usti(idx: int) -> ndarray

Shear displacement at the integration point with index idx, shape (2,)

ut

ut() -> ndarray

Shear displacement at the second direction for every integration point, shape (size,)

uti

uti(idx: int) -> float

Shear displacement at the second direction at the integration point with index idx