Loading...
Searching...
No Matches
integrands Namespace Reference

Functions

 vec3 (x, y, z)
 
 zero3 ()
 
 zero3x3 ()
 
 shape_rad (node_idx, zeta)
 
 shape_rad_vec (node_idx, xi_eta_zeta)
 
 shape_lat (node_idx, xi, eta)
 
 shape_lat_vec (node_idx, xi_eta_zeta)
 
 shape (node_idx, xi, eta, zeta)
 
 shape_vec (node_idx, xi_eta_zeta)
 
 grad_shape_rad (node_idx)
 
 grad_shape_lat_xi (node_idx)
 
 grad_shape_lat_eta (node_idx)
 
 grad_shape (node_idx, xi, eta, zeta)
 
 grad_shape_vec (node_idx, xi_eta_zeta)
 
 shape_rad_coarse (coarse_node_idx, fine_radial_wedge_idx, zeta_fine)
 
 shape_lat_coarse (coarse_node_idx, fine_lateral_wedge_idx, xi_fine, eta_fine)
 
 shape_coarse (coarse_node_idx, fine_radial_wedge_idx, fine_lateral_wedge_idx, xi_fine, eta_fine, zeta_fine)
 
 shape_coarse_vec (coarse_node_idx, fine_radial_wedge_idx, fine_lateral_wedge_idx, xi_eta_zeta_fine)
 
 grad_shape_rad_coarse (coarse_node_idx, fine_radial_wedge_idx)
 
 grad_shape_lat_coarse_xi (coarse_node_idx, fine_lateral_wedge_idx)
 
 grad_shape_lat_coarse_eta (coarse_node_idx, fine_lateral_wedge_idx)
 
 grad_shape_coarse (node_idx, fine_radial_wedge_idx, fine_lateral_wedge_idx, xi, eta, zeta)
 
 grad_shape_coarse_vec (node_idx, fine_radial_wedge_idx, fine_lateral_wedge_idx, xi_eta_zeta_fine)
 
 forward_map_rad (r_1, r_2, zeta)
 
 grad_forward_map_rad (r_1, r_2)
 
 forward_map_lat (p1_phy, p2_phy, p3_phy, xi, eta)
 
 grad_forward_map_lat_xi (p1_phy, p2_phy, p3_phy)
 
 grad_forward_map_lat_eta (p1_phy, p2_phy, p3_phy)
 
 jac_lat (p1_phy, p2_phy, p3_phy, xi, eta)
 
 jac_rad (r_1, r_2, zeta)
 
 jac (p1_phy, p2_phy, p3_phy, r_1, r_2, xi, eta, zeta)
 
 jac_from_array (p_phy, r_1, r_2, xi_eta_zeta_fine)
 
 symmetric_grad (J_inv_transposed, quad_point, dof, dim)
 

Function Documentation

◆ forward_map_lat()

integrands.forward_map_lat (   p1_phy,
  p2_phy,
  p3_phy,
  xi,
  eta 
)
p*_phy are 3x1 Matrix or sequences.
Returns a 3x1 Matrix: barycentric mapping (1-xi-eta)*p1 + xi*p2 + eta*p3

◆ forward_map_rad()

integrands.forward_map_rad (   r_1,
  r_2,
  zeta 
)

◆ grad_forward_map_lat_eta()

integrands.grad_forward_map_lat_eta (   p1_phy,
  p2_phy,
  p3_phy 
)

◆ grad_forward_map_lat_xi()

integrands.grad_forward_map_lat_xi (   p1_phy,
  p2_phy,
  p3_phy 
)

◆ grad_forward_map_rad()

integrands.grad_forward_map_rad (   r_1,
  r_2 
)

◆ grad_shape()

integrands.grad_shape (   node_idx,
  xi,
  eta,
  zeta 
)
Returns a 3x1 SymPy Matrix:
  [ d/dxi N_j,
    d/deta N_j,
    d/dzeta N_j ]
following:
  d/dxi N_j  = N^rad_j * d/dxi N^lat_j
  d/deta N_j = N^rad_j * d/deta N^lat_j
  d/dzeta N_j = N^lat_j * d/dzeta N^rad_j

◆ grad_shape_coarse()

integrands.grad_shape_coarse (   node_idx,
  fine_radial_wedge_idx,
  fine_lateral_wedge_idx,
  xi,
  eta,
  zeta 
)

◆ grad_shape_coarse_vec()

integrands.grad_shape_coarse_vec (   node_idx,
  fine_radial_wedge_idx,
  fine_lateral_wedge_idx,
  xi_eta_zeta_fine 
)

◆ grad_shape_lat_coarse_eta()

integrands.grad_shape_lat_coarse_eta (   coarse_node_idx,
  fine_lateral_wedge_idx 
)

◆ grad_shape_lat_coarse_xi()

integrands.grad_shape_lat_coarse_xi (   coarse_node_idx,
  fine_lateral_wedge_idx 
)

◆ grad_shape_lat_eta()

integrands.grad_shape_lat_eta (   node_idx)
d/deta of N^lat: [-1, 0, 1] indexed by node_idx % 3

◆ grad_shape_lat_xi()

integrands.grad_shape_lat_xi (   node_idx)
d/dxi of N^lat: [-1, 1, 0] indexed by node_idx % 3

◆ grad_shape_rad()

integrands.grad_shape_rad (   node_idx)
Returns derivative d/dzeta of N^rad for the given node index:
grad_N_rad = [-0.5, 0.5]
indexed by node_idx // 3

◆ grad_shape_rad_coarse()

integrands.grad_shape_rad_coarse (   coarse_node_idx,
  fine_radial_wedge_idx 
)

◆ grad_shape_vec()

integrands.grad_shape_vec (   node_idx,
  xi_eta_zeta 
)

◆ jac()

integrands.jac (   p1_phy,
  p2_phy,
  p3_phy,
  r_1,
  r_2,
  xi,
  eta,
  zeta 
)

◆ jac_from_array()

integrands.jac_from_array (   p_phy,
  r_1,
  r_2,
  xi_eta_zeta_fine 
)

◆ jac_lat()

integrands.jac_lat (   p1_phy,
  p2_phy,
  p3_phy,
  xi,
  eta 
)

◆ jac_rad()

integrands.jac_rad (   r_1,
  r_2,
  zeta 
)

◆ shape()

integrands.shape (   node_idx,
  xi,
  eta,
  zeta 
)

◆ shape_coarse()

integrands.shape_coarse (   coarse_node_idx,
  fine_radial_wedge_idx,
  fine_lateral_wedge_idx,
  xi_fine,
  eta_fine,
  zeta_fine 
)

◆ shape_coarse_vec()

integrands.shape_coarse_vec (   coarse_node_idx,
  fine_radial_wedge_idx,
  fine_lateral_wedge_idx,
  xi_eta_zeta_fine 
)

◆ shape_lat()

integrands.shape_lat (   node_idx,
  xi,
  eta 
)
Equivalent of C++: shape_lat(node_idx, xi, eta)
N_lat = [1 - xi - eta, xi, eta]
returns N_lat[node_idx % 3]

◆ shape_lat_coarse()

integrands.shape_lat_coarse (   coarse_node_idx,
  fine_lateral_wedge_idx,
  xi_fine,
  eta_fine 
)
Matches the C++ nested switch on coarse_node_idx % 3 and fine_lateral_wedge_idx.

◆ shape_lat_vec()

integrands.shape_lat_vec (   node_idx,
  xi_eta_zeta 
)
Overload that accepts a 3-vector; uses xi_eta_zeta[0], xi_eta_zeta[1].

◆ shape_rad()

integrands.shape_rad (   node_idx,
  zeta 
)
Equivalent of C++: shape_rad(node_idx, zeta)
N_rad = [0.5*(1 - zeta), 0.5*(1 + zeta)]
returns N_rad[node_idx // 3]

◆ shape_rad_coarse()

integrands.shape_rad_coarse (   coarse_node_idx,
  fine_radial_wedge_idx,
  zeta_fine 
)
Matches the switch/case logic in C++.
coarse_node_idx // 3 selects bottom (0) or top (1).
fine_radial_wedge_idx selects which fine wedge (0 or 1).

◆ shape_rad_vec()

integrands.shape_rad_vec (   node_idx,
  xi_eta_zeta 
)
Overload that accepts a 3-vector like in C++: xi_eta_zeta(2) is zeta.

◆ shape_vec()

integrands.shape_vec (   node_idx,
  xi_eta_zeta 
)

◆ symmetric_grad()

integrands.symmetric_grad (   J_inv_transposed,
  quad_point,
  dof,
  dim 
)
J_inv_transposed: 3x3 Matrix (inverse-transposed Jacobian mapping to physical element)
quad_point: 3x1 vector of coordinates on reference element
dof: local index of shape function
dim: which column (0..2) of the vector-valued shape function we're computing the gradient for
Returns the symmetric gradient: 0.5*(grad + grad.T), where grad = J_inv_transposed * E
and E is a 3x3 matrix with grad_shape(dof, quad_point) as column 'dim' and zeros elsewhere.

◆ vec3()

integrands.vec3 (   x,
  y,
  z 
)

◆ zero3()

integrands.zero3 ( )

◆ zero3x3()

integrands.zero3x3 ( )