weac.core.field_quantities module¶
This module defines the FieldQuantities class, which is responsible for calculating and providing access to various physical quantities within the slab.
- class weac.core.field_quantities.FieldQuantities(eigensystem)[source]¶
Bases:
object
Convenience accessors for a 6xN solution matrix Z = [u, u’, w, w’, ψ, ψ’]ᵀ. All functions are vectorized along the second axis (x-coordinate), so they return an ndarray of length N.
- Parameters:
eigensystem (Eigensystem)
- __init__(eigensystem)[source]¶
- Parameters:
eigensystem (Eigensystem)
- u(Z, h0=0, unit='mm')[source]¶
Horizontal displacement u = u₀ + h₀ ψ at depth h₀.
- Parameters:
Z (ndarray)
h0 (float)
unit (Literal['m', 'cm', 'mm', 'um'])
- Return type:
float | ndarray
- du_dx(Z, h0)[source]¶
Derivative u’ = u₀’ + h₀ ψ’.
- Parameters:
Z (ndarray)
h0 (float)
- Return type:
float | ndarray
- w(Z, unit='mm')[source]¶
Center-line deflection w.
- Parameters:
Z (ndarray)
unit (Literal['m', 'cm', 'mm', 'um'])
- Return type:
float | ndarray
- psi(Z, unit='rad')[source]¶
Rotation ψ of the mid-plane.
- Parameters:
Z (ndarray)
unit (Literal['deg', 'rad'])
- Return type:
float | ndarray
- N(Z)[source]¶
Axial normal force N = A11 u’ + B11 psi’ in the slab [N]
- Parameters:
Z (ndarray)
- Return type:
float | ndarray
- M(Z)[source]¶
Bending moment M = B11 u’ + D11 psi’ in the slab [Nmm]
- Parameters:
Z (ndarray)
- Return type:
float | ndarray
- V(Z)[source]¶
Vertical shear force V = kA55(w’ + psi) [N]
- Parameters:
Z (ndarray)
- Return type:
float | ndarray
- sig(Z, unit='MPa')[source]¶
Weak-layer normal stress
- Parameters:
Z (ndarray)
unit (Literal['Pa', 'kPa', 'MPa', 'GPa'])
- Return type:
float | ndarray
- tau(Z, unit='MPa')[source]¶
Weak-layer shear stress
- Parameters:
Z (ndarray)
unit (Literal['Pa', 'kPa', 'MPa', 'GPa'])
- Return type:
float | ndarray
- Gi(Ztip, unit='kJ/m^2')[source]¶
Mode I differential energy release rate at crack tip.
- Parameters:
Ztip (ndarray) – Solution vector [u(x) u’(x) w(x) w’(x) psi(x) psi’(x)]^T at the crack tip.
unit ({'N/mm', 'kJ/m^2', 'J/m^2'}, optional) – Desired output unit. Default is kJ/m^2.
- Return type:
float | ndarray
- Gii(Ztip, unit='kJ/m^2')[source]¶
Mode II differential energy release rate at crack tip.
- Parameters:
Ztip (ndarray) – Solution vector [u(x) u’(x) w(x) w’(x) psi(x) psi’(x)]^T at the crack tip.
unit ({'N/mm', 'kJ/m^2', 'J/m^2'}, optional) – Desired output unit. Default is kJ/m^2 = N/mm.
- Return type:
float | ndarray
- dz_dx(z, phi, qs=0)[source]¶
First derivative z’(x) = K*z(x) + q of the solution vector.
z’(x) = [u’(x) u’’(x) w’(x) w’’(x) psi’(x), psi’’(x)]^T
- Parameters:
z (ndarray) – Solution vector [u(x) u’(x) w(x) w’(x) psi(x), psi’(x)]^T
phi (float) – Inclination (degrees). Counterclockwise positive.
qs (float)
- Returns:
First derivative z’(x) for the solution vector (6x1).
- Return type:
ndarray
- dz_dxdx(z, phi, qs)[source]¶
Get second derivative z’’(x) = K*z’(x) of the solution vector.
z’’(x) = [u’’(x) u’’’(x) w’’(x) w’’’(x) psi’’(x), psi’’’(x)]^T
- Parameters:
z (ndarray) – Solution vector [u(x) u’(x) w(x) w’(x) psi(x), psi’(x)]^T
phi (float) – Inclination (degrees). Counterclockwise positive.
qs (float)
- Returns:
Second derivative z’’(x) = (K*z(x) + q)’ = K*z’(x) = K*(K*z(x) + q) of the solution vector (6x1).
- Return type:
ndarray
- du0_dxdx(z, phi, qs)[source]¶
Get second derivative of the horiz. centerline displacement u0’’(x).
- Parameters:
z (ndarray) – Solution vector [u(x) u’(x) w(x) w’(x) psi(x) psi’(x)]^T.
phi (float) – Inclination (degrees). Counterclockwise positive.
qs (float)
- Returns:
Second derivative of the horizontal centerline displacement u0’’(x) (1/mm).
- Return type:
ndarray, float
- dpsi_dxdx(z, phi, qs)[source]¶
Get second derivative of the cross-section rotation psi’’(x).
- Parameters:
z (ndarray) – Solution vector [u(x) u’(x) w(x) w’(x) psi(x) psi’(x)]^T.
phi (float) – Inclination (degrees). Counterclockwise positive.
qs (float)
- Returns:
Second derivative of the cross-section rotation psi’’(x) (1/mm^2).
- Return type:
ndarray, float
- du0_dxdxdx(z, phi, qs)[source]¶
Get third derivative of the horiz. centerline displacement u0’’’(x).
- Parameters:
z (ndarray) – Solution vector [u(x) u’(x) w(x) w’(x) psi(x) psi’(x)]^T.
phi (float) – Inclination (degrees). Counterclockwise positive.
qs (float)
- Returns:
Third derivative of the horizontal centerline displacement u0’’’(x) (1/mm^2).
- Return type:
ndarray, float
- dpsi_dxdxdx(z, phi, qs)[source]¶
Get third derivative of the cross-section rotation psi’’’(x).
- Parameters:
z (ndarray) – Solution vector [u(x) u’(x) w(x) w’(x) psi(x) psi’(x)]^T.
phi (float) – Inclination (degrees). Counterclockwise positive.
qs (float)
- Returns:
Third derivative of the cross-section rotation psi’’’(x) (1/mm^3).
- Return type:
ndarray, float