Skip to content

material

Material

Material parameters.

Note

Not using a numba TypedDict because it is slower.

Properties ending with underscores are anisotropic parameters.

Ad instance-attribute

Ad: numba_float = pop('Ad', 0.6)

a dilation parameter

Lambda instance-attribute

Lambda: numba_float = pop('Lambda', 0.06)

compression -> slope of CSL line (lambda)

R instance-attribute

R: numba_float = pop('R', 0.0)

:math:R, A material constant, :math:k_n=k_t\times R

V instance-attribute

V: numba_float = pop('V', 0.0)

A large positive parameter

X instance-attribute

X: numba_float = pop('X', 0.0)

A positive model parameter

b instance-attribute

b: numba_float = pop('b', 1e-07)

:math:b, Control the evolution rate of the grain breakage

c instance-attribute

c: numba_float = pop('c', 0.0)

Usual ratio of extension to compression quantities

ch instance-attribute

ch: numba_float = pop('ch', 0.0)

Stress-ratio-related hardening parameters

chi0 instance-attribute

chi0: numba_float = pop('chi0', 0.0)

:math:\chi_0, Initial bounding ratio

cohesion instance-attribute

cohesion: numba_float = pop('cohesion', 0.0)

adhesive stress

custom instance-attribute

custom: Dict[str, numba_float] = empty(string, numba_float)

Custom parameters

e0 instance-attribute

e0: numba_float = pop('e0', 0.6)

initial void ratio

ec0 instance-attribute

ec0: numba_float = pop('ec0', 0.7)

initial critical void ratio

emax instance-attribute

emax: numba_float = pop('emax', 0.8)

:math:e_{\max}, Maximal void ratio

emin instance-attribute

emin: numba_float = pop('emin', 0.4)

:math:e_{\min}, Minimal void ratio

eref instance-attribute

eref: numba_float = pop('eref', 0.81)

void ratio at the critical state

eref0 instance-attribute

eref0: numba_float = pop('eref0', 0.81)

initial critical void ratio

erefu instance-attribute

erefu: numba_float = pop('erefu', 0.8)

:math:e_{refu}, Ultimate reference void ratio

fabrics instance-attribute

fabrics: Dict[str, FabricTensor] = empty(string, FabricTensorType)

Anisotropic fabric tensors

fb0 instance-attribute

fb0: numba_float = pop('fb0', 0.0)

:math:\sigma_{b0}, Initial adhesive normal stress

fc0 instance-attribute

fc0: numba_float = pop('fc0', 100.0)

:math:\sigma_{c0}, Initial pre-consolidated stress

fnr instance-attribute

fnr: numba_float = pop('fnr', 0.0)

Mean effective stress when log(e) = 1 in the LCC line (log(e) - log(p) space)

fref instance-attribute

fref: numba_float = pop('fref', 0.0001)

reference force

h0 instance-attribute

h0: numba_float = pop('h0', 0.0)

Stress-ratio-related hardening parameters

hp instance-attribute

hp: numba_float = pop('hp', 5000.0)

:math:h_p, Related to plastic modulus of bounding surface effect

integration instance-attribute

integration: Integration = Integration(1000000000.0, 0.00065)

Integration

kappa instance-attribute

kappa: numba_float = pop('kappa', 0.01)

slope of swelling line

kn0 instance-attribute

kn0: numba_float = pop('kn0', 80.0)

initial normal force

kp instance-attribute

kp: numba_float = pop('kp', 0.0)

:math:k_p, A parameter in the SimSand yield formula

kpr instance-attribute

kpr: numba_float = pop('kpr', 1.0)

a ratio of normal stiffness (k_n) to peak stiffness (k_p)

krr instance-attribute

krr: numba_float = pop('krr', 0.4)

a ratio of normal stiffness (k_n) to tangential stiffness (k_r)

kt0 instance-attribute

kt0: numba_float = pop('kt0', 0.0)

:math:K_{t0}, Reference shear modulus

m instance-attribute

m: numba_float = pop('m', 0.0)

:math:m, Control the distance between NCL and CSL

n instance-attribute

n: numba_float = pop('n', 1.0)

:math:n, Control the shape of yield surface

nd instance-attribute

nd: numba_float = pop('nd', 0.5)

the exponential in the phase-transformation angle

ne instance-attribute

ne: numba_float = pop('ne', 0.0)

an exponent in the normal stiffness

ng instance-attribute

ng: numba_float = pop('ng', 0.0)

:math:n_g, An exponent in the formula of nonlinear shear modulus

np instance-attribute

np: numba_float = pop('np', 1.0)

the exponential in the dynamic friction angle

nw instance-attribute

nw: numba_float = pop('nw', 1.0)

:math:n_w, Control the effect of plastic work to the grain breakage

phi instance-attribute

phi: numba_float = pop('phi', 33.0)

inter-particle friction angle

pref instance-attribute

pref: numba_float = pop('pref', Pat)

reference load at critical state

rho instance-attribute

rho: numba_float = pop('rho', 0.0)

:math:\rho, Control the decreasing rate of CSL due to grain breakage

rhoc instance-attribute

rhoc: numba_float = pop('rhoc', 0.0)

Slope of the LCC line in the log(e) - log(p) space

theta instance-attribute

theta: numba_float = pop('theta', 0.0)

A constant exponent in the hardening behavior of p0

vf instance-attribute

vf: numba_float = pop('vf', 0.0)

:math:\nu_f, Final poisson ratio

vi instance-attribute

vi: numba_float = pop('vi', 0.5)

:math:\nu_i, Initial poisson ratio

xi instance-attribute

xi: numba_float = pop('xi', 0.5)

:math:\xi, Control the nonlinearity of CSL line

xib instance-attribute

xib: numba_float = pop('xib', 0.0)

:math:\xi_b, A soil constant controls hardening rule of :math:\xi_b

xic instance-attribute

xic: numba_float = pop('xic', 0.0)

:math:\xi_c, A soil constant controls hardening rule of :math:\xi_c

Ad_

Ad_(idx: int) -> float

Lambda_

Lambda_(idx: int) -> float

Mc

Mc(
    ba: float = 0.0,
    Ra: float = 1.0,
    weight_mises: float = 0.0,
    weight_tresca: float = 0.0,
    weight_mohr_coulomb: float = 1.0,
    weight_smp: float = 0.0,
) -> float

Return the critical state slope for compression.

Mc_

Mc_(
    idx: int,
    ba: float = 0.0,
    Ra: float = 1.0,
    weight_mises: float = 0.0,
    weight_tresca: float = 0.0,
    weight_mohr_coulomb: float = 1.0,
    weight_smp: float = 0.0,
) -> float

Return the critical state slope for compression.

Me

Me(
    ba: float = 0.0,
    Ra: float = 1.0,
    weight_mises: float = 0.0,
    weight_tresca: float = 0.0,
    weight_mohr_coulomb: float = 1.0,
    weight_smp: float = 0.0,
) -> float

Return the critical state slope for extension.

Me_

Me_(
    idx: int,
    ba: float = 0.0,
    Ra: float = 1.0,
    weight_mises: float = 0.0,
    weight_tresca: float = 0.0,
    weight_mohr_coulomb: float = 1.0,
    weight_smp: float = 0.0,
) -> float

Return the critical state slope for extension.

R_

R_(idx: int) -> float

V_

V_(idx: int) -> float

X_

X_(idx: int) -> float

__contains__

__contains__(key: str) -> bool

Check if the parameter exists.

__getitem__

__getitem__(key: str) -> float

Get the value of a parameter. This method is might be slower than direct getting the attribute.

__init__

__init__(props: dict[str, float] = None) -> None

Initialize the material parameters.

__setitem__

__setitem__(key: str, value: float)

Set the value of a parameter. This method is might be slower than direct setting the attribute.

anisotropicFactor

anisotropicFactor(key: str, idx: int) -> float

Return the anisotropic factor.

PARAMETER DESCRIPTION
key

The key of the anisotropic parameter.

TYPE: str

idx

The index of the integration point.

TYPE: int

b_

b_(idx: int) -> float

c_

c_(idx: int) -> float

ch_

ch_(idx: int) -> float

chi0_

chi0_(idx: int) -> float

cohesion_

cohesion_(idx: int) -> float

custom_

custom_(key: str, idx: int) -> float

e0_

e0_(idx: int) -> float

ec0_

ec0_(idx: int) -> float

emax_

emax_(idx: int) -> float

emin_

emin_(idx: int) -> float

eref0_

eref0_(idx: int) -> float

eref_

eref_(idx: int) -> float

erefu_

erefu_(idx: int) -> float

fb0_

fb0_(idx: int) -> float

fc0_

fc0_(idx: int) -> float

fnr_

fnr_(idx: int) -> float

fref_

fref_(idx: int) -> float

get

get(key: str, default_: float = 0.0) -> float

Get a parameter value.

get_

get_(key: str, idx: int, default_: float = 0.0) -> float

Get a parameter value with anisotropic factor.

PARAMETER DESCRIPTION
key

The key of the parameter.

TYPE: str

idx

The index of the integration point.

TYPE: int

default_

The default value of the parameter.

TYPE: float DEFAULT: 0.0

h0_

h0_(idx: int) -> float

hp_

hp_(idx: int) -> float

initialize

initialize(sv: StateVariable)

Initialize the material parameters.

kappa_

kappa_(idx: int) -> float

kn0_

kn0_(idx: int) -> float

kp_

kp_(idx: int) -> float

kpr_

kpr_(idx: int) -> float

krr_

krr_(idx: int) -> float

kt0_

kt0_(idx: int) -> float

m_

m_(idx: int) -> float

mu

mu(
    ba: float = 0.0,
    Ra: float = 1.0,
    weight_mises: float = 0.0,
    weight_tresca: float = 0.0,
    weight_mohr_coulomb: float = 1.0,
    weight_smp: float = 0.0,
) -> float

Return the friction coefficient.

mu_

mu_(
    idx: int,
    ba: float = 0.0,
    Ra: float = 1.0,
    weight_mises: float = 0.0,
    weight_tresca: float = 0.0,
    weight_mohr_coulomb: float = 1.0,
    weight_smp: float = 0.0,
) -> float

n_

n_(idx: int) -> float

nd_

nd_(idx: int) -> float

ne_

ne_(idx: int) -> float

ng_

ng_(idx: int) -> float

np_

np_(idx: int) -> float

nw_

nw_(idx: int) -> float

phi_

phi_(
    idx: int,
    ba: float = 0.0,
    Ra: float = 1.0,
    weight_mises: float = 0.0,
    weight_tresca: float = 0.0,
    weight_mohr_coulomb: float = 1.0,
    weight_smp: float = 0.0,
) -> float

phi_combined

phi_combined(
    ba: float = 0.0,
    Ra: float = 1.0,
    weight_mises: float = 0.0,
    weight_tresca: float = 0.0,
    weight_mohr_coulomb: float = 1.0,
    weight_smp: float = 0.0,
) -> float

Friction angle considering combined failure criteria

pref_

pref_(idx: int) -> float

rho_

rho_(idx: int) -> float

rhoc_

rhoc_(idx: int) -> float

set

set(key: str, value: float)

Set a parameter value.

setAnisotropicParameters

setAnisotropicParameters(
    key: str,
    type: AvailableFabricTypes = "chang1990-ext",
    evolution: AvailableFabricEvolutionTypes = "zhao2020",
    coefs: Dict[str, float] = None,
)

Set anisotropic parameters.

PARAMETER DESCRIPTION
key

The key of the anisotropic parameter.

TYPE: str

type

The type of the anisotropic parameter.

TYPE: str DEFAULT: 'chang1990-ext'

evolution

The evolution type of the anisotropic parameter.

TYPE: str DEFAULT: 'zhao2020'

coefs

The coefficients of the anisotropic parameter.

TYPE: Dict[str, float] DEFAULT: None

sin_phi_mises

sin_phi_mises(ba: float = 0.0, Ra: float = 1.0) -> float

Friction angle sine of Von Mises failure criteria

sin_phi_smp

sin_phi_smp(ba: float = 0.0, Ra: float = 1.0) -> float

Friction angle sine of SMP failure criteria

sin_phi_tresca

sin_phi_tresca(ba: float = 0.0, Ra: float = 1.0) -> float

Friction angle sine of Tresca failure criteria

theta_

theta_(idx: int) -> float

vf_

vf_(idx: int) -> float

vi_

vi_(idx: int) -> float

xi_

xi_(idx: int) -> float

xib_

xib_(idx: int) -> float

xic_

xic_(idx: int) -> float