|
MFC
Exascale flow solver
|
Contains module m_ib_patches. More...
Go to the source code of this file.
Modules | |
| module | m_ib_patches |
| Allocate memory and read initial condition data for IC extrusion. | |
Functions/Subroutines | |
| impure subroutine, public | m_ib_patches::s_apply_ib_patches (ib_markers) |
| Apply all immersed boundary patch geometries to mark interior cells in the IB marker array. | |
| subroutine | m_ib_patches::s_apply_ib_patches_grid_cell_parallelism (ib_markers) |
| subroutine | m_ib_patches::s_apply_ib_patches_ib_parallelism (ib_markers) |
| subroutine, public | m_ib_patches::s_initialize_ib_airfoils () |
| Initialize the NACA surface grids for all airfoil IB patches. Must be called after the grid is established (so dx is valid) and before s_apply_ib_patches or s_apply_levelset. | |
| subroutine, public | m_ib_patches::s_update_ib_rotation_matrix (patch_id) |
| Compute a rotation matrix for converting to the rotating frame of the boundary. | |
| subroutine, public | m_ib_patches::s_get_ib_bound (patch, bound) |
| subroutine | m_ib_patches::s_get_bounding_indices (patch, center, il, ir, jl, jr, kl, kr) |
| subroutine | m_ib_patches::get_indices_from_bounds (left_bound, right_bound, cell_centers, left_index, right_index) |
| subroutine, public | m_ib_patches::s_encode_patch_periodicity (patch_id, x_periodicity, y_periodicity, z_periodicity, encoded_patch_id) |
| Encode the patch ID with a unique offset containing periodicity information. | |
| subroutine, public | m_ib_patches::s_decode_patch_periodicity (encoded_patch_id, patch_id, x_periodicity, y_periodicity, z_periodicity) |
| Decode the encoded ID to recover the original patch ID and periodicity. | |
| subroutine, public | m_ib_patches::s_get_neighborhood_idx (gbl_idx, neighborhood_idx, num_entries) |
| binary search to retrieve the local IB patch index using the global index | |
| subroutine, public | m_ib_patches::s_update_ib_lookup () |
| Completely rebuilds the ib lookup map, used at startup. | |
| subroutine, public | m_ib_patches::s_compact_ib_lookup (old_to_new, num_ibs_old) |
| Drop the entries whose patches left the neighborhood and renumber the survivors onto the patch_ib slots they were compacted into. Keys are never reordered, so the map stays sorted for free and only the values move: O(num_ibs_old) against re-sorting the whole map. | |
| subroutine, public | m_ib_patches::s_merge_ib_lookup (num_ibs_pre) |
| Fold patch_ib(num_ibs_pre+1:num_ibs) into the map: sort just the arrivals, then merge the two sorted runs downward from the top. O(num_ibs) plus the sort of the few arrivals. They are copied out first because the runs share this array and merging in place would overwrite entries still to be read. | |
| subroutine, public | m_ib_patches::s_get_periodicities (xp_lower, xp_upper, yp_lower, yp_upper, zp_lower, zp_upper) |
| Determine the periodic wrapping bounds in each direction. | |
| pure elemental real(wp) function | m_ib_patches::f_r (myth, offset, a) |
| Archimedes spiral function. | |
Variables | |
| integer, dimension(num_ib_patches_max_namelist) | m_ib_patches::ib_lookup_keys |
| lookup arrays for converting global IB indices to local indices | |
| integer, dimension(num_ib_patches_max_namelist) | m_ib_patches::ib_lookup_vals |
| integer, dimension(num_ib_patches_max_namelist) | m_ib_patches::ib_new_keys |
| Holds each step's arrivals while they are sorted and merged in. Host only. | |
| integer, dimension(num_ib_patches_max_namelist) | m_ib_patches::ib_new_vals |
Contains module m_ib_patches.
Definition in file m_ib_patches.fpp.f90.