Skip to content

load

LoadPhaseType module-attribute

LoadPhaseType: Type = as_numba_type(LoadPhase)

Load

load phases manager.

phases instance-attribute

phases: List[LoadPhase] = numba.typed.List([p for _ in (range(0))])

load phases

__init__

__init__()

Constructor for the load class.

addConfinementPhase

addConfinementPhase(eps1: float, steps: int) -> LoadPhase

Add a confinement load phase.

PARAMETER DESCRIPTION
steps

Number of steps.

TYPE: int

eps1

Maximum strain.

TYPE: float

RETURNS DESCRIPTION
LoadPhase

The load phase.

addConstantStressRatioPhase

addConstantStressRatioPhase(
    sig3_min: float, sig3_max: float, eta: float, steps: int, axis: int = 1
) -> LoadPhase

Add a constant stress ratio load phase.

PARAMETER DESCRIPTION
steps

Number of steps.

TYPE: int

sig3_min

Minimum value of minimum principal stress.

TYPE: float

sig3_max

Maximum value of minimum principal stress.

TYPE: float

eta

Constant stress ratio.

TYPE: float

axis

Loading axis, by default 1

TYPE: int DEFAULT: 1

RETURNS DESCRIPTION
LoadPhase

The load phase.

addDrainedTriaxialPhase

addDrainedTriaxialPhase(
    sigc: float, eps1: float, steps: int, axis: int = 1
) -> LoadPhase

Add a drained triaxial load phase.

PARAMETER DESCRIPTION
steps

Number of steps.

TYPE: int

sigc

Confined stress.

TYPE: float

eps1

Maximum strain.

TYPE: float

axis

Loading axis, by default 1

TYPE: int DEFAULT: 1

RETURNS DESCRIPTION
LoadPhase

The load phase.

addIsotropicPhase

addIsotropicPhase(sigc: float, steps: int) -> LoadPhase

Add an isotropic load phase.

PARAMETER DESCRIPTION
steps

Number of steps.

TYPE: int

sigc

Confined stress.

TYPE: float

RETURNS DESCRIPTION
LoadPhase

The load phase.

addLoadPhase

addLoadPhase(phase: LoadPhase) -> LoadPhase

Add a load phase.

PARAMETER DESCRIPTION
phase

The load phase.

TYPE: LoadPhase

RETURNS DESCRIPTION
LoadPhase

The load phase.

addTrueTriaxialPhase

addTrueTriaxialPhase(
    sig3: float,
    b: float,
    eps1: float,
    steps: int,
    axis1: int = 1,
    axis2: int = 2,
) -> LoadPhase

Add a true triaxial load phase.

PARAMETER DESCRIPTION
sig3

Minimum principal stress.

TYPE: float

b

Intermediate stress ratio.

TYPE: float

eps1

Maximum strain.

TYPE: float

steps

Number of steps.

TYPE: int

axis1

Major axis, by default 1

TYPE: int DEFAULT: 1

axis2

Intermediate axis, by default 2

TYPE: int DEFAULT: 2

RETURNS DESCRIPTION
LoadPhase

The load phase.

addTrueTriaxialWithConstantShearPhase

addTrueTriaxialWithConstantShearPhase(
    p: float, b: float, steps: int, axis1: int = 1, axis2: int = 2
) -> LoadPhase

Add a true triaxial load phase with constant shear stress.

PARAMETER DESCRIPTION
p

Mean stress.

TYPE: float

b

Intermediate stress ratio.

TYPE: float

steps

Number of steps.

TYPE: int

axis1

Major axis, by default 1

TYPE: int DEFAULT: 1

axis2

Intermediate axis, by default 2

TYPE: int DEFAULT: 2

RETURNS DESCRIPTION
LoadPhase

The load phase.

addUndrainedTriaxialPhase

addUndrainedTriaxialPhase(
    eps1: float, steps: int, axis: int = 1, no_epsv: bool = False
) -> LoadPhase

Add an undrained triaxial load phase.

PARAMETER DESCRIPTION
steps

Number of steps.

TYPE: int

eps1

Maximum strain.

TYPE: float

axis

Loading axis, by default 1

TYPE: int DEFAULT: 1

no_epsv

Whether to control the intermediate principal stress without generating volumetric strain, this is useful when the material fabric is non-coaxial with the principal stress, by default False

TYPE: bool DEFAULT: False

RETURNS DESCRIPTION
LoadPhase

The load phase.

addUndrainedTriaxialWithoutShearPhase

addUndrainedTriaxialWithoutShearPhase(
    eps1: float, steps: int, axis: int = 1, no_epsv: bool = False
) -> LoadPhase

Add an undrained triaxial load phase without controlling the shear strain.

PARAMETER DESCRIPTION
steps

Number of steps.

TYPE: int

eps1

Maximum strain.

TYPE: float

axis

Loading axis, by default 1

TYPE: int DEFAULT: 1

no_epsv

Whether to control the intermediate principal stress without generating volumetric strain, this is useful when the material fabric is non-coaxial with the principal stress, by default False

TYPE: bool DEFAULT: False

RETURNS DESCRIPTION
LoadPhase

The load phase.

addUndrainedTrueTriaxialPhase

addUndrainedTrueTriaxialPhase(
    eps1: float,
    b: float,
    steps: int,
    axis1: int = 1,
    axis2: int = 2,
    no_epsv: bool = True,
) -> LoadPhase

Add an undrained true triaxial load phase.

PARAMETER DESCRIPTION
steps

Number of steps.

TYPE: int

eps1

Maximum strain.

TYPE: float

b

Intermediate stress ratio.

TYPE: float

axis1

Major axis, by default 1

TYPE: int DEFAULT: 1

axis2

Intermediate axis, by default 2

TYPE: int DEFAULT: 2

no_epsv

Whether to control the intermediate principal stress without generating volumetric strain, this is useful when the material fabric is non-coaxial with the principal stress, by default True

TYPE: bool DEFAULT: True

RETURNS DESCRIPTION
LoadPhase

The load phase.

addUndrainedTrueTriaxialWithAxialStrainPhase

addUndrainedTrueTriaxialWithAxialStrainPhase(
    epsa: float,
    b: float,
    steps: int,
    axis1: int = 1,
    axis2: int = 2,
    no_epsv: bool = True,
) -> LoadPhase

Add an undrained true triaxial load phase with axial strain control.

PARAMETER DESCRIPTION
steps

Number of steps.

TYPE: int

epsa

Axial strain.

TYPE: float

b

Intermediate stress ratio.

TYPE: float

axis1

Major axis, by default 1

TYPE: int DEFAULT: 1

axis2

Intermediate axis, by default 2

TYPE: int DEFAULT: 2

no_epsv

Whether to control the intermediate principal stress without generating volumetric strain, this is useful when the material fabric is non-coaxial with the principal stress, by default True

TYPE: bool DEFAULT: True

RETURNS DESCRIPTION
LoadPhase

The load phase.

axisIndex staticmethod

axisIndex(axis: int = 1)

Get the index of the axis.

PARAMETER DESCRIPTION
axis

Loading axis, by default 1

TYPE: int DEFAULT: 1

RETURNS DESCRIPTION
int

The index of the axis.

clear

clear()

Clear the load phases.

initialize

initialize(sv: StateVariable)

Initialize the load.

PARAMETER DESCRIPTION
sv

The state variables.

TYPE: StateVariable

LoadPhase

A class for a single load phase.

b instance-attribute

b: float = b

Intermediate stress ratio

control instance-attribute

control: VectorXf = control

Control type of the load, 0 for stress control, 1 for strain control, -1 for ignored

final instance-attribute

final: VectorXf = final

Final mixed stress/strain

initial instance-attribute

initial: VectorXf = initial

Initial mixed stress/strain

steps instance-attribute

steps: int = steps

Number of steps

total instance-attribute

total: VectorXf = total

Control whether the load is incremental or total, 0 for incremental, 1 for total

true_triaxial_control_type instance-attribute

true_triaxial_control_type: str = true_triaxial_control_type

Control type for true triaxial loading, "none" for no control, "sig1", "sig2", or sig3" for controlling the principal stresses, "no_epsv" for controlling the intermediate principal stress without generating volumetric strain

true_triaxial_intermediate_axis instance-attribute

true_triaxial_intermediate_axis: int = true_triaxial_intermediate_axis

Intermediate axis for true triaxial loading, 1 for axis 1, 2 for axis 2, 3 for axis 3

true_triaxial_major_axis instance-attribute

true_triaxial_major_axis: int = true_triaxial_major_axis

Major axis for true triaxial loading, 1 for axis 1, 2 for axis 2, 3 for axis 3

__init__

__init__(
    initial: ndarray = zeros(6),
    final: ndarray = zeros(6),
    control: ndarray = zeros(6),
    total: ndarray = zeros(6),
    steps: int = 100,
    b: float = -1.0,
    true_triaxial_control_type: str = "none",
    true_triaxial_major_axis: int = 1,
    true_triaxial_intermediate_axis: int = 2,
)

Constructor for the load phase class.

PARAMETER DESCRIPTION
initial

Initial mixed stress/strain.

TYPE: ndarray DEFAULT: zeros(6)

final

Final mixed stress/strain.

TYPE: ndarray DEFAULT: zeros(6)

control

The control type of the load increment, 0 for stress control, 1 for strain control, -1 for ignored.

TYPE: ndarray DEFAULT: zeros(6)

total

Control whether the load is incremental or total, 0 for incremental, 1 for total.

TYPE: ndarray DEFAULT: zeros(6)

steps

Number of steps.

TYPE: int DEFAULT: 100

b

Intermediate stress ratio.

TYPE: float DEFAULT: -1.0

true_triaxial_control_type

Control type for true triaxial loading, "none" for no control, "sig1", "sig2", or sig3" for controlling the principal stresses, "no_epsv" for controlling the intermediate principal stress without generating volumetric strain

TYPE: str DEFAULT: 'none'

true_triaxial_major_axis

Major axis for true triaxial loading, 1 for axis 1, 2 for axis 2, 3 for axis 3.

TYPE: int DEFAULT: 1

true_triaxial_intermediate_axis

Intermediate axis for true triaxial loading, 1 for axis 1, 2 for axis 2, 3 for axis 3.

TYPE: int DEFAULT: 2

finalize

finalize(
    K: ndarray, S: ndarray, E: ndarray, sv0: StateVariable, sv: StateVariable
) -> Tuple[ndarray, ndarray]

Finalize the load phase to ensure the intermediate stress ratio is satisfied.

initialize

initialize(sv: StateVariable)

Initialize the load phase.

PARAMETER DESCRIPTION
sv

The state variables.

TYPE: StateVariable

isCompatibleWith

isCompatibleWith(previous: 'LoadPhase') -> bool

Check if the load phase is compatible with the previous load phase.

PARAMETER DESCRIPTION
previous

Previous load phase.

TYPE: LoadPhase

RETURNS DESCRIPTION
bool

True if compatible, False otherwise.

isIsotropic

isIsotropic(tol: float = 1e-06) -> bool

Check if the load phase is isotropic.

makeCompatibleWith

makeCompatibleWith(previous: 'LoadPhase')

Make the load phase compatible with the previous load phase.

PARAMETER DESCRIPTION
previous

Previous load phase.

TYPE: LoadPhase