Skip to content

hertzmindlin

HertzMindlin

Bases: AnisotropicProperty

CN class-attribute instance-attribute

CN: float | None = None

Coordinate number-dependent number of contacts per unit volume.

CN0 class-attribute instance-attribute

CN0: float | None = None

Constant number at isotropic stress state.

F property

F: ndarray

Gg class-attribute instance-attribute

Gg: float | None = None

Particle shear modulus.

anisotropicLoading property

anisotropicLoading: bool

car class-attribute instance-attribute

car: float = 1.0

Effect of contact number decrease on shear stiffness in different directions.

car_anisotropy_major_axes class-attribute instance-attribute

car_anisotropy_major_axes: int = 3

Major axes of the fabric tensor for the anisotropy of car.

car_anisotropy_type class-attribute instance-attribute

car_anisotropy_type: AvailableFabricTypes = 'general-cross-anisotropic'

Type of fabric tensor for the anisotropy of car.

check_convergence class-attribute instance-attribute

check_convergence: bool = True

Whether to check convergence of the localization of stress to contact forces.

cn class-attribute instance-attribute

cn: float | None = None

Coefficient for the fabric-dependent normal stiffness.

cr class-attribute instance-attribute

cr: float | None = None

Coefficient for the fabric-dependent stiffness ratio.

force_dependent_stiffness class-attribute instance-attribute

force_dependent_stiffness: bool = False

Use force dependent stiffness if kn and (Gg, nug, sigc) are all provided.

isotropicLoading property

isotropicLoading: bool

kn class-attribute instance-attribute

kn: float = 80.0

Normal stiffness.

krr class-attribute instance-attribute

krr: float = 0.4

Ratio between normal and shear stiffness.

max_iterations class-attribute instance-attribute

max_iterations: int = 10

Maximum number of iterations for the localization of stress to contact forces.

model class-attribute

model: Model

Micromechanical model.

n class-attribute instance-attribute

n: float = 1 / 3

Exponent for the normal stiffness.

nr class-attribute instance-attribute

nr: float | None = None

Exponent for the shear stiffness, if None, it is set to n.

nug class-attribute instance-attribute

nug: float | None = None

Particle Poisson's ratio.

radius class-attribute instance-attribute

radius: float = 0.001

Particle radius.

sig1 class-attribute instance-attribute

sig1: float | None = None

Stress in the first direction.

sig2 class-attribute instance-attribute

sig2: float | None = None

Stress in the second direction.

sig3 class-attribute instance-attribute

sig3: float | None = None

Stress in the third direction.

sigc class-attribute instance-attribute

sigc: float | None = None

Consolidation stress.

tolerance class-attribute instance-attribute

tolerance: float = 0.001

Tolerance for the localization of stress to contact forces.

weight_kinematic class-attribute instance-attribute

weight_kinematic: float = 0.0

Weight for the kinematic hypothesis when localizing the stress to contact forces.

weight_normalize class-attribute instance-attribute

weight_normalize: bool = True

Whether to normalize the weights of the static and kinematic hypotheses.

weight_static class-attribute instance-attribute

weight_static: float = 1.0

Weight for the static hypothesis when localizing the stress to contact forces.

ensureContactNumberFabric

ensureContactNumberFabric()

Ensure the contact number fabric is added in fabrics.

fn

fn(*, skip_force_numerical: bool = False) -> float | ndarray

Normal force.

fr

fr(*, skip_force_numerical: bool = False) -> float | ndarray

Shear force.

knf

knf(
    fn: float | ndarray | None = None, *, skip_force_numerical: bool = False
) -> float | ndarray

Force-dependent normal stiffness.

krf

krf(
    fn: float | ndarray | None = None, *, skip_force_numerical: bool = False
) -> float | ndarray

Force-dependent shear stiffness.

krrf

krrf(
    fn: float | ndarray | None = None, *, skip_force_numerical: bool = False
) -> float | ndarray

Force-dependent stiffness ratio.

localizeStress

localizeStress(sig: ndarray, *, skip_force_numerical: bool = False) -> ndarray

Localize stress to contact forces.

PARAMETER DESCRIPTION
sig

Stress vector with shape (6,).

TYPE: ndarray

skip_force_numerical

Whether to skip the force_numerical option, by default False

TYPE: bool DEFAULT: False

modifiedNormalStiffness

modifiedNormalStiffness(
    kn: float | ndarray, fn: float | ndarray, F: ndarray | None = None
) -> float | ndarray

Modified normal stiffness.

modifiedShearStiffness

modifiedShearStiffness(
    kn: float | ndarray,
    kr: float | ndarray,
    fn: float | ndarray,
    F: ndarray | None = None,
) -> float | ndarray

Modified shear stiffness.

normalStiffness

normalStiffness(
    fn: float | ndarray, F: ndarray | None = None
) -> float | ndarray

Contact normal stiffness

PARAMETER DESCRIPTION
fn

Contact normal force

TYPE: float | ndarray

F

Fabric tensor with shape (3, 3)

TYPE: ndarray DEFAULT: None

normalizeWeights

normalizeWeights()

Normalize the weights of the static and kinematic hypotheses.

shearStiffness

shearStiffness(
    fn: float | ndarray, F: ndarray | None = None
) -> float | ndarray

Contact shear stiffness

PARAMETER DESCRIPTION
fn

Contact normal force

TYPE: float | ndarray

F

Fabric tensor with shape (3, 3)

TYPE: ndarray DEFAULT: None

stiffnessRatio

stiffnessRatio(
    fn: float | ndarray, F: ndarray | None = None
) -> float | ndarray

Ratio between normal and shear stiffness.

PARAMETER DESCRIPTION
fn

Contact normal force

TYPE: float | ndarray

F

Fabric tensor with shape (3, 3)

TYPE: ndarray DEFAULT: None