Skip to content

integration

Integration

changed instance-attribute

fabric instance-attribute

fabric: FabricTensor = FabricTensor('chang1990-ext', 'li2012', None)

fabric tensor

gauss_weight instance-attribute

gauss_weight: VectorXf = np.zeros(0)

weights of the integration points

n instance-attribute

n: MatrixXf = np.zeros((0, 3))

azimuthal angles of the integration points

npv instance-attribute

npv: float = npv

number of contacts per unit volume

radius instance-attribute

radius: float = radius

particle radius

type instance-attribute

type: str = 'BazantOh37'

integration type

Aij

Aij() -> ndarray

The fabric tensor Aij, an array of shape (3, 3).

\[ A_{ij} = \left[(2r)^2 \frac{N}{V} \left(\frac{2}{15}F_{ij} + \frac{1}{3} I\right) \right]^{-1} \]
RETURNS DESCRIPTION
ndarray

The fabric tensor.

Aij_

Aij_() -> ndarray

Calculate the fabric tensor Aij from the definition, an array of shape (3, 3).

\[ A_{ij} = \frac{1}{V} \sum_{c=1}^{N}{l_i^c l_j^c} \]

__init__

__init__(npv: float = 1000000000.0, radius=0.00065)

Constructor for the Gauss integration class.

PARAMETER DESCRIPTION
npv

number of contacts per unit volume

TYPE: float DEFAULT: 1000000000.0

radius

particle radius

TYPE: float DEFAULT: 0.00065

beta

beta() -> ndarray

The azimuthal angles of the integration points in the y-z plane, an array of shape (n,).

RETURNS DESCRIPTION
ndarray

The azimuthal angles of the integration points in the y-z plane.

bi

bi(idx: int) -> ndarray

gamma

gamma() -> ndarray

The azimuthal angles of the integration points x-axis, an array of shape (n,).

RETURNS DESCRIPTION
ndarray

The azimuthal angles of the integration points x-axis.

gi

gi(idx: int) -> ndarray

indexOf

indexOf(
    beta: float = -1.0, gamma: float = -1.0, tol: float = 1e-06
) -> Tuple[ndarray, ndarray]

Return the indices of the integration points with the given beta and gamma angles and the corresponding angles. Specify one (and only one) of beta or gamma.

PARAMETER DESCRIPTION
beta

The angle between the projection of the azimuth on the YZ plane and the Y axis

TYPE: float DEFAULT: -1.0

gamma

The angle between the azimuth and the X axis

TYPE: float DEFAULT: -1.0

tol

The tolerance for the comparison of the angles, by default 1e-6

TYPE: float DEFAULT: 1e-06

RETURNS DESCRIPTION
ndarray

The indices of the integration points

ndarray

The corresponding angles, depending on the given angles, gamma when beta is given and vice versa

initialize

initialize(sv: StateVariable) -> None

Initialize the integration points.

l

l() -> ndarray

The contact vectors of the integration points, an array of shape (n, 3).

RETURNS DESCRIPTION
ndarray

The integration points in the x-y plane.

li

li(idx: int) -> ndarray

loadIntegrationPoints

loadIntegrationPoints(data: ndarray, full: bool = False)

Load integration points.

p

p(idx: int) -> ndarray

The transformation matrix, an array of shape (3, 3).

RETURNS DESCRIPTION
ndarray

The transformation matrix.

reset

reset() -> None

Reset temporary variables.

rho

rho() -> float

Normalized packing density.

rotate

rotate(F: ndarray, idx: int) -> ndarray

Rotate the fabric tensor.

rotates

rotates(F: ndarray) -> List[ndarray]

Rotate the fabric tensors.

s

s() -> ndarray

The first shear direction, an array of shape (n, 3).

setAnisotropicParameters

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

Set the anisotropic parameters.

PARAMETER DESCRIPTION
type

The type of the anisotropic parameter.

TYPE: str DEFAULT: 'chang1990-ext'

evolution

The evolution type of the anisotropic parameter.

TYPE: str DEFAULT: 'li2012'

coefs

The coefficients of the anisotropic parameter.

TYPE: Dict[str, float] DEFAULT: None

setBazantOh37

setBazantOh37(full: bool = False)

Set the BazantOh37 integration points.

PARAMETER DESCRIPTION
full

Full 37*2 integration points.

TYPE: bool DEFAULT: False

setBazantOh61

setBazantOh61(full: bool = False)

Set the BazantOh61 integration points.

PARAMETER DESCRIPTION
full

Full 61*2 integration points.

TYPE: bool DEFAULT: False

setNPVFromNormalizedPackingDensity

setNPVFromNormalizedPackingDensity(rho: float)

Set the number of contacts per unit volume from the normalized packing density with the following equation:

\[ \rho=\frac{Nl^3}{V}=\frac{8Nr^3}{V} \Longrightarrow \frac{N}{V}=\frac{\rho}{8r^3} \]
PARAMETER DESCRIPTION
rho

normalized packing density

TYPE: float

setNPVFromVoidRatio

setNPVFromVoidRatio(e: float)

Set the number of contacts per unit volume from the void ratio with the following equation:

\[ \frac{N}{V}=\frac{3(13.28-8e)}{4\pi r^3(1+e)} \]
PARAMETER DESCRIPTION
e

void ratio

TYPE: float

setParameters

setParameters(npv: float, radius: float) -> None

Set the parameters.

PARAMETER DESCRIPTION
npv

number of contacts per unit volume

TYPE: float

radius

particle radius

TYPE: float

si

si(idx: int) -> ndarray

size

size() -> int

The number of integration points.

RETURNS DESCRIPTION
int

The number of integration points.

t

t() -> ndarray

The second shear direction, an array of shape (n, 3).

ti

ti(idx: int) -> ndarray

weight

weight() -> ndarray

The weights of the integration points, an array of shape (n,).

RETURNS DESCRIPTION
ndarray

The weights of the integration points.

wi

wi(idx: int) -> ndarray

IntegrationChanged

beta instance-attribute

beta: bool

branch instance-attribute

branch: bool

fabricTensor instance-attribute

fabricTensor: bool

gamma instance-attribute

gamma: bool

s instance-attribute

s: bool

t instance-attribute

t: bool

transformation instance-attribute

transformation: bool

weight instance-attribute

weight: bool

__init__

__init__()

reset

reset()