(git:f7b9015)
Loading...
Searching...
No Matches
cell_manifold_utils.F File Reference

Go to the source code of this file.

Data Types

type  cell_manifold_utils::cell_manifold_type
 Active constraint set and fixed coordinate bases anchored at q0. More...

Modules

module  cell_manifold_utils
 Reduced-coordinate parameterization of cell constraints for CELL_OPT.

Functions/Subroutines

subroutine, public cell_manifold_utils::cell_manifold_init (m, q0, mask, info, lin_w, eq_pair)
 Record constraint targets at q0, check row independence, and build [Y, Z].
subroutine, public cell_manifold_utils::cell_manifold_geometry (q, s, info)
 Compute cell lengths, angles in radians, and volume s(q).
subroutine, public cell_manifold_utils::cell_manifold_jacobian (q, j, info)
 Compute the analytic 7 x 6 Jacobian J = ds/dq of the geometric quantities.
subroutine, public cell_manifold_utils::cell_manifold_residual (m, q, r, info)
 Evaluate the k active constraint residuals r(q).
subroutine, public cell_manifold_utils::cell_manifold_active_jacobian (m, q, a, info)
 Assemble the k x 6 Jacobian A(q) = dr/dq of the active constraints.
subroutine, public cell_manifold_utils::cell_manifold_chart_eval (m, u, q, info)
 Map reduced coordinates u to a canonical cell q(u) that satisfies r(q) = 0.
subroutine, public cell_manifold_utils::cell_manifold_chart_inv (m, q, u)
 Map a canonical cell q back to reduced coordinates u = u0 + Z^T (q - q0).
subroutine, public cell_manifold_utils::cell_manifold_chart_pullback_grad (m, q, g_q, g_u, info)
 Transform a 6-component cell gradient g_q into the reduced gradient g_u = (dq/du)^T g_q.
subroutine, public cell_manifold_utils::cell_manifold_proj_pressure (m, q, g_phys, pdiff, projected, info)
 Compute the pressure residual P_constr - pres_ext along unconstrained cell directions.
pure real(kind=dp) function, dimension(n_slot), public cell_manifold_utils::cell_manifold_pack_hmat (hmat)
 Pack the upper-triangular canonical cell matrix into q(1:6).
pure subroutine, public cell_manifold_utils::cell_manifold_unpack_hmat (q, hmat)
 Write q(1:6) into the upper-triangular canonical cell matrix.
pure character(len=default_string_length) function, public cell_manifold_utils::cell_manifold_status_label (info)
 Return a short description of a cell_manifold_utils status code.
logical function, public cell_manifold_utils::cell_manifold_is_redundant (m, mask, lin_w, eq_pair)
 Test whether one candidate constraint stays zero on manifold m near q0.
subroutine, public cell_manifold_utils::cell_manifold_pin_semidefinite (m, mask, is_pinned, lin_w, eq_pair)
 Pin implied directions when a candidate constraint is semidefinite at q0.

Variables

integer, parameter, public cell_manifold_utils::n_slot = 6
integer, parameter, public cell_manifold_utils::n_geom = 7
integer, parameter, public cell_manifold_utils::slot_ax = 1
integer, parameter, public cell_manifold_utils::slot_bx = 2
integer, parameter, public cell_manifold_utils::slot_by = 3
integer, parameter, public cell_manifold_utils::slot_cx = 4
integer, parameter, public cell_manifold_utils::slot_cy = 5
integer, parameter, public cell_manifold_utils::slot_cz = 6
integer, parameter, public cell_manifold_utils::geom_a = 1
integer, parameter, public cell_manifold_utils::geom_b = 2
integer, parameter, public cell_manifold_utils::geom_c = 3
integer, parameter, public cell_manifold_utils::geom_alpha = 4
integer, parameter, public cell_manifold_utils::geom_beta = 5
integer, parameter, public cell_manifold_utils::geom_gamma = 6
integer, parameter, public cell_manifold_utils::geom_v = 7
integer, parameter, public cell_manifold_utils::comp_ax = 2**0
integer, parameter, public cell_manifold_utils::comp_bx = 2**1
integer, parameter, public cell_manifold_utils::comp_by = 2**2
integer, parameter, public cell_manifold_utils::comp_cx = 2**3
integer, parameter, public cell_manifold_utils::comp_cy = 2**4
integer, parameter, public cell_manifold_utils::comp_cz = 2**5
integer, parameter, public cell_manifold_utils::mask_a = comp_ax
integer, parameter, public cell_manifold_utils::mask_b = comp_bx + comp_by
integer, parameter, public cell_manifold_utils::mask_c = comp_cx + comp_cy + comp_cz
integer, parameter, public cell_manifold_utils::mask_x = comp_ax + comp_bx + comp_cx
integer, parameter, public cell_manifold_utils::mask_y = comp_bx + comp_by + comp_cy
integer, parameter, public cell_manifold_utils::mask_z = mask_c
integer, parameter, public cell_manifold_utils::mask_xy = comp_ax + comp_bx + comp_by + comp_cx + comp_cy
integer, parameter, public cell_manifold_utils::mask_xz = comp_ax + comp_bx + comp_cx + comp_cy + comp_cz
integer, parameter, public cell_manifold_utils::mask_yz = comp_bx + comp_by + comp_cx + comp_cy + comp_cz
integer, parameter, public cell_manifold_utils::mask_all = comp_ax + comp_bx + comp_by + comp_cx + comp_cy + comp_cz
integer, parameter, public cell_manifold_utils::gfix_a = 2**6
integer, parameter, public cell_manifold_utils::gfix_b = 2**7
integer, parameter, public cell_manifold_utils::gfix_c = 2**8
integer, parameter, public cell_manifold_utils::gfix_alpha = 2**9
integer, parameter, public cell_manifold_utils::gfix_beta = 2**10
integer, parameter, public cell_manifold_utils::gfix_gamma = 2**11
integer, parameter, public cell_manifold_utils::gfix_v = 2**12
integer, parameter, public cell_manifold_utils::gfix_all = gfix_a + gfix_b + gfix_c + gfix_alpha + gfix_beta + gfix_gamma + gfix_v
integer, parameter, public cell_manifold_utils::n_constraint_bits = n_slot + n_geom
real(kind=dp), parameter, public cell_manifold_utils::min_cell_length = 1.0E-8_dp
integer, parameter, public cell_manifold_utils::info_ok = 0
integer, parameter, public cell_manifold_utils::info_degenerate = -1
integer, parameter, public cell_manifold_utils::info_licq = -2
integer, parameter, public cell_manifold_utils::info_no_converge = -3
integer, parameter, public cell_manifold_utils::info_bad_input = -4
external cell_manifold_utils::dgeqrf