|
MFC
Exascale flow solver
|
Contains module m_helper. More...
Go to the source code of this file.
Modules | |
| module | m_helper |
| Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions. | |
Functions/Subroutines | |
| subroutine, public | m_helper::s_comp_n_from_prim (vftmp, rtmp, ntmp, weights) |
| Computes the bubble number density n from the primitive variables. | |
| subroutine, public | m_helper::s_comp_n_from_cons (vftmp, nrtmp, ntmp, weights) |
| Compute the bubble number density from the conservative void fraction and weighted bubble radii. | |
| impure subroutine, public | m_helper::s_print_2d_array (a, div) |
| Print a 2D real array to standard output, optionally dividing each element by a given scalar. | |
| impure subroutine, public | m_helper::s_initialize_bubbles_model () |
| Initialize bubble model arrays for Euler or Lagrangian bubbles with polytropic or non-polytropic gas. | |
| impure subroutine | m_helper::s_initialize_bubble_vars () |
| Set bubble physical parameters and nondimensional numbers from the input configuration. | |
| impure subroutine, public | m_helper::s_initialize_nonpoly () |
| Initializes non-polydisperse bubble modeling. | |
| elemental subroutine, public | m_helper::s_transcoeff (omega, peclet, re_trans, im_trans) |
| Computes the transfer coefficient for the non-polytropic bubble compression process. | |
| elemental subroutine, public | m_helper::s_int_to_str (i, res) |
| Convert an integer to its trimmed string representation. | |
| subroutine, public | m_helper::s_simpson (local_weight, local_r0) |
| Computes the Simpson weights for quadrature. | |
| pure real(wp) function, dimension(3), public | m_helper::f_cross (a, b) |
| Compute the cross product of two vectors. | |
| elemental subroutine, public | m_helper::s_swap (lhs, rhs) |
| Swap two real numbers. | |
| real(wp) function, dimension(1:4, 1:4), public | m_helper::f_create_transform_matrix (param, center) |
| Create a transformation matrix. | |
| subroutine, public | m_helper::s_transform_vec (vec, matrix) |
| Transform a vector by a matrix. | |
| subroutine, public | m_helper::s_transform_triangle (triangle, matrix, matrix_n) |
| Transform a triangle by a matrix, one vertex at a time. | |
| subroutine, public | m_helper::s_transform_model (model, matrix, matrix_n) |
| Transform a model by a matrix, one triangle at a time. | |
| type(t_bbox) function, public | m_helper::f_create_bbox (model) |
| Create a bounding box for a model. | |
| elemental logical function, public | m_helper::f_xor (lhs, rhs) |
| Perform XOR on lhs and rhs. | |
| elemental integer function, public | m_helper::f_logical_to_int (predicate) |
| Convert a logical to 1 or 0. | |
| real(wp) function, public | m_helper::real_ylm (theta, phi, l, m) |
| Real spherical harmonic Y_lm(theta, phi). theta = polar angle from +z (acos(z/r)), phi = atan2(y,x). Uses associated Legendre P_l^|m|(cos theta). Standard normalisation. | |
| recursive real(wp) function, public | m_helper::associated_legendre (x, l, m_order) |
| Associated Legendre polynomial P_l^m(x) (Ferrers function, Condon-Shortley phase). Valid for integer l >= 0, 0 <= m <= l, and x in [-1,1]. Returns 0 for |m| > l or l < 0. Formulas: DLMF 14.10.3 (recurrence in degree), Wikipedia "Associated Legendre
polynomials" (P_l^l and P_l^{l-1} identities). Recurrence: (l-m)P_l^m = (2l-1)x P_{l-1}^m - (l+m-1)P_{l-2}^m. | |
| elemental integer(kind=int64_kind) function, public | m_helper::double_factorial (n_in) |
| Calculate the double factorial of an integer. | |
| elemental integer(kind=int64_kind) function, public | m_helper::factorial (n_in) |
| Calculate the factorial of an integer. | |
| real(wp) function, public | m_helper::f_cut_on (x, eps) |
| Calculate a smooth cut-on function that is zero for x values smaller than zero and goes to one, for generating smooth initial conditions. | |
| real(wp) function, public | m_helper::f_cut_off (x, eps) |
| Calculate a smooth cut-off function that is one for x values smaller than zero and goes to zero, for generating smooth initial conditions. | |
| real(wp) function | m_helper::f_gx (x) |
| Helper function for f_cut_on and f_cut_off. | |
| subroutine, public | m_helper::s_downsample_data (q_cons_vf, q_cons_temp, m_ds, n_ds, p_ds, m_glb_ds, n_glb_ds, p_glb_ds) |
| Downsample conservative variable fields by a factor of 3 in each direction using volume averaging. | |
| subroutine, public | m_helper::s_upsample_data (q_cons_vf, q_cons_temp) |
| Upsample conservative variable fields from a coarsened grid back to the original resolution using interpolation. | |
Contains module m_helper.
Definition in file m_helper.fpp.f90.