Skip to content

fabric

FabricTensorType module-attribute

FabricTensorType: Type = as_numba_type(FabricTensor)

FabricTensor

Base class for fabric tensors.

changed instance-attribute

fabric tensor changed flags

coefs instance-attribute

coefs: Dict[str, float] = numba.typed.Dict.empty(
    numba.types.string, numba.types.float64
)

Fabric tensor coefficients

evolution instance-attribute

evolution: str = evolution

evolution type

rotated instance-attribute

rotated: bool = False

whether the fabric is rotated

tensor instance-attribute

tensor: MatrixXf = np.eye(3)

fabric tensor

type instance-attribute

type: str = type

Fabric tensor type

Fij

Fij() -> ndarray

The deviatoric fabric tensor.

__init__

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

Initialize the fabric tensor.

density

density(beta: ndarray, gamma: ndarray) -> ndarray

Directional density function.

evolve

evolve(
    n: ndarray,
    CSR: float,
    sv0: StateVariable,
    sv: StateVariable,
    use_plastic_strain: bool = True,
    nonproportionality_orthogonal: float = 0.0,
    nonproportionality_noncoaxial: float = 0.0,
)

Update the fabric tensor.

PARAMETER DESCRIPTION
n

Loading direction

TYPE: ndarray

CSR

Critical stress ratio

TYPE: float

sv0

The state variables at the beginning of the increment.

TYPE: StateVariable

sv

The state variables at the end of the increment.

TYPE: StateVariable

use_plastic_strain

Whether to use the plastic strain for fabric evolution

TYPE: bool DEFAULT: True

nonproportionality_orthogonal

Weight of the orthogonal component of the non-proportionality in the fabric anisotropy variable.

TYPE: float DEFAULT: 0.0

nonproportionality_noncoaxial

Weight of the non-coaxial component of the non-proportionality in the fabric anisotropy variable.

TYPE: float DEFAULT: 0.0

initialize

initialize()

Initialize the fabric tensor.

requiresEvolution

requiresEvolution() -> bool

Check if the fabric tensor requires evolution.

requiresUpdate

requiresUpdate() -> bool

Check if the fabric tensor requires update.

rotate

rotate(rotate: bool = True)

Rotate the fabric tensor, set rotate to False to revert the rotation.

setParameters

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

Set the fabric tensor parameters.

setupDefaultParameters

setupDefaultParameters()

Set the default fabric tensor parameters.

FabricTensorChanged

density instance-attribute

density: bool

__init__

__init__()

reset

reset()

nonCoaxialDirection

nonCoaxialDirection(F: ndarray, n: ndarray, m: ndarray) -> ndarray

Non-coaxial direction

orthogonalDirection

orthogonalDirection(F: ndarray, n: ndarray) -> ndarray

Orthogonal direction