weac.core.generalized_field_quantities module

This module defines the GeneralizedFieldQuantities class, which is responsible for calculating and providing access to various physical quantities within the slab in the Generalized Model.

class weac.core.generalized_field_quantities.GeneralizedFieldQuantities(eigensystem)[source]

Bases: object

Convenience accessors for a 24xN solution matrix Z = [u, u’,v, v’ w, w’, ψx, ψx’,ψy, ψy’,ψz, ψz’,thetauc, thetauc’, thetaul]ᵀ. All functions are vectorized along the second axis (x-coordinate), so they return an ndarray of length N.

Parameters:

eigensystem (GeneralizedEigensystem)

__init__(eigensystem)[source]
Parameters:

eigensystem (GeneralizedEigensystem)

u(Z, h0=0, b0=0, unit='mm')[source]

Axial displacement *u = u₀ + h₀ ψy - b₀ ψz * at depth h₀.

Parameters:
  • Z (ndarray)

  • h0 (float)

  • b0 (float)

  • unit (Literal['m', 'cm', 'mm', 'um'])

Return type:

float | ndarray

du_dx(Z, h0=0, b0=0)[source]

Derivative u’ = u₀’ + h₀ ψy’- b₀ ψz’.

Parameters:
  • Z (ndarray)

  • h0 (float)

  • b0 (float)

Return type:

float | ndarray

v(Z, h0=0, unit='mm')[source]

Transverse displacement *v = v₀ - h₀ ψx * at depth h₀.

Parameters:
  • Z (ndarray)

  • h0 (float)

  • unit (Literal['m', 'cm', 'mm', 'um'])

Return type:

float | ndarray

dv_dx(Z, h0)[source]

Derivative v’ = v₀’ - h₀ ψx’.

Parameters:
  • Z (ndarray)

  • h0 (float)

Return type:

float | ndarray

w(Z, b0=0, unit='mm')[source]

Vertical displacement *w = w₀ + b₀ ψx *.

Parameters:
  • Z (ndarray)

  • b0 (float)

  • unit (Literal['m', 'cm', 'mm', 'um'])

Return type:

float | ndarray

dw_dx(Z, b0=0)[source]

First derivative *w’ = w₀’ + b₀ ψx’ *.

Parameters:
  • Z (ndarray)

  • b0 (float)

Return type:

float | ndarray

psix(Z, unit='rad')[source]

Torsional rotation ψx of the mid-plane.

Parameters:
  • Z (ndarray)

  • unit (Literal['deg', 'rad'])

Return type:

float | ndarray

dpsix_dx(Z)[source]

First derivative ψx′.

Parameters:

Z (ndarray)

Return type:

float | ndarray

psiy(Z, unit='rad')[source]

Bending rotation ψy of the mid-plane around the y-axis.

Parameters:
  • Z (ndarray)

  • unit (Literal['deg', 'rad'])

Return type:

float | ndarray

dpsiy_dx(Z)[source]

First derivative ψy′.

Parameters:

Z (ndarray)

Return type:

float | ndarray

psiz(Z, unit='rad')[source]

Bending rotation ψz of the mid-plane around the z-axis.

Parameters:
  • Z (ndarray)

  • unit (Literal['deg', 'rad'])

Return type:

float | ndarray

dpsiz_dx(Z)[source]

First derivative ψz′.

Parameters:

Z (ndarray)

Return type:

float | ndarray

theta_uc(Z)[source]

Linear amplitude of axial cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

dtheta_uc_dx(Z)[source]

First derivative of the constant amplitude of axial cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

theta_ul(Z)[source]

Linear amplitude of axial cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

dtheta_ul_dx(Z)[source]

First derivative of the linear amplitude of axial cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

theta_vc(Z)[source]

Linear amplitude of axial cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

dtheta_vc_dx(Z)[source]

First derivative of the constant amplitude of out-of-plane cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

theta_vl(Z)[source]

Linear amplitude of axial cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

dtheta_vl_dx(Z)[source]

First derivative of the linear amplitude of out-of-plane cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

theta_wc(Z)[source]

Linear amplitude of axial cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

dtheta_wc_dx(Z)[source]

First derivative of the constant amplitude of vertical cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

theta_wl(Z)[source]

Linear amplitude of axial cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

dtheta_wl_dx(Z)[source]

First derivative of the linear amplitude of vertical cosine shaped displacements in the weak layer.

Parameters:

Z (ndarray)

Return type:

float | ndarray

Nx(Z, has_foundation)[source]

Axial normal force Nx = A11 b u’ + B11 b psiy’ in the slab [N]

Parameters:
  • Z (ndarray)

  • has_foundation (bool)

Return type:

float | ndarray

Vy(Z, has_foundation)[source]

Vertical out-of-plane shear force Vy = kA66 b (-psiz + v’)- kB66 b psix’ [N]

Parameters:
  • Z (ndarray)

  • has_foundation (bool)

Return type:

float | ndarray

Vz(Z, has_foundation)[source]

Vertical shear force V = kA55(w’ + psiy) [N]

Parameters:
  • Z (ndarray)

  • has_foundation (bool)

Return type:

float | ndarray

Mx(Z, has_foundation)[source]

Torsional moment Mx = kA55 * b^3/12 * psix’ + kB66 b (psiz - v0’) + kD66 b psix’ in the slab [Nmm]

Parameters:
  • Z (ndarray)

  • has_foundation (bool)

Return type:

float | ndarray

My(Z, has_foundation)[source]

Bending moment My = B11 b u’ + D11 b psiy’ in the slab[Nmm]

Parameters:
  • Z (ndarray)

  • has_foundation (bool)

Return type:

float | ndarray

Mz(Z, has_foundation)[source]

Bending moment Mz = A11 b^3/12 * psiz’ in the slab [Nmm]

Parameters:
  • Z (ndarray)

  • has_foundation (bool)

Return type:

float | ndarray

Nx_c_weakLayer(Z)[source]

Generalized axial force associated to theta_uc [N]

Parameters:

Z (ndarray)

Return type:

float | ndarray

Nx_l_weakLayer(Z)[source]

Generalized axial force associated to theta_ul [N]

Parameters:

Z (ndarray)

Return type:

float | ndarray

Vy_c_weakLayer(Z)[source]

Generalized axial force associated to theta_vc [N]

Parameters:

Z (ndarray)

Return type:

float | ndarray

Vy_l_weakLayer(Z)[source]

Generalized axial force associated to theta_vl [N]

Parameters:

Z (ndarray)

Return type:

float | ndarray

Vz_c_weakLayer(Z)[source]

Generalized axial force associated to theta_wc [N]

Parameters:

Z (ndarray)

Return type:

float | ndarray

Vz_l_weakLayer(Z)[source]

Generalized axial force associated to theta_wl [N]

Parameters:

Z (ndarray)

Return type:

float | ndarray

sig_zz(Z, h0=None, b0=0, unit='MPa')[source]

Weak-layer normal stress

Parameters:
  • Z (ndarray)

  • h0 (float | None)

  • b0 (float)

  • unit (Literal['Pa', 'kPa', 'MPa', 'GPa'])

Return type:

float | ndarray

tau_yz(Z, h0=0, b0=0, unit='MPa')[source]

Weak-layer shear stress

Parameters:
  • Z (ndarray)

  • h0 (float)

  • b0 (float)

  • unit (Literal['Pa', 'kPa', 'MPa', 'GPa'])

Return type:

float | ndarray

tau_xz(Z, h0=0, b0=0, unit='MPa')[source]

Weak-layer shear stress

Parameters:
  • Z (ndarray)

  • h0 (float)

  • b0 (float)

  • unit (Literal['Pa', 'kPa', 'MPa', 'GPa'])

Return type:

float | ndarray

eps_zz(Z, h0=0, b0=0)[source]

Weak-layer normal strain

Parameters:
  • Z (ndarray)

  • h0 (float)

  • b0 (float)

Return type:

float | ndarray

gamma_yz(Z, h0=0, b0=0)[source]

Weak-layer shear strain.

Parameters:
  • Z (ndarray)

  • h0 (float)

  • b0 (float)

Return type:

float | ndarray

gamma_xz(Z, h0=0, b0=0)[source]

Weak-layer shear strain.

Parameters:
  • Z (ndarray)

  • h0 (float)

  • b0 (float)

Return type:

float | ndarray

Gi(Z_tip, _Z_back, _phi, _theta, unit='kJ/m^2')[source]

Mode I differential energy release rate at crack tip.

Parameters:
  • Z_tip (ndarray)

  • _Z_back (ndarray)

  • _phi (float)

  • _theta (float)

  • unit (Literal['J/m^2', 'kJ/m^2', 'N/mm'])

Return type:

float | ndarray

Gii(Z_tip, _Z_back, _phi, _theta, unit='kJ/m^2')[source]

Mode II differential energy release rate at crack tip.

Parameters:
  • Z_tip (ndarray)

  • _Z_back (ndarray)

  • _phi (float)

  • _theta (float)

  • unit (Literal['J/m^2', 'kJ/m^2', 'N/mm'])

Return type:

float | ndarray

Giii(Z_tip, _Z_back, _phi, _theta, unit='kJ/m^2')[source]

Mode III differential energy release rate at crack tip.

Parameters:
  • Z_tip (ndarray)

  • _Z_back (ndarray)

  • _phi (float)

  • _theta (float)

  • unit (Literal['J/m^2', '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.

Parameters:
  • z (ndarray)

  • phi (float)

  • qs (float)

Return type:

ndarray

dz_dxdx(z, phi, qs)[source]

Second derivative z’’(x) = K*z’(x) of the solution vector.

Parameters:
  • z (ndarray)

  • phi (float)

  • qs (float)

Return type:

ndarray

du0_dxdx(z, phi, qs)[source]

Second derivative of the horiz. centerline displacement u0’’(x).

Parameters:
  • z (ndarray)

  • phi (float)

  • qs (float)

Return type:

float | ndarray

dpsi_dxdx(z, phi, qs)[source]

Second derivative of the cross-section rotation psi’’(x).

Parameters:
  • z (ndarray)

  • phi (float)

  • qs (float)

Return type:

float | ndarray

du0_dxdxdx(z, phi, qs)[source]

Third derivative of the horiz. centerline displacement u0’’’(x).

Parameters:
  • z (ndarray)

  • phi (float)

  • qs (float)

Return type:

float | ndarray

dpsi_dxdxdx(z, phi, qs)[source]

Third derivative of the cross-section rotation psi’’’(x).

Parameters:
  • z (ndarray)

  • phi (float)

  • qs (float)

Return type:

float | ndarray