| Procedure | Location | Procedure Type | Description |
|---|---|---|---|
| AccumulateField_gpu | SELF_GPUInterfaces | Interface | |
| AcquireMPI | SELF_DomainDecomposition_t | Subroutine | Resolve the communicator a new decomposition will run on and register it with the process-wide lifecycle bookkeeping. |
| Adapt_AMRController2D | SELF_AMRController_2D | Subroutine | Perform one adaptation epoch on the model (see the module documentation). On return, adapted reports whether the mesh changed; when it did, the model is already rebound to the new mesh with the solution transferred (conservatively), and the caller should re-evaluate its time step (RecommendedTimeStep) before the next ForwardStep. When the leaf set is unchanged the model is untouched. |
| AdaptFromFlags_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Mutate the forest from a per-leaf flag array (indexed over the current leaves in this%leaf order, e.g. the flag array produced by SELF_RefinementIndicator_2D): |
| AdditionalFree_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | |
| AdditionalFree_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | |
| AdditionalFree_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Subroutine | |
| AdditionalFree_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Subroutine | |
| AdditionalFree_Model | SELF_Model | Subroutine | |
| AdditionalInit_advection_diffusion_2d_t | self_advection_diffusion_2d_t | Subroutine | Register boundary conditions for the advection-diffusion model. Hyperbolic: mirror (no-normal-flow) wall condition on the solution. Parabolic: no-stress condition that zeros the normal gradient at the boundary, giving zero diffusive flux through walls. This is stable with the Bassi-Rebay (BR1) method. |
| AdditionalInit_advection_diffusion_3d_t | self_advection_diffusion_3d_t | Subroutine | Register boundary conditions for the advection-diffusion model. Hyperbolic: mirror (no-normal-flow) wall condition on the solution. Parabolic: no-stress condition that zeros the normal gradient at the boundary, giving zero diffusive flux through walls. This is stable with the Bassi-Rebay (BR1) method. |
| AdditionalInit_ECAdvection2D | SELF_ECAdvection2D | Subroutine | |
| AdditionalInit_ECAdvection2D_t | SELF_ECAdvection2D_t | Subroutine | |
| AdditionalInit_ECAdvection3D | SELF_ECAdvection3D | Subroutine | |
| AdditionalInit_ECAdvection3D_t | SELF_ECAdvection3D_t | Subroutine | |
| AdditionalInit_ESAtmo2D | SELF_ESAtmo2D | Subroutine | |
| AdditionalInit_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | |
| AdditionalInit_ESAtmo3D | SELF_ESAtmo3D | Subroutine | |
| AdditionalInit_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | |
| AdditionalInit_LinearEuler2D | self_LinearEuler2D | Subroutine | |
| AdditionalInit_LinearEuler2D_PML | self_LinearEuler2D_PML | Subroutine | |
| AdditionalInit_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Subroutine | |
| AdditionalInit_LinearEuler2D_t | self_LinearEuler2D_t | Subroutine | Register the (CPU) no-normal-flow and radiation boundary conditions. GPU builds call this parent and then overwrite both registrations with the device kernels in AdditionalInit_LinearEuler2D. |
| AdditionalInit_LinearEuler3D | self_LinearEuler3D | Subroutine | |
| AdditionalInit_LinearEuler3D_t | self_LinearEuler3D_t | Subroutine | Register the (CPU) radiation boundary condition. GPU builds overwrite this registration with the device kernel in AdditionalInit_LinearEuler3D. |
| AdditionalInit_LinearShallowWater2D | self_LinearShallowWater2D | Subroutine | |
| AdditionalInit_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Subroutine | |
| AdditionalInit_Model | SELF_Model | Subroutine | |
| AdditionalOutput_Model | SELF_Model | Subroutine | |
| AddThermalBubble_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | Adds a pressure-balanced warm bubble perturbation. |
| AddThermalBubble_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | Adds a pressure-balanced warm bubble perturbation. |
| AllgatherPerElemInts | SELF_AMRController_2D | Subroutine | Allgather an integer array with perElem entries per element from the decomposition's contiguous rank-local element ranges into the global element ordering. |
| AllgatherPerElemReals | SELF_AMRController_2D | Subroutine | Allgather a real(prec) array with perElem entries per element from the decomposition's contiguous rank-local element ranges into the global element ordering. |
| AlmostEqual | SELF_SupportRoutines | Interface | |
| AlmostEqual_r64 | SELF_SupportRoutines | Function | \addtogroup SELF_SupportRoutines @{ \fn AlmostEqual Compares two floating point numbers and determines if they are equal (to machine precision). |
| ApplyFlip_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | |
| ApplyFlip_MappedScalar3D_t | SELF_MappedScalar_3D_t | Subroutine | |
| ApplyFlip_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | |
| ApplyFlip_MappedVector3D_t | SELF_MappedVector_3D_t | Subroutine | |
| ApplyTransferPlan | SELF_TransferPlan_2D | Subroutine | Execute a transfer plan on nodal element data: uNew(:,:,li,:) receives old element data copied, prolonged (exact interpolation), or restricted (conservative L2 projection) according to plan entry li. interp must be the solution interpolant the data lives on (its mortar operators drive the transfer). Runs once per adaptation epoch - not a per-time-step hot path - so clarity is preferred over fused loops here. |
| ApplyTransferPlan_DGModel2D | SELF_DGModel2D | Subroutine | Apply the transfer plan on the device (Stage 6a), writing solution%interior_gpu directly and moving no solution data across the PCIe/xGMI link. |
| ApplyTransferPlan_DGModel2D_t | SELF_DGModel2D_t | Subroutine | Transfer the staged pre-regrid solution onto the regridded mesh through plan, filling the rank-local element range [eFirst,eLast] of the new solution. |
| ApplyTransferPlanRange | SELF_TransferPlan_2D | Subroutine | Execute the contiguous sub-range eFirst..eLast of a transfer plan: uNew(:,:,k,:) receives the data of new element eFirst+k-1. uOld is the full (global) old field; the output is only the requested slice. This is the decomposed-mesh (AMR Stage 5) entry point: each rank passes its own contiguous range of the new element ordering and a gathered global old solution, and fills exactly its rank-local storage. |
| AssociateGeometry_MappedScalar1D_t | SELF_MappedScalar_1D_t | Subroutine | |
| AssociateGeometry_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | |
| AssociateGeometry_MappedScalar3D_t | SELF_MappedScalar_3D_t | Subroutine | |
| AssociateGeometry_MappedTwoPointVector2D_t | SELF_MappedTwoPointVector_2D_t | Subroutine | |
| AssociateGeometry_MappedTwoPointVector3D_t | SELF_MappedTwoPointVector_3D_t | Subroutine | |
| AssociateGeometry_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | |
| AssociateGeometry_MappedVector3D_t | SELF_MappedVector_3D_t | Subroutine | |
| Average_gpu | SELF_GPUInterfaces | Interface | |
| AverageSides_Scalar1D | SELF_Scalar_1D | Subroutine | |
| AverageSides_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| AverageSides_Scalar2D | SELF_Scalar_2D | Subroutine | |
| AverageSides_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| AverageSides_Scalar3D | SELF_Scalar_3D | Subroutine | |
| AverageSides_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| AverageSides_Vector2D | SELF_Vector_2D | Subroutine | |
| AverageSides_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| AverageSides_Vector3D | SELF_Vector_3D | Subroutine | |
| AverageSides_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| Balance2to1_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Enforce the 2:1 balance condition: no leaf face may separate elements differing by more than one refinement level. Iterates to a fixed point - in each sweep, any leaf whose equal-or-larger neighbour is a leaf two or more levels coarser triggers refinement of that coarser neighbour; refinement can ripple, so sweeps repeat until nothing changes. The leaf set is rebuilt on return. |
| boundaryflux_advection_diffusion_1d | self_advection_diffusion_1d | Subroutine | |
| boundaryflux_advection_diffusion_1d_gpu | self_advection_diffusion_1d | Interface | |
| boundaryflux_advection_diffusion_2d | self_advection_diffusion_2d | Subroutine | |
| boundaryflux_advection_diffusion_2d_gpu | self_advection_diffusion_2d | Interface | |
| boundaryflux_advection_diffusion_3d | self_advection_diffusion_3d | Subroutine | |
| boundaryflux_advection_diffusion_3d_gpu | self_advection_diffusion_3d | Interface | |
| BoundaryFlux_DGModel1D | SELF_DGModel1D | Subroutine | |
| BoundaryFlux_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| BoundaryFlux_DGModel2D | SELF_DGModel2D | Subroutine | |
| BoundaryFlux_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| BoundaryFlux_DGModel3D | SELF_DGModel3D | Subroutine | |
| BoundaryFlux_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| BoundaryFlux_ECAdvection2D | SELF_ECAdvection2D | Subroutine | LLF Riemann flux on GPU — fully device-resident. |
| boundaryflux_ecadvection2d_gpu | SELF_ECAdvection2D | Interface | |
| BoundaryFlux_ECAdvection3D | SELF_ECAdvection3D | Subroutine | LLF Riemann flux on GPU — fully device-resident. |
| boundaryflux_ecadvection3d_gpu | SELF_ECAdvection3D | Interface | |
| BoundaryFlux_ESAtmo2D | SELF_ESAtmo2D | Subroutine | LMARS interface flux on GPU. |
| boundaryflux_esatmo2d_gpu | SELF_ESAtmo2D | Interface | |
| BoundaryFlux_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | LMARS (Low-Mach Approximate Riemann Solver, Chen et al. 2013) interface flux. No hydrostatic pressure split: gravity is folded into SourceMethod via the Souza non-conservative form using the geopotential carried in the state vector (variable index 5). |
| BoundaryFlux_ESAtmo3D | SELF_ESAtmo3D | Subroutine | LMARS interface flux on GPU. No hydrostatic pressure split: gravity is handled by the Souza non-conservative source term using the geopotential carried as state variable index 6. |
| boundaryflux_esatmo3d_gpu | SELF_ESAtmo3D | Interface | |
| BoundaryFlux_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | LMARS (Low-Mach Approximate Riemann Solver, Chen et al. 2013) interface flux. No hydrostatic pressure split: gravity is folded into SourceMethod via the Souza non-conservative form using the geopotential carried in the state vector (variable index 6). |
| boundaryflux_LinearEuler2D | self_LinearEuler2D | Subroutine | |
| boundaryflux_LinearEuler2D_gpu | self_LinearEuler2D | Interface | |
| boundaryflux_LinearEuler2D_PML | self_LinearEuler2D_PML | Subroutine | |
| boundaryflux_LinearEuler2D_PML_gpu | self_LinearEuler2D_PML | Interface | |
| boundaryflux_LinearEuler3D | self_LinearEuler3D | Subroutine | |
| boundaryflux_LinearEuler3D_gpu | self_LinearEuler3D | Interface | |
| boundaryflux_LinearShallowWater2D | self_LinearShallowWater2D | Subroutine | |
| boundaryflux_LinearShallowWater2D_gpu | self_LinearShallowWater2D | Interface | |
| BoundaryInterp_2D_gpu | SELF_GPUInterfaces | Interface | |
| BoundaryInterp_3D_gpu | SELF_GPUInterfaces | Interface | |
| BoundaryInterp_Scalar1D | SELF_Scalar_1D | Subroutine | |
| BoundaryInterp_Scalar1D | SELF_Scalar_1D | Subroutine | |
| BoundaryInterp_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| BoundaryInterp_Scalar2D | SELF_Scalar_2D | Subroutine | |
| BoundaryInterp_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| BoundaryInterp_Scalar3D | SELF_Scalar_3D | Subroutine | |
| BoundaryInterp_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| BoundaryInterp_Tensor2D_t | SELF_Tensor_2D_t | Subroutine | |
| BoundaryInterp_Tensor3D_t | SELF_Tensor_3D_t | Subroutine | |
| BoundaryInterp_Vector2D | SELF_Vector_2D | Subroutine | |
| BoundaryInterp_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| BoundaryInterp_Vector3D | SELF_Vector_3D | Subroutine | |
| BoundaryInterp_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| build_nodeCoords_for_element | SELF_Mesh_2D_t | Subroutine | Fill mesh%nodeCoords(:,:,:,e) for one element. Place the four corner nodes from the file's node table, then perform linear (nGeo=1) placement or transfinite interpolation (nGeo>1) using the (possibly curved) edge curves. For straight sides the edge curve is filled in here by linear interpolation between corners at Chebyshev-Gauss-Lobatto parametric coordinates. |
| build_nodeCoords_for_hex | SELF_Mesh_3D_t | Subroutine | Fill mesh%nodeCoords(:,:,:,:,e) for one hexahedral element by transfinite (Coons) interpolation of its six face grids. Faces flagged in the mesh file use the file's face-point grids; the remaining faces are bilinear patches of their four corner nodes evaluated at Chebyshev-Gauss-Lobatto parametric coordinates. Edge curves are extracted from the face grids (preferring a flagged face when an edge borders one flagged and one bilinear face) and the standard Boolean-sum formula x = Pxi + Peta + Pzeta - PxiPeta - PxiPzeta - PetaPzeta + PxiPeta*Pzeta combines face, edge, and corner contributions. For an element with all-straight faces this reduces to trilinear interpolation of the eight corners. |
| BuildElementBBoxes_2D | SELF_Points_t | Subroutine | Axis-aligned bounding box of each element. The box is taken over the element's boundary nodes (geometry%x%boundary), which are evaluated at the element edges (reference coordinate = +/-1) and therefore reach the true element boundary and corners. Using the interior nodes alone is not sufficient: for Gauss quadrature the interior nodes are strictly inside [-1,1], so a box built from them under-covers the element by a fixed fraction of its size and rejects points lying on element edges/corners. The boundary nodes give the correct extent for both Gauss and Gauss-Lobatto node sets. |
| BuildElementBBoxes_3D | SELF_Points_t | Subroutine | Axis-aligned bounding box of each element, taken over the boundary nodes (geometry%x%boundary) which are evaluated on the element faces (reference coordinate = +/-1) and so reach the true element boundary, edges and corners. See BuildElementBBoxes_2D for why the interior nodes alone are insufficient (Gauss interior nodes under-cover the element). |
| BuildGeometry_AMRController2D | SELF_AMRController_2D | Subroutine | Fill newGeom for the emitted mesh, reusing the previous epoch's geometry for every element that did not change and generating only the rest (AMR Stage 6c). nReused reports how many elements were copied rather than computed. |
| BuildHaloExchange_DomainDecomposition | SELF_DomainDecomposition | Subroutine | Build the aggregated halo exchange tables for the mesh this domain decomposition belongs to. |
| BuildModalTransform | SELF_RefinementIndicator_2D_t | Subroutine | Build the nodal->modal transform Pmodal for a 1-D degree-N interpolant whose nodes are controlPoints(1:N+1). The transform is the exact inverse of the L2-normalized Legendre Vandermonde V(i,p) = Ltilde_{p-1}(x_i); Pmodal(ii,p) stores V^{-1}(p,ii) so that uhat(p) = sum_ii Pmodal(ii,p) * u(ii). The Vandermonde inverse is formed in double precision for conditioning and cast back to the working precision. |
| BuildTransferPlan | SELF_TransferPlan_2D | Subroutine | Build the old->new transfer plan for the adaptation epoch that took the forest from the leaf configuration (nOld, oldLeaf) - a snapshot of (forest%nLeaves, forest%leaf) taken before mutating - to its current leaf configuration. See the module documentation for the allowed mutations within one epoch. The plan is valid until the forest is mutated again. |
| CalculateBarycentricWeights | SELF_Lagrange_t | Subroutine | |
| CalculateContravariantBasis_SEMHex | SELF_Geometry_3D | Subroutine | |
| CalculateContravariantBasis_SEMQuad | SELF_Geometry_2D | Subroutine | |
| CalculateDerivativeMatrix | SELF_Lagrange_t | Subroutine | |
| CalculateDSDt_gpu | SELF_GPUInterfaces | Interface | |
| CalculateEntropy_DGModel1D | SELF_DGModel1D | Subroutine | |
| CalculateEntropy_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| CalculateEntropy_DGModel2D | SELF_DGModel2D | Subroutine | |
| CalculateEntropy_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| CalculateEntropy_DGModel3D | SELF_DGModel3D | Subroutine | |
| CalculateEntropy_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| CalculateEntropy_Model | SELF_Model | Subroutine | Base method for calculating entropy of a model When this method is not overridden, the entropy is simply set to 0.0. When you develop a model built on top of this abstract class or one of its children, it is recommended that you define a convex mathematical entropy function that is used as a measure of the model stability. |
| CalculateInterpolationMatrix | SELF_Lagrange_t | Subroutine | |
| CalculateLagrangePolynomials | SELF_Lagrange_t | Function | |
| CalculateMetricTerms_Geometry1D | SELF_Geometry_1D | Subroutine | |
| CalculateMetricTerms_SEMHex | SELF_Geometry_3D | Subroutine | |
| CalculateMetricTerms_SEMQuad | SELF_Geometry_2D | Subroutine | |
| CalculateMortarMatrices | SELF_Lagrange_t | Subroutine | |
| CalculateSolutionGradient_DGModel1D | SELF_DGModel1D | Subroutine | |
| CalculateSolutionGradient_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| CalculateSolutionGradient_DGModel2D | SELF_DGModel2D | Subroutine | |
| CalculateSolutionGradient_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| CalculateSolutionGradient_DGModel3D | SELF_DGModel3D | Subroutine | |
| CalculateSolutionGradient_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| CalculateTendency | SELF_Model | Interface | |
| CalculateTendency_DGModel1D | SELF_DGModel1D | Subroutine | |
| CalculateTendency_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| CalculateTendency_DGModel2D | SELF_DGModel2D | Subroutine | |
| CalculateTendency_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| CalculateTendency_DGModel3D | SELF_DGModel3D | Subroutine | |
| CalculateTendency_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| CalculateTendency_ECDGModel2D | SELF_ECDGModel2D | Subroutine | GPU implementation of the EC-DG 2-D tendency. |
| CalculateTendency_ECDGModel2D_t | SELF_ECDGModel2D_t | Subroutine | Computes du/dt = source - EC-DG flux divergence. |
| CalculateTendency_ECDGModel3D | SELF_ECDGModel3D | Subroutine | |
| CalculateTendency_ECDGModel3D_t | SELF_ECDGModel3D_t | Subroutine | |
| CalculateTendency_ESAtmo2D | SELF_ESAtmo2D | Subroutine | GPU-resident tendency for ESAtmo2D. |
| CalculateTendency_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | ESAtmo2D tendency = EC inviscid pipeline (parent) + optional constant-coefficient Laplacian diffusion (BR1 weak-form DG). |
| CalculateTendency_ESAtmo3D | SELF_ESAtmo3D | Subroutine | GPU-resident tendency for ESAtmo3D. The inviscid pipeline is identical to ECDGModel3D's GPU CalculateTendency; if either nu or kappa is positive, the constant-coefficient Laplacian divergence (BR1 weak-form) is then accumulated into fluxDivergence before forming dSdt. |
| CalculateTendency_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | ESAtmo3D tendency = EC inviscid pipeline (parent) + optional constant-coefficient Laplacian diffusion (BR1 weak-form DG). |
| ChebyshevGauss | SELF_Quadrature | Subroutine | |
| ChebyshevGaussLobatto | SELF_Quadrature | Subroutine | |
| ChebyshevQuadrature | SELF_Quadrature | Subroutine | |
| ClampCell | SELF_Points_t | Function | Convert a (signed, possibly out-of-range) real cell index to an integer cell index clamped to [0, nCells-1]. |
| Close_HDF5 | SELF_HDF5 | Subroutine | |
| CompareArray | SELF_SupportRoutines | Function | \addtogroup SELF_SupportRoutines @{ \fn CompareArray Compares to INTEGER arrays and determines if they are identical. |
| ContravariantProjection_2D_gpu | SELF_MappedVector_2D | Interface | |
| ContravariantWeight_2D_gpu | SELF_MappedScalar_2D | Interface | |
| ContravariantWeight_3D_gpu | SELF_MappedScalar_3D | Interface | |
| CopyElements_SEMQuad | SELF_Geometry_2D | Subroutine | Copy whole-element geometry blocks from src into myGeom: element srcIdx(k) of src becomes element dstIdx(k) of myGeom, for k = 1..n (AMR Stage 6c). |
| corner_pair_for_side | SELF_Mesh_2D_t | Subroutine | Returns the two corner-node IDs delimiting a given local side using SELF's 2D side convention: Side 1 South = [CN1, CN2] Side 2 East = [CN2, CN3] Side 3 North = [CN4, CN3] Side 4 West = [CN1, CN4] |
| CountFlagged_RefinementIndicator2D_t | SELF_RefinementIndicator_2D_t | Function | Count the rank-local elements currently carrying the requested flag value (SELF_AMR_REFINE / SELF_AMR_KEEP / SELF_AMR_COARSEN). Provided as a convenience for drivers and tests; a global count across MPI ranks is the caller's responsibility. |
| CreateGroup_HDF5 | SELF_HDF5 | Subroutine | |
| Curl_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| Derivative_Scalar1D | SELF_Scalar_1D | Subroutine | |
| Derivative_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| Determinant_Tensor2D_t | SELF_Tensor_2D_t | Subroutine | |
| Determinant_Tensor3D_t | SELF_Tensor_3D_t | Subroutine | |
| DG_BoundaryContribution_2D_gpu | SELF_GPUInterfaces | Interface | |
| DG_BoundaryContribution_3D_gpu | SELF_GPUInterfaces | Interface | |
| DG_BoundaryContribution_JacobianWeight_3D_gpu | SELF_GPUInterfaces | Interface | |
| DGDerivative_BoundaryContribution_1D_gpu | SELF_MappedScalar_1D | Interface | |
| DiagnoseGeostrophicVelocity_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Subroutine | |
| DiffusiveBoundaryFlux_ESAtmo2D | SELF_ESAtmo2D | Subroutine | GPU-resident fill of diffFlux%boundaryNormal with the SIPG-stabilised BR1 diffusive flux: f = -coeff(avg_grad . n)nmag + tau(uL - uR)nmag |
| diffusiveboundaryflux_esatmo2d_gpu | SELF_ESAtmo2D | Interface | |
| DiffusiveBoundaryFlux_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | Fill diffFlux%boundaryNormal with the SIPG-stabilised BR1 flux: |
| DiffusiveBoundaryFlux_ESAtmo3D | SELF_ESAtmo3D | Subroutine | GPU-resident fill of diffFlux%boundaryNormal with the SIPG-stabilised BR1 diffusive flux: f = -coeff(avg_grad . n)nmag + tau(uL - uR)nmag tau = eta_penaltycoeff(N+1)^2/length_scale, computed on the host. |
| diffusiveboundaryflux_esatmo3d_gpu | SELF_ESAtmo3D | Interface | |
| DiffusiveBoundaryFlux_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | Fill diffFlux%boundaryNormal with the SIPG-stabilised BR1 flux: |
| diffusiveflux_esatmo2d_gpu | SELF_ESAtmo2D | Interface | |
| diffusiveflux_esatmo3d_gpu | SELF_ESAtmo3D | Interface | |
| DiffusiveFluxMethod_ESAtmo2D | SELF_ESAtmo2D | Subroutine | GPU-resident fill of diffFlux%interior with the constant-coefficient Laplacian flux F_d(iVar) = -coeff(iVar) * d(s_iVar)/dx_d. |
| DiffusiveFluxMethod_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | Fill diffFlux%interior with the constant-coefficient Laplacian flux at every interior node: |
| DiffusiveFluxMethod_ESAtmo3D | SELF_ESAtmo3D | Subroutine | GPU-resident fill of diffFlux%interior with the constant-coefficient Laplacian flux F_d(iVar) = -coeff(iVar) * d(s_iVar)/dx_d, where coeff is 0 for rho, nu for momentum, kappa for rho*theta. |
| DiffusiveFluxMethod_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | Fill diffFlux%interior with the constant-coefficient Laplacian flux at every interior node: |
| DiracDelta_2D_gpu | SELF_Points | Interface | |
| DiracDelta_2D_Points | SELF_Points | Subroutine | GPU override of DiracDelta_2D_Points_t. When the scalar is a device-resident MappedScalar2D, the kernel writes scalar%interior_gpu directly (host array left stale; caller may UpdateHost). For non-GPU scalar subtypes, defers to the inherited host implementation. |
| DiracDelta_2D_Points_t | SELF_Points_t | Subroutine | Scatter a discrete Dirac delta of unit strength (S = 1) onto a 2D MappedScalar, one variable per stored point. Variable p of scalar receives the delta associated with point p. |
| DiracDelta_3D_gpu | SELF_Points | Interface | |
| DiracDelta_3D_Points | SELF_Points | Subroutine | GPU override of DiracDelta_3D_Points_t. See DiracDelta_2D_Points. |
| DiracDelta_3D_Points_t | SELF_Points_t | Subroutine | Scatter a discrete Dirac delta of unit strength (S = 1) onto a 3D MappedScalar, one variable per stored point. See DiracDelta_2D_Points_t for the full specification; this is the direct 3D analogue. |
| DissociateGeometry_MappedScalar1D_t | SELF_MappedScalar_1D_t | Subroutine | |
| DissociateGeometry_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | |
| DissociateGeometry_MappedScalar3D_t | SELF_MappedScalar_3D_t | Subroutine | |
| DissociateGeometry_MappedTwoPointVector2D_t | SELF_MappedTwoPointVector_2D_t | Subroutine | |
| DissociateGeometry_MappedTwoPointVector3D_t | SELF_MappedTwoPointVector_3D_t | Subroutine | |
| DissociateGeometry_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | |
| DissociateGeometry_MappedVector3D_t | SELF_MappedVector_3D_t | Subroutine | |
| Divergence_2D_gpu | SELF_GPUInterfaces | Interface | |
| Divergence_TwoPointVector2D | SELF_TwoPointVector_2D | Subroutine | GPU implementation of the reference-element split-form divergence. df must be a device pointer to a scalar field of size (N+1)(N+1)nElem*nVar. |
| Divergence_TwoPointVector2D_t | SELF_TwoPointVector_2D_t | Subroutine | Computes the split-form (two-point) divergence of a 2-D vector field in the reference element (computational coordinates). |
| Divergence_TwoPointVector3D | SELF_TwoPointVector_3D | Subroutine | GPU implementation of the reference-element split-form divergence. df must be a device pointer to a scalar field of size (N+1)^3 * nElem * nVar. |
| Divergence_TwoPointVector3D_t | SELF_TwoPointVector_3D_t | Subroutine | Computes the split-form (two-point) divergence of a 3-D vector field in the reference element (computational coordinates). |
| Divergence_Vector2D | SELF_Vector_2D | Subroutine | |
| Divergence_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| Divergence_Vector3D | SELF_Vector_3D | Subroutine | |
| Divergence_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| DomainDecomp | SELF_DomainDecomposition_t | Subroutine | |
| DoubleMortarMesh_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | Create a six-element mesh with two 2:1 mortar interfaces, used to validate the mortar machinery in configurations the SimpleMortarMesh cannot reach: |
| ECDGSurfaceContribution_2D_gpu | SELF_GPUInterfaces | Interface | |
| ECDGSurfaceContribution_3D_gpu | SELF_GPUInterfaces | Interface | |
| elementid | SELF_Mesh_3D_t | Function | |
| ElemToRank | SELF_DomainDecomposition_t | Subroutine | |
| EmitMesh | SELF_AdaptiveMesh_2D | Subroutine | Build outMesh (a conforming-or-mortar Mesh2D_t) from a 2:1-balanced forest. baseMesh is the mesh the forest was initialised from (supplies BC metadata and the communicator; on nRanks > 1 the forest must be rank-replicated so every rank emits identical global tables). The forest must already be balanced (MaxLevelJump <= 1); EmitMesh does not mutate it. |
| EnsureCapacity_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Grow the node arrays (amortized doubling) so at least |
| EnsureDeviceBuffer | SELF_GPU | Subroutine | High-water-mark device allocation (AMR Stage 6b). Grows ptr to hold neededBytes, reusing the existing allocation when it already does, and records the capacity in allocBytes. Contents are not preserved across a growth - every caller rewrites the buffer before reading it. |
| EnsureDeviceBuffers_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | Grow the device buffers to hold the current logical arrays, reusing existing allocations when the bytes already fit (AMR Stage 6b). |
| EnsureDeviceBuffers_Scalar2D | SELF_Scalar_2D | Subroutine | Grow each device buffer to hold the current logical array, reusing the existing allocation when the bytes already fit (AMR Stage 6b). A device pointer carries no shape, so unlike the host side no remapping is needed - only a byte-capacity check. |
| EnsureDeviceBuffers_Tensor2D | SELF_Tensor_2D | Subroutine | Grow each device buffer to hold the current logical array, reusing the existing allocation when the bytes already fit (AMR Stage 6b/6c). A device pointer carries no shape, so only byte capacity has to be tracked. |
| EnsureDeviceBuffers_Vector2D | SELF_Vector_2D | Subroutine | Grow each device buffer to hold the current logical array, reusing the existing allocation when the bytes already fit (AMR Stage 6b). A device pointer carries no shape, so only byte capacity has to be tracked. |
| EnsurePool | SELF_DataPool | Subroutine | Guarantee that pool has at least |
| EnsureScratch_SEMQuad | SELF_Geometry_2D | Subroutine | Prepare the cached GenerateFromMesh scratch for a mesh with nGeo/quadrature and nElem elements (AMR Stage 6c). The nGeo -> N interpolant is built once and reused; the node coordinate staging is resized, so an adapting run stops rebuilding either one per epoch. |
| entropy_func_advection_diffusion_1d_t | self_advection_diffusion_1d_t | Function | |
| entropy_func_advection_diffusion_2d_t | self_advection_diffusion_2d_t | Function | |
| entropy_func_advection_diffusion_3d_t | self_advection_diffusion_3d_t | Function | |
| entropy_func_Burgers1D_t | self_Burgers1D_t | Function | |
| entropy_func_ECAdvection2D_t | SELF_ECAdvection2D_t | Function | Quadratic entropy: eta(u) = u^2 / 2 |
| entropy_func_ECAdvection3D_t | SELF_ECAdvection3D_t | Function | Quadratic entropy: eta(u) = u^2 / 2 |
| entropy_func_ESAtmo2D_t | SELF_ESAtmo2D_t | Function | Mathematical entropy: total energy density (kinetic + internal). |
| entropy_func_ESAtmo3D_t | SELF_ESAtmo3D_t | Function | Mathematical entropy: total energy density (kinetic + internal). |
| entropy_func_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Function | Acoustic energy for the PML model. The background density is the scalar this%rho0 (the PML variant does not carry a per-node background density; its variable 5 is the auxiliary phi_u, not rho0), and the sound speed is taken from s(4). This overrides the parent entropy_func, which reads rho0 from s(5). |
| entropy_func_LinearEuler2D_t | self_LinearEuler2D_t | Function | The entropy function is the sum of kinetic and internal energy For the linear model, this is |
| entropy_func_LinearEuler3D_t | self_LinearEuler3D_t | Function | The entropy function is the sum of kinetic and internal energy For the linear model, this is |
| entropy_func_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Function | |
| entropy_func_Model | SELF_Model | Function | |
| Estimate_RefinementIndicator2D | SELF_RefinementIndicator_2D | Subroutine | GPU path: one device thread per element computes the modal transform and energy ratios, writes the indicator and flag on device, then copies both back to the host so the (host-side) mesh-adaptation logic can consume them directly. |
| Estimate_RefinementIndicator2D_t | SELF_RefinementIndicator_2D_t | Subroutine | Compute the per-element modal-energy indicator sigma_e and refine/keep/coarsen flag from the nodal solution field. ivar selects the driving variable in [1,solution%nVar]; passing SELF_AMR_ALLVARS (=0) reduces the indicator over all variables by taking, per element, the largest (least smooth) smoothness ratio S_e before the log10. |
| Euler_timeIntegrator | SELF_Model | Subroutine | |
| EvalScalar_2D_dev_Points | SELF_Points | Subroutine | Evaluate a 2D MappedScalar at the cached points on the device. The caller is responsible for hipMalloc-ing values_dev with capacity nPointsnVarprec bytes. Layout is column-major (nPoints, nVar). |
| EvalScalar_2D_Points_t | SELF_Points_t | Subroutine | Evaluate a 2D MappedScalar at all located points by tensor-product Lagrange interpolation at the stored reference coordinates. Points with elements(p) == 0 receive a value of zero. When LocatePoints has cached the per-point basis at the matching polynomial degree, this routine reuses it and skips Lagrange-polynomial evaluation altogether. |
| EvalScalar_3D_dev_Points | SELF_Points | Subroutine | |
| EvalScalar_3D_Points_t | SELF_Points_t | Subroutine | Evaluate a 3D MappedScalar at all located points by tensor-product Lagrange interpolation. Points with elements(p) == 0 receive zero. When LocatePoints has cached the basis at the matching degree, this routine reuses it. |
| EvalScalarPoints_2D_gpu | SELF_Points | Interface | |
| EvalScalarPoints_3D_gpu | SELF_Points | Interface | |
| FaceNeighbor_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Find the equal-or-larger face neighbour of |
| FinalizeMPIExchangeAsync | SELF_DomainDecomposition_t | Subroutine | |
| flux1d_advection_diffusion_1d_t | self_advection_diffusion_1d_t | Function | |
| flux1d_Burgers1D_t | self_Burgers1D_t | Function | |
| flux1d_Model | SELF_Model | Function | |
| flux2d_advection_diffusion_2d_t | self_advection_diffusion_2d_t | Function | |
| flux2d_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Function | Interior flux. Variables 1-4 use the parent linear Euler 2D flux; auxiliary variables 5-7 carry zero flux in both directions and are evolved purely by the PML source term. |
| flux2d_LinearEuler2D_t | self_LinearEuler2D_t | Function | |
| flux2d_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Function | |
| flux2d_Model | SELF_Model | Function | |
| flux3d_advection_diffusion_3d_t | self_advection_diffusion_3d_t | Function | |
| flux3D_LinearEuler3D_t | self_LinearEuler3D_t | Function | |
| flux3d_Model | SELF_Model | Function | |
| fluxmethod_advection_diffusion_1d | self_advection_diffusion_1d | Subroutine | |
| fluxmethod_advection_diffusion_1d_gpu | self_advection_diffusion_1d | Interface | |
| fluxmethod_advection_diffusion_2d | self_advection_diffusion_2d | Subroutine | |
| fluxmethod_advection_diffusion_2d_gpu | self_advection_diffusion_2d | Interface | |
| fluxmethod_advection_diffusion_3d | self_advection_diffusion_3d | Subroutine | |
| fluxmethod_advection_diffusion_3d_gpu | self_advection_diffusion_3d | Interface | |
| fluxmethod_DGModel1D | SELF_DGModel1D | Subroutine | |
| fluxmethod_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| fluxmethod_DGModel2D | SELF_DGModel2D | Subroutine | |
| fluxmethod_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| fluxmethod_DGModel3D | SELF_DGModel3D | Subroutine | |
| fluxmethod_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| fluxmethod_LinearEuler2D | self_LinearEuler2D | Subroutine | |
| fluxmethod_LinearEuler2D_gpu | self_LinearEuler2D | Interface | |
| fluxmethod_LinearEuler2D_PML | self_LinearEuler2D_PML | Subroutine | |
| fluxmethod_LinearEuler2D_PML_gpu | self_LinearEuler2D_PML | Interface | |
| fluxmethod_LinearEuler3D | self_LinearEuler3D | Subroutine | |
| fluxmethod_LinearEuler3D_gpu | self_LinearEuler3D | Interface | |
| fluxmethod_LinearShallowWater2D | self_LinearShallowWater2D | Subroutine | |
| fluxmethod_LinearShallowWater2D_gpu | self_LinearShallowWater2D | Interface | |
| ForwardShift | SELF_SupportRoutines | Subroutine | \addtogroup SELF_SupportRoutines @{ \fn ForwardShift Shift an array integers by one index forward, moving the last index to the first. |
| ForwardStep_Model | SELF_Model | Subroutine | Forward steps the model using the associated tendency procedure and time integrator |
| Free_AMRController2D | SELF_AMRController_2D | Subroutine | Release the forest, the indicator, and any controller-emitted mesh/geometry. The caller-owned base mesh/geometry are untouched. A model still pointing at a controller-emitted mesh must not be used after this call. |
| Free_BCList | SELF_BoundaryConditions | Subroutine | |
| Free_DGModel1D | SELF_DGModel1D | Subroutine | Free the 1D DG model, including GPU BC arrays. |
| Free_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| Free_DGModel2D | SELF_DGModel2D | Subroutine | Free the 2D DG model, including GPU BC arrays. |
| Free_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| Free_DGModel3D | SELF_DGModel3D | Subroutine | Free the 3D DG model, including GPU BC arrays. |
| Free_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| Free_DomainDecomposition | SELF_DomainDecomposition | Subroutine | |
| Free_DomainDecomposition_t | SELF_DomainDecomposition_t | Subroutine | |
| Free_ECAdvection2D | SELF_ECAdvection2D | Subroutine | Free EC Advection 2D, including GPU BC arrays. |
| Free_ECAdvection3D | SELF_ECAdvection3D | Subroutine | Free EC Advection 3D, including GPU BC arrays. |
| Free_ECDGModel2D_t | SELF_ECDGModel2D_t | Subroutine | |
| Free_ECDGModel3D_t | SELF_ECDGModel3D_t | Subroutine | |
| Free_ESAtmo2D | SELF_ESAtmo2D | Subroutine | |
| Free_ESAtmo3D | SELF_ESAtmo3D | Subroutine | |
| Free_Geometry1D | SELF_Geometry_1D | Subroutine | |
| Free_Lagrange | SELF_Lagrange | Subroutine | Frees all memory (host and device) associated with an instance of the Lagrange class |
| Free_Lagrange | SELF_Lagrange | Subroutine | Frees all memory (host and device) associated with an instance of the Lagrange class |
| Free_Lagrange_t | SELF_Lagrange_t | Subroutine | Frees all memory (host and device) associated with an instance of the Lagrange_t class |
| Free_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | |
| Free_MappedScalar3D | SELF_MappedScalar_3D | Subroutine | |
| Free_MappedVector2D | SELF_MappedVector_2D | Subroutine | |
| Free_MappedVector3D | SELF_MappedVector_3D | Subroutine | |
| Free_Mesh1D | SELF_Mesh_1D | Subroutine | |
| Free_Mesh2D | SELF_Mesh_2D | Subroutine | |
| Free_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | |
| Free_Mesh3D | SELF_Mesh_3D | Subroutine | |
| Free_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | |
| Free_Points | SELF_Points | Subroutine | |
| Free_Points_t | SELF_Points_t | Subroutine | |
| Free_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | |
| Free_RefinementIndicator2D | SELF_RefinementIndicator_2D | Subroutine | |
| Free_RefinementIndicator2D_t | SELF_RefinementIndicator_2D_t | Subroutine | |
| Free_Scalar1D | SELF_Scalar_1D | Subroutine | |
| Free_Scalar1D | SELF_Scalar_1D | Subroutine | |
| Free_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| Free_Scalar2D | SELF_Scalar_2D | Subroutine | |
| Free_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| Free_Scalar3D | SELF_Scalar_3D | Subroutine | |
| Free_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| Free_SEMHex | SELF_Geometry_3D | Subroutine | |
| Free_SEMQuad | SELF_Geometry_2D | Subroutine | |
| Free_Tensor2D | SELF_Tensor_2D | Subroutine | |
| Free_Tensor2D_t | SELF_Tensor_2D_t | Subroutine | |
| Free_Tensor3D | SELF_Tensor_3D | Subroutine | |
| Free_Tensor3D_t | SELF_Tensor_3D_t | Subroutine | |
| Free_TransferPlan2D | SELF_TransferPlan_2D | Subroutine | |
| Free_TwoPointVector2D | SELF_TwoPointVector_2D | Subroutine | |
| Free_TwoPointVector2D_t | SELF_TwoPointVector_2D_t | Subroutine | |
| Free_TwoPointVector3D | SELF_TwoPointVector_3D | Subroutine | |
| Free_TwoPointVector3D_t | SELF_TwoPointVector_3D_t | Subroutine | |
| Free_Vector2D | SELF_Vector_2D | Subroutine | |
| Free_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| Free_Vector3D | SELF_Vector_3D | Subroutine | |
| Free_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| GenerateDecomposition_DomainDecomposition_t | SELF_DomainDecomposition_t | Subroutine | |
| GenerateFromMesh_Geometry1D | SELF_Geometry_1D | Subroutine | |
| GenerateFromMesh_SEMHex | SELF_Geometry_3D | Subroutine | |
| GenerateFromMesh_SEMQuad | SELF_Geometry_2D | Subroutine | |
| GenerateFromNodeCoords_SEMQuad | SELF_Geometry_2D | Subroutine | Generate geometry for nElem elements directly from their mesh node coordinates (AMR Stage 6c). GenerateFromMesh is a thin wrapper over this. |
| GetBCForID | SELF_BoundaryConditions | Function | Returns the node associated with the given bcid. If the bcid is not found, a null pointer is returned. |
| GetSimulationTime | SELF_Model | Subroutine | Returns the current simulation time stored in the model % t attribute |
| gid2eid | SELF_Mesh_3D_t | Function | Map a global element position (gx,gy,gz), with gx in [1,nX] etc., to the tile-ordered element id used throughout the structured mesh. This is the inverse of the (i,ti) decomposition: gx = i + nxpertile*(ti-1). |
| GPUAvailable | SELF_GPU | Function | |
| GPUAvailable | SELF_GPU | Function | |
| gpuCheck | SELF_GPU | Subroutine | |
| gpuCheck | SELF_GPU | Subroutine | |
| Gradient_Scalar2D | SELF_Scalar_2D | Subroutine | |
| Gradient_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| Gradient_Scalar3D | SELF_Scalar_3D | Subroutine | |
| Gradient_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| Gradient_Vector2D | SELF_Vector_2D | Subroutine | |
| Gradient_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| Gradient_Vector3D | SELF_Vector_3D | Subroutine | |
| Gradient_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| GradientNormal_1D_gpu | SELF_GPUInterfaces | Interface | |
| GridInterp_2D_gpu | SELF_GPUInterfaces | Interface | |
| GridInterp_3D_gpu | SELF_GPUInterfaces | Interface | |
| GridInterp_Scalar1D | SELF_Scalar_1D | Subroutine | |
| GridInterp_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| GridInterp_Scalar2D | SELF_Scalar_2D | Subroutine | |
| GridInterp_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| GridInterp_Scalar3D | SELF_Scalar_3D | Subroutine | |
| GridInterp_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| GridInterp_Vector2D | SELF_Vector_2D | Subroutine | |
| GridInterp_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| GridInterp_Vector3D | SELF_Vector_3D | Subroutine | |
| GridInterp_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| HaloKeySort | SELF_DomainDecomposition | Subroutine | Heap sort of the halo side list by ascending 64-bit key, permuting the companion arrays alongside the keys. O(n log n), in place; the relative order of equal keys is irrelevant because global side ids are unique. |
| HaloPack_2D_gpu | SELF_GPUInterfaces | Interface | |
| HaloPack_3D_gpu | SELF_GPUInterfaces | Interface | |
| HaloSiftDown | SELF_DomainDecomposition | Subroutine | |
| HaloSwap | SELF_DomainDecomposition | Subroutine | |
| HaloUnpack_2D_gpu | SELF_GPUInterfaces | Interface | |
| HaloUnpack_3D_gpu | SELF_GPUInterfaces | Interface | |
| hbc2d_mirror_ecadvection2d_gpu | SELF_ECAdvection2D | Interface | |
| hbc2d_Mirror_ECAdvection2D_GPU_wrapper | SELF_ECAdvection2D | Subroutine | GPU-accelerated mirror BC for 2D EC Advection. |
| hbc2d_NoNormalFlow_advection_diffusion_2d_t | self_advection_diffusion_2d_t | Subroutine | Mirror boundary condition on the solution: sets the exterior state equal to the interior state. With LLF this zeroes the upwind dissipation at the wall. |
| hbc2d_NoNormalFlow_ECAdvection2D | SELF_ECAdvection2D_t | Subroutine | Prescribed-zero boundary state for the tracer. |
| hbc2d_NoNormalFlow_ESAtmo2D | SELF_ESAtmo2D_t | Subroutine | No-normal-flow (wall) boundary condition. |
| hbc2d_nonormalflow_esatmo2d_gpu | SELF_ESAtmo2D | Interface | |
| hbc2d_NoNormalFlow_ESAtmo2D_GPU_wrapper | SELF_ESAtmo2D | Subroutine | GPU-accelerated no-normal-flow BC for 2D Entropy-Stable Atmosphere. Reflects normal momentum, mirrors density, rho*theta, and Phi. |
| hbc2d_NoNormalFlow_LinearEuler2D | self_LinearEuler2D_t | Subroutine | No-normal-flow boundary condition for 2D linear Euler equations. Reflects the velocity vector about the boundary normal while preserving pressure, sound speed, and background density. |
| hbc2d_nonormalflow_lineareuler2d_gpu | self_LinearEuler2D | Interface | |
| hbc2d_NoNormalFlow_LinearEuler2D_GPU_wrapper | self_LinearEuler2D | Subroutine | GPU-accelerated no-normal-flow BC for 2D Linear Euler. |
| hbc2d_NoNormalFlow_LinearEuler2D_PML | self_LinearEuler2D_PML_t | Subroutine | No-normal-flow BC for the PML-augmented linear Euler model. Variables 1-4 are treated identically to the parent LinearEuler2D no-normal-flow BC. Auxiliary variables 5-7 are given a zero exterior state; since they carry zero Riemann flux the exterior value is mathematically irrelevant, but zeroing it keeps the boundary state clean for diagnostics. |
| hbc2d_nonormalflow_lineareuler2d_pml_gpu | self_LinearEuler2D_PML | Interface | |
| hbc2d_NoNormalFlow_LinearEuler2D_PML_GPU_wrapper | self_LinearEuler2D_PML | Subroutine | |
| hbc2d_NoNormalFlow_LinearShallowWater2D | self_LinearShallowWater2D_t | Subroutine | No-normal-flow boundary condition for 2D linear shallow water equations. Reflects the velocity vector about the boundary normal while preserving the free surface elevation. |
| hbc2d_nonormalflow_linearshallowwater2d_gpu | self_LinearShallowWater2D | Interface | |
| hbc2d_NoNormalFlow_LinearShallowWater2D_GPU_wrapper | self_LinearShallowWater2D | Subroutine | |
| hbc2d_Radiation_LinearEuler2D | self_LinearEuler2D_t | Subroutine | Radiation BC: zero acoustic perturbation in the exterior state; the sound speed (variable 4) and background density (variable 5) are copied from the interior side so the Riemann solver sees a consistent c and rho0 (impedance-matched, non-reflecting outflow). |
| hbc2d_radiation_lineareuler2d_gpu | self_LinearEuler2D | Interface | |
| hbc2d_Radiation_LinearEuler2D_GPU_wrapper | self_LinearEuler2D | Subroutine | GPU-accelerated radiation BC for 2D Linear Euler. |
| hbc2d_Radiation_LinearEuler2D_PML | self_LinearEuler2D_PML_t | Subroutine | Radiation BC for the PML-augmented linear Euler model: zero acoustic perturbation in the exterior state, sound speed copied from interior so the Riemann solver sees a consistent c, and auxiliary variables set to zero. |
| hbc2d_radiation_lineareuler2d_pml_gpu | self_LinearEuler2D_PML | Interface | |
| hbc2d_Radiation_LinearEuler2D_PML_GPU_wrapper | self_LinearEuler2D_PML | Subroutine | |
| hbc2d_radiation_linearshallowwater2d_gpu | self_LinearShallowWater2D | Interface | |
| hbc2d_Radiation_LinearShallowWater2D_GPU_wrapper | self_LinearShallowWater2D | Subroutine | |
| hbc3d_mirror_ecadvection3d_gpu | SELF_ECAdvection3D | Interface | |
| hbc3d_Mirror_ECAdvection3D_GPU_wrapper | SELF_ECAdvection3D | Subroutine | GPU-accelerated mirror BC for 3D EC Advection. |
| hbc3d_NoNormalFlow_advection_diffusion_3d_t | self_advection_diffusion_3d_t | Subroutine | Mirror boundary condition on the solution: sets the exterior state equal to the interior state. With LLF this zeroes the upwind dissipation at the wall. |
| hbc3d_NoNormalFlow_ECAdvection3D | SELF_ECAdvection3D_t | Subroutine | Prescribed-zero boundary state for the tracer. |
| hbc3d_NoNormalFlow_ESAtmo3D | SELF_ESAtmo3D_t | Subroutine | No-normal-flow (wall) boundary condition. |
| hbc3d_nonormalflow_esatmo3d_gpu | SELF_ESAtmo3D | Interface | |
| hbc3d_NoNormalFlow_ESAtmo3D_GPU_wrapper | SELF_ESAtmo3D | Subroutine | GPU-accelerated no-normal-flow BC for 3D Entropy-Stable Atmosphere. Reflects normal momentum, mirrors density and rho*theta. |
| hbc3d_Radiation_LinearEuler3D | self_LinearEuler3D_t | Subroutine | Radiation BC: zero acoustic perturbation in the exterior state; the sound speed (variable 5) and background density (variable 6) are copied from the interior side so the Riemann solver sees a consistent c and rho0. |
| hbc3d_radiation_lineareuler3d_gpu | self_LinearEuler3D | Interface | |
| hbc3d_Radiation_LinearEuler3D_GPU_wrapper | self_LinearEuler3D | Subroutine | |
| hipFree | SELF_GPU | Interface | |
| hipFree | SELF_GPU | Interface | |
| hipGetDeviceCount | SELF_GPU | Interface | |
| hipGetDeviceCount | SELF_GPU | Interface | |
| hipMalloc | SELF_GPU | Interface | |
| hipMalloc | SELF_GPU | Interface | |
| hipMemcpy | SELF_GPU | Interface | |
| hipMemcpy | SELF_GPU | Interface | |
| hipMemGetInfo | SELF_GPU | Interface | |
| hipMemset | SELF_GPU | Interface | |
| hipSetDevice | SELF_GPU | Interface | |
| IncrementIOCounter | SELF_Model | Subroutine | |
| Init_AMRController2D | SELF_AMRController_2D | Subroutine | Attach the controller to an initialized model. The model's current mesh becomes the forest's base mesh (level 0); its geometry interpolant drives the indicator and the solution transfer. Thresholds are the sigma = log10 modal-energy-ratio cut-offs of the refinement indicator (refineThreshold > coarsenThreshold; see SELF_RefinementIndicator_2D). ivar is the driving solution variable (or SELF_AMR_ALLVARS). maxLevel >= 0 caps the refinement depth; nHalo >= 0 sets the refine-flag halo width in elements. |
| Init_BCList | SELF_BoundaryConditions | Subroutine | |
| Init_DGModel1D | SELF_DGModel1D | Subroutine | Initialize the 1D DG model, then upload BC element/side arrays to GPU. |
| Init_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| Init_DGModel2D | SELF_DGModel2D | Subroutine | Initialize the 2D DG model, then upload BC element/side arrays to GPU. |
| Init_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| Init_DGModel3D | SELF_DGModel3D | Subroutine | Initialize the 3D DG model, then upload BC element/side arrays to GPU. |
| Init_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| Init_DomainDecomposition | SELF_DomainDecomposition | Subroutine | |
| Init_DomainDecomposition_t | SELF_DomainDecomposition_t | Subroutine | |
| Init_ECAdvection2D | SELF_ECAdvection2D | Subroutine | Initialize EC Advection 2D, then upload BC element/side arrays to GPU. |
| Init_ECAdvection3D | SELF_ECAdvection3D | Subroutine | Initialize EC Advection 3D, then upload BC element/side arrays to GPU. |
| Init_ECDGModel2D_t | SELF_ECDGModel2D_t | Subroutine | |
| Init_ECDGModel3D_t | SELF_ECDGModel3D_t | Subroutine | |
| Init_ESAtmo2D | SELF_ESAtmo2D | Subroutine | |
| Init_ESAtmo3D | SELF_ESAtmo3D | Subroutine | |
| Init_Geometry1D | SELF_Geometry_1D | Subroutine | |
| Init_Lagrange | SELF_Lagrange | Subroutine | Initialize an instance of the Lagrange class On output, all of the attributes for the Lagrange class are allocated and values are initialized according to the number of control points, number of target points, and the types for the control and target nodes. If a GPU is available, device pointers for the Lagrange attributes are allocated and initialized. |
| Init_Lagrange | SELF_Lagrange | Subroutine | Initialize an instance of the Lagrange class On output, all of the attributes for the Lagrange class are allocated and values are initialized according to the number of control points, number of target points, and the types for the control and target nodes. If a GPU is available, device pointers for the Lagrange attributes are allocated and initialized. |
| Init_Lagrange_t | SELF_Lagrange_t | Subroutine | Initialize an instance of the Lagrange_t class On output, all of the attributes for the Lagrange_t class are allocated and values are initialized according to the number of control points, number of target points, and the types for the control and target nodes. If a GPU is available, device pointers for the Lagrange_t attributes are allocated and initialized. |
| Init_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | |
| Init_MappedScalar3D | SELF_MappedScalar_3D | Subroutine | |
| Init_Mesh1D | SELF_Mesh_1D | Subroutine | |
| Init_Mesh2D | SELF_Mesh_2D | Subroutine | |
| Init_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | |
| Init_Mesh3D | SELF_Mesh_3D | Subroutine | |
| Init_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | |
| Init_Points | SELF_Points | Subroutine | Allocate host + device storage for nPoints in nDim dimensions. The basis-cache device buffers are allocated lazily in UpdateDevice once the polynomial degree N is known (it is set by LocatePoints). |
| Init_Points_t | SELF_Points_t | Subroutine | Allocate storage for a point cloud of size nPoints in nDim dimensions. nDim must be 2 or 3. |
| Init_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Initialize the forest with one root per base-mesh element (all leaves at level 0). The base geometry (node coordinates) is copied so leaf geometry can be regenerated after any amount of refinement without holding a reference to the mesh. Requires a single-rank mesh (a decomposed mesh only stores its local elements); a rank-replicated forest over a decomposed base is built by gathering the global tables and calling InitGlobal. |
| Init_RefinementIndicator2D | SELF_RefinementIndicator_2D | Subroutine | |
| Init_RefinementIndicator2D_t | SELF_RefinementIndicator_2D_t | Subroutine | Allocate the indicator for an interpolant of degree interp%N and nElem elements and precompute the nodal->modal transform matrix from the interpolant control points. |
| Init_Scalar1D | SELF_Scalar_1D | Subroutine | |
| Init_Scalar1D | SELF_Scalar_1D | Subroutine | |
| Init_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| Init_Scalar2D | SELF_Scalar_2D | Subroutine | |
| Init_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| Init_Scalar3D | SELF_Scalar_3D | Subroutine | |
| Init_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| Init_SEMHex | SELF_Geometry_3D | Subroutine | |
| Init_SEMQuad | SELF_Geometry_2D | Subroutine | |
| Init_Tensor2D | SELF_Tensor_2D | Subroutine | |
| Init_Tensor2D_t | SELF_Tensor_2D_t | Subroutine | |
| Init_Tensor3D | SELF_Tensor_3D | Subroutine | |
| Init_Tensor3D_t | SELF_Tensor_3D_t | Subroutine | |
| Init_TwoPointVector2D | SELF_TwoPointVector_2D | Subroutine | |
| Init_TwoPointVector2D_t | SELF_TwoPointVector_2D_t | Subroutine | Allocate the interior array for a 2-D two-point vector field. The interior array has rank 6 with layout (n,i,j,nEl,nVar,idir). |
| Init_TwoPointVector3D | SELF_TwoPointVector_3D | Subroutine | |
| Init_TwoPointVector3D_t | SELF_TwoPointVector_3D_t | Subroutine | Allocate the interior array for a 3-D two-point vector field. The interior array has rank 7 with layout (n,i,j,k,nEl,nVar,idir). |
| Init_Vector2D | SELF_Vector_2D | Subroutine | |
| Init_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| Init_Vector3D | SELF_Vector_3D | Subroutine | |
| Init_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| InitForestFromDecomposedMesh | SELF_AMRController_2D | Subroutine | Build a rank-replicated forest over a decomposed base mesh: allgather the global node coordinates, side table, and material ids (by the decomposition's contiguous element ownership) and initialize the forest from the global tables. Collective over the mesh communicator; runs once, at controller initialization. |
| InitGlobal_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Initialize the forest directly from GLOBAL base-mesh tables (one root per global base element, all leaves at level 0). This is the initialization path for a rank-replicated forest over a decomposed base mesh (AMR Stage 5): every rank passes the same gathered tables and holds an identical forest. rootNbr carries global element ids (0 = physical boundary), rootNbrSide/rootFlip decode the base sideInfo(4) pairing, rootBC the base boundary-condition id per side, and rootMaterial the base material id per element. |
| InvertMatrix | SELF_RefinementIndicator_2D_t | Subroutine | Invert the n-by-n matrix A by Gauss-Jordan elimination with partial pivoting, in double precision. Used once at initialization for the small (N+1) Legendre Vandermonde; A is a well-conditioned Vandermonde in an orthonormal basis, so a direct solve is appropriate. |
| JacobianWeight_1D_gpu | SELF_MappedScalar_1D | Interface | |
| JacobianWeight_2D_gpu | SELF_GPUInterfaces | Interface | |
| JacobianWeight_3D_gpu | SELF_GPUInterfaces | Interface | |
| LeafCoords_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Physical geometry-node coordinates of leaf |
| LegendreGauss | SELF_Quadrature | Subroutine | |
| LegendreGaussLobatto | SELF_Quadrature | Subroutine | |
| LegendrePolynomial | SELF_Quadrature | Subroutine | |
| LegendreQandL | SELF_Quadrature | Subroutine | |
| LegendreQuadrature | SELF_Quadrature | Subroutine | |
| LocatePoints_2D_Points | SELF_Points | Subroutine | Run the host spatial-hash + Newton search (inherited from Points_t), then mirror per-point state to the device. |
| LocatePoints_2D_Points_t | SELF_Points_t | Subroutine | Locate each stored physical point inside the 2D SEMQuad geometry. On exit, elements(p) holds the (rank-local) element id and coordinates(p,:) holds the (s,t) reference coordinates, both for points that resolve. Points that resolve to no element are marked with elements(p) = 0. |
| LocatePoints_3D_Points | SELF_Points | Subroutine | |
| LocatePoints_3D_Points_t | SELF_Points_t | Subroutine | Locate each stored physical point inside the 3D SEMHex geometry. On exit, elements(p) and coordinates(p,1:3) hold the located element id and reference (s,t,u) for points that resolve; elements(p) = 0 otherwise. |
| log_mean | SELF_ESAtmo3D_t | Function | Numerically stable logarithmic mean (Ismail-Roe 2009 / Ranocha 2018). |
| log_mean | SELF_ESAtmo2D_t | Function | Numerically stable logarithmic mean (Ismail-Roe 2009 / Ranocha 2018). |
| LowStorageRK2_timeIntegrator | SELF_Model | Subroutine | |
| LowStorageRK3_timeIntegrator | SELF_Model | Subroutine | |
| LowStorageRK4_timeIntegrator | SELF_Model | Subroutine | |
| MapArrays_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | Size the backing pools for (Np,nVar,nElem) and remap the public arrays onto them at the exact logical shape. Bounds-remapping a rank-1 contiguous target to a rank-4 pointer is what keeps every extent and stride identical to a plain allocate while allowing the pool underneath to be larger and reused. See SELF_DataPool. |
| MapArrays_Tensor2D_t | SELF_Tensor_2D_t | Subroutine | Size the backing pools for (Np,nVar,nElem) and remap the public arrays onto them at the exact logical shape. See SELF_DataPool for why this is done with pointer remapping rather than by over-allocating the element dimension. |
| MapArrays_Vector2D_t | SELF_Vector_2D_t | Subroutine | Size the backing pools for (Np,nVar,nElem) and remap the public arrays onto them at the exact logical shape. See SELF_DataPool for why this is done with pointer remapping rather than by over-allocating the element dimension. |
| MapBoundaryConditions_DGModel1D_t | SELF_DGModel1D_t | Subroutine | Scan the mesh boundary condition IDs and populate the elements/sides arrays for each registered boundary condition. |
| MapBoundaryConditions_DGModel2D_t | SELF_DGModel2D_t | Subroutine | Scan the mesh sideInfo and populate the elements/sides arrays for each registered boundary condition. |
| MapBoundaryConditions_DGModel3D_t | SELF_DGModel3D_t | Subroutine | Scan the mesh sideInfo and populate the elements/sides arrays for each registered boundary condition. |
| MappedContravariantDivergence_3D_gpu | SELF_GPUInterfaces | Interface | |
| MappedDerivative_MappedScalar1D | SELF_MappedScalar_1D | Subroutine | |
| MappedDerivative_MappedScalar1D_t | SELF_MappedScalar_1D_t | Subroutine | |
| MappedDGDerivative_MappedScalar1D | SELF_MappedScalar_1D | Subroutine | |
| MappedDGDerivative_MappedScalar1D_t | SELF_MappedScalar_1D_t | Subroutine | |
| MappedDGDivergence_MappedVector2D | SELF_MappedVector_2D | Subroutine | |
| MappedDGDivergence_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | Computes the divergence of a 2-D vector using the weak form On input, the attribute of the vector is assigned and the attribute is set to the physical directions of the vector. This method will project the vector onto the contravariant basis vectors. |
| MappedDGDivergence_MappedVector3D | SELF_MappedVector_3D | Subroutine | Computes the divergence of a 3-D vector using the weak form On input, the attribute of the vector is assigned and the attribute is set to the physical directions of the vector. This method will project the vector onto the contravariant basis vectors. |
| MappedDGDivergence_MappedVector3D_t | SELF_MappedVector_3D_t | Subroutine | Computes the divergence of a 3-D vector using the weak form On input, the attribute of the vector is assigned and the attribute is set to the physical directions of the vector. This method will project the vector onto the contravariant basis vectors. |
| MappedDGGradient_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | |
| MappedDGGradient_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | |
| MappedDGGradient_MappedScalar3D | SELF_MappedScalar_3D | Subroutine | Calculates the gradient of a function using the weak form of the gradient and the average boundary state. This method will compute the average boundary state from the and attributes of |
| MappedDGGradient_MappedScalar3D_t | SELF_MappedScalar_3D_t | Subroutine | Calculates the gradient of a function using the weak form of the gradient and the average boundary state. This method will compute the average boundary state from the and attributes of |
| MappedDivergence_MappedTwoPointVector2D | SELF_MappedTwoPointVector_2D | Subroutine | GPU implementation of the physical-space split-form divergence for a 2-D two-point vector on a curvilinear mesh. |
| MappedDivergence_MappedTwoPointVector2D_t | SELF_MappedTwoPointVector_2D_t | Subroutine | Computes the physical-space divergence of a 2-D split-form vector field on a curvilinear mesh. |
| MappedDivergence_MappedTwoPointVector3D | SELF_MappedTwoPointVector_3D | Subroutine | GPU implementation of the physical-space split-form divergence for a 3-D two-point vector on a curvilinear mesh. |
| MappedDivergence_MappedTwoPointVector3D_t | SELF_MappedTwoPointVector_3D_t | Subroutine | Computes the physical-space divergence of a 3-D split-form vector field on a curvilinear mesh. |
| MappedDivergence_MappedVector2D | SELF_MappedVector_2D | Subroutine | |
| MappedDivergence_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | |
| MappedDivergence_MappedVector3D | SELF_MappedVector_3D | Subroutine | |
| MappedDivergence_MappedVector3D_t | SELF_MappedVector_3D_t | Subroutine | |
| MappedGradient_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | Calculates the gradient of a function using the strong form of the gradient in mapped coordinates. |
| MappedGradient_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | Calculates the gradient of a function using the strong form of the gradient in mapped coordinates. |
| MappedGradient_MappedScalar3D | SELF_MappedScalar_3D | Subroutine | Calculates the gradient of a function using the strong form of the gradient in mapped coordinates. |
| MappedGradient_MappedScalar3D_t | SELF_MappedScalar_3D_t | Subroutine | Calculates the gradient of a function using the strong form of the gradient in mapped coordinates. |
| MappedTwoPointVectorDivergence_2D_gpu | SELF_GPUInterfaces | Interface | |
| MappedTwoPointVectorDivergence_3D_gpu | SELF_GPUInterfaces | Interface | |
| MatrixOp_1D_gpu | SELF_Scalar_1D | Interface | |
| MatrixOp_1D_gpu | SELF_GPUInterfaces | Interface | |
| MaxLevel_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Function | Highest refinement level among the active leaves. |
| MaxLevelJump_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Function | Largest refinement-level difference across any leaf face (0 on a conforming or uniformly refined forest, 1 on a 2:1-balanced adaptive forest). Because FaceNeighbor returns the equal-or-larger neighbour, every level difference is observed from the finer leaf as a coarser leaf neighbour; internal (finer) neighbours contribute nothing from this side. |
| MortarExchange_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | GPU implementation of the mortar exchange (see the base class for the algorithm) : traces are staged, reoriented, restricted, and projected in device memory with the SELF_Mortar kernels. |
| MortarExchange_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | Fills the extBoundary attribute on all sides that participate in a 2:1 nonconforming (mortar) interface. |
| MortarExchange_MappedVector2D | SELF_MappedVector_2D | Subroutine | GPU implementation of the vector mortar exchange; the kernels treat the (variable, direction) pairs as 2*nvar independent trace lines. |
| MortarExchange_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | Fills the extBoundary attribute on all sides participating in a 2:1 nonconforming (mortar) interface; vector analogue of the scalar MortarExchange (see MappedScalar2D_t for the algorithm description). |
| MortarFlip_2D_gpu | SELF_GPUInterfaces | Interface | |
| MortarFluxCollect_MappedVector2D | SELF_MappedVector_2D | Subroutine | GPU implementation of MortarFluxCollect (see the base class for the algorithm and conservation statement). Stages the small sides' boundaryNormal traces in the mortar buffer, then overwrites the big side's integrand on device. |
| MortarFluxCollect_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | Replaces the big-side boundaryNormal trace on each mortar interface with the L2 projection of the two small sides' boundaryNormal traces. |
| MortarFluxScatter_2D_gpu | SELF_GPUInterfaces | Interface | |
| MortarGather_2D_gpu | SELF_GPUInterfaces | Interface | |
| MortarScatter_2D_gpu | SELF_GPUInterfaces | Interface | |
| MoveNext | SELF_BoundaryConditions | Subroutine | |
| MPIExchangeAsync_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | |
| MPIExchangeAsync_MappedScalar3D_t | SELF_MappedScalar_3D_t | Subroutine | |
| MPIExchangeAsync_MappedVector2D | SELF_MappedVector_2D | Subroutine | Post the aggregated halo exchange: one MPI_Irecv/MPI_Isend pair per neighboring rank, carrying every (side,variable,component) boundary trace shared with that rank in a single packed device buffer. The boundary array is laid out with the component index outermost, so the pack/unpack kernels treat the vector as 2*nvar scalar variables. Packed buffers are allocated on first use; the shared side tables are built by SideExchange before this is called. |
| MPIExchangeAsync_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | |
| MPIExchangeAsync_MappedVector3D | SELF_MappedVector_3D | Subroutine | Post the aggregated halo exchange: one MPI_Irecv/MPI_Isend pair per neighboring rank, carrying every (side,variable,component) boundary trace shared with that rank in a single packed device buffer. The boundary array is laid out with the component index outermost, so the pack/unpack kernels treat the vector as 3*nvar scalar variables. Packed buffers are allocated on first use; the shared side tables are built by SideExchange before this is called. |
| MPIExchangeAsync_MappedVector3D_t | SELF_MappedVector_3D_t | Subroutine | |
| MPIMortarExchangeAsync_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | GPU-resident analogue of the base-class mortar message posting; messages are posted on device memory (GPU-aware MPI), following MPIExchangeAsync. |
| MPIMortarExchangeAsync_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | Posts the point-to-point messages required for mortar interfaces whose big and small elements reside on different ranks. The big-side rank sends its edge trace to each remote small-side rank and receives each remote small-side trace; tags are built from the sub-edge global side ids, following the conforming SideExchange tag convention. |
| MPIMortarExchangeAsync_MappedVector2D | SELF_MappedVector_2D | Subroutine | GPU-resident mortar message posting for vector data; messages are posted on device memory (GPU-aware MPI), one per variable and physical direction. |
| MPIMortarExchangeAsync_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | Vector analogue of the scalar mortar exchange message posting; each physical direction of each variable is exchanged as its own message. |
| MPIMortarFluxAsync_MappedVector2D | SELF_MappedVector_2D | Subroutine | One-directional messages for MortarFluxCollect on device memory : each remote small side sends its boundaryNormal trace to the big side's rank. |
| MPIMortarFluxAsync_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | Posts the one-directional messages for MortarFluxCollect : each remote small side sends its boundaryNormal trace to the big side's rank. |
| NewtonInverse_2D | SELF_Points_t | Subroutine | Newton inverse-map for the 2D SEM element iEl: solve X(xi) = xTarget for the reference coordinate xi in R^2, where X is the high-order interpolant. The Jacobian dX/dxi is taken from geometry%dxds (the covariant basis tensor), interpolated to xi via Lagrange basis. |
| NewtonInverse_3D | SELF_Points_t | Subroutine | Newton inverse-map for the 3D SEM element iEl. See NewtonInverse_2D. |
| newunit | SELF_SupportRoutines | Function | |
| NextGeomBuffer_AMRController2D | SELF_AMRController_2D | Subroutine | Select the geometry buffer to fill this epoch: whichever of the two is not currently active, so the previous epoch's geometry stays intact and readable (AMR Stage 6c). |
| NormalizedLegendre | SELF_RefinementIndicator_2D_t | Function | L2-normalized Legendre polynomial Ltilde_p(x) = L_p(x)*sqrt((2p+1)/2) on [-1,1], evaluated with the standard three-term recurrence. The normalization gives int_{-1}^{1} Ltilde_p Ltilde_q dx = delta_pq. |
| NormalWeight_2D_gpu | SELF_MappedScalar_2D | Interface | |
| NormalWeight_3D_gpu | SELF_MappedScalar_3D | Interface | |
| Open_HDF5 | SELF_HDF5 | Interface | |
| Open_HDF5_parallel | SELF_HDF5 | Subroutine | |
| Open_HDF5_serial | SELF_HDF5 | Subroutine | |
| pbc2d_NoStress_advection_diffusion_2d_t | self_advection_diffusion_2d_t | Subroutine | No-stress boundary condition for the BR1 diffusive flux. Reflects the interior gradient so that the normal component of the averaged gradient vanishes at the boundary: sigma_ext = sigma_int - 2 (sigma_int . nhat) nhat This gives zero diffusive flux through the wall and is unconditionally stable for Bassi-Rebay. |
| pbc2d_NoStress_ESAtmo2D | SELF_ESAtmo2D_t | Subroutine | Parabolic boundary condition: zero diffusive flux normal to the wall (no-stress for momentum, no-heat-flux for rho*theta). |
| pbc2d_nostress_esatmo2d_gpu | SELF_ESAtmo2D | Interface | |
| pbc2d_NoStress_ESAtmo2D_GPU_wrapper | SELF_ESAtmo2D | Subroutine | GPU-accelerated parabolic no-stress / no-heat-flux BC for 2D Entropy-Stable Atmosphere. |
| pbc3d_NoStress_advection_diffusion_3d_t | self_advection_diffusion_3d_t | Subroutine | No-stress boundary condition for the BR1 diffusive flux. Reflects the interior gradient so that the normal component of the averaged gradient vanishes at the boundary: sigma_ext = sigma_int - 2 (sigma_int . nhat) nhat This gives zero diffusive flux through the wall and is unconditionally stable for Bassi-Rebay. |
| pbc3d_NoStress_ESAtmo3D | SELF_ESAtmo3D_t | Subroutine | Parabolic boundary condition: zero diffusive flux normal to the wall (no-stress for momentum, no-heat-flux for rho*theta). |
| pbc3d_nostress_esatmo3d_gpu | SELF_ESAtmo3D | Interface | |
| pbc3d_NoStress_ESAtmo3D_GPU_wrapper | SELF_ESAtmo3D | Subroutine | GPU-accelerated parabolic no-stress / no-heat-flux BC for 3D Entropy-Stable Atmosphere. Reflects the normal component of the solution gradient at every wall node so that BR1 averaging gives avgGrad . n = 0 (zero diffusive flux through the wall) for every variable. |
| PopulateBoundaries | SELF_BoundaryConditions | Subroutine | Populate the elements and sides arrays for a registered boundary condition. Called after scanning the mesh to determine which faces belong to each bcid. |
| PostStepHook_Model | SELF_Model | Subroutine | PostStepHook is a template routine invoked by the time integrators once immediately after each completed time step (after this%t has advanced by this%dt). The default implementation is a no-op. |
| PreStepHook_Model | SELF_Model | Subroutine | PreStepHook is a template routine invoked by the time integrators once immediately before each time step is taken (before any Runge-Kutta stages of that step). The default implementation is a no-op. |
| PreTendencyHook_Model | SELF_Model | Subroutine | PreTendencyHook is a template routine that is used to house any additional calculations that you want to execute at the beginning of the tendency calculation routine. This default PreTendencyHook simply returns back to the caller without executing any instructions |
| PrintType_Model | SELF_Model | Subroutine | |
| ProlongToChildren | SELF_SolutionTransfer_2D | Subroutine | Prolong (interpolate) a parent element's nodal solution onto its four children. uChildren(:,:,:,c) is the field on child c (ordering 1=SW,2=SE,3=NE,4=NW). Exact for the parent's degree-N polynomial representation. |
| qt_internal | SELF_QuadTreeMesh_2D | Function | .true. if child c's side s is interior to its parent (its neighbour across s is a sibling). |
| qt_opposite | SELF_QuadTreeMesh_2D | Function | The local side directly across an element from side s. |
| qt_reflect | SELF_QuadTreeMesh_2D | Function | Sibling child index obtained by reflecting c across side s (swap the y-half for the horizontal faces S/N, the x-half for the vertical faces E/W). |
| qt_subpos | SELF_QuadTreeMesh_2D | Function | Sub-position (1 or 2, in the positive direction of side s) of child c along side s; 0 if c does not touch side s. |
| Read_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| Read_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| Read_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| Read_HOHQMesh_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | Reader for HOHQMesh text mesh files in the ISM and ISM-MM formats. The format is auto-detected from the first line: * Line equal to "ISM-MM" (trimmed) => ISM-MM with per-element material name strings and a 4-int count line that includes an unused nEdges field (the ISM-MM writer in HOHQMesh does NOT emit an edge block). * Anything else is treated as plain ISM: the first line is itself the count line "nNodes nElems polyOrder" and there are no per-element material names. |
| Read_HOHQMesh_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | Reader for HOHQMesh 3-D (hexahedral) text mesh files in the ISM
and ISM-MM formats, as written by HOHQMesh's |
| Read_HOPr_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | |
| Read_HOPr_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | |
| ReadArray_HDF5 | SELF_HDF5 | Interface | |
| ReadArray_HDF5_int32_r1_parallel | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_int32_r1_serial | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_int32_r2_parallel | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_int32_r2_serial | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r1_parallel | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r1_serial | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r2_parallel | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r2_serial | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r3_parallel | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r3_serial | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r4_parallel | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r4_serial | SELF_HDF5 | Subroutine | |
| ReadArray_HDF5_real_r5_serial | SELF_HDF5 | Subroutine | |
| ReadAttribute_HDF5 | SELF_HDF5 | Interface | |
| ReadAttribute_HDF5_character | SELF_HDF5 | Subroutine | |
| ReadAttribute_HDF5_int32 | SELF_HDF5 | Subroutine | |
| ReadAttribute_HDF5_real | SELF_HDF5 | Subroutine | |
| ReadModel | SELF_Model | Interface | |
| RebuildLeaves_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Recompute the active leaf set by depth-first traversal from the roots. Traversal (rather than a scan of all nodes) is what makes orphaned nodes left behind by coarsening invisible. |
| RecalculateFlip_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | |
| RecalculateFlip_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | |
| RecommendedTimeStep_AMRController2D | SELF_AMRController_2D | Function | Level-based explicit-stability time step: refinement halves the element scale per level, so a time step dtBase that is stable on the base (level-0) mesh scales to dtBase / 2**MaxLevel on the current forest. Deterministic and exact for the quadtree (child elements are exact half-scale subdivisions); no geometry reduction is needed. |
| RefineConnectivity | SELF_RefinementPrimitives_2D | Subroutine | Build the connectivity of a uniformly (2:1 in each direction) refined 2-D mesh from its base connectivity. Every base element p is split into four children (global id 4*(p-1)+c). The scheme is fully deterministic integer bookkeeping - no coordinate hashing, no flip recomputation, no MPI: |
| RefinementIndicator_2D_gpu | SELF_GPUInterfaces | Interface | |
| RefineNode_QuadTreeMesh2D | SELF_QuadTreeMesh_2D | Subroutine | Subdivide one leaf node into four children. Does nothing (with a warning) if the node is already refined. The caller is responsible for rebuilding the leaf list afterwards (or calling AdaptFromFlags, which does so). |
| RegisterbcMethod | SELF_BoundaryConditions | Subroutine | Register a boundary condition function with the given bcid and bcname. If the bcid is already registered, the function pointer is updated. The elements and sides arrays are not allocated here; call PopulateBoundaries after scanning the mesh. |
| Regrid_DGModel2D | SELF_DGModel2D | Subroutine | GPU regrid: release the device copies of the old boundary-condition element/side arrays, rebuild the model storage and BC maps on the new mesh (base Regrid), then upload the new BC arrays to the device - the same device bookkeeping Init/Free do around the base Init/Free. |
| Regrid_DGModel2D_t | SELF_DGModel2D_t | Subroutine | Rebind a live model to a new mesh/geometry pair (AMR regrid). The mesh-sized solution storage is reallocated and the boundary-condition registrations and maps are rebuilt for the new mesh, while everything that is not mesh-sized is preserved: the time state (t, dt, entropy, IO counter), the time-integrator selection, configuration flags, and any model-specific parameters (Init is intent(out) and would reset all of these). nvar/nstepped are unchanged - the model solves the same equations on a new mesh. |
| ReleaseMPI | SELF_DomainDecomposition_t | Subroutine | Retire one decomposition from the process-wide lifecycle bookkeeping and, if it was the last one and SELF initialized MPI, finalize. |
| ReportEntropy_Model | SELF_Model | Subroutine | Base method for reporting the entropy of a model to stdout. Only override this procedure if additional reporting is needed. Alternatively, if you think additional reporting would be valuable for all models, open a pull request with modifications to this base method. |
| ReportMetrics_DGModel2D_t | SELF_DGModel2D_t | Subroutine | Base method for reporting the entropy of a model to stdout. Only override this procedure if additional reporting is needed. Alternatively, if you think additional reporting would be valuable for all models, open a pull request with modifications to this base method. |
| ReportMetrics_DGModel3D_t | SELF_DGModel3D_t | Subroutine | Base method for reporting the entropy of a model to stdout. Only override this procedure if additional reporting is needed. Alternatively, if you think additional reporting would be valuable for all models, open a pull request with modifications to this base method. |
| ReportMetrics_Model | SELF_Model | Subroutine | Method that can be overridden by users to report their own custom metrics after file io |
| ReportUserMetrics_Model | SELF_Model | Subroutine | Method that can be overridden by users to report their own custom metrics after file io |
| ResetBoundaryConditionType_Mesh1D | SELF_Mesh_1D | Subroutine | This method can be used to reset all of the boundary elements boundary condition type to the desired value. |
| ResetBoundaryConditionType_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | This method can be used to reset all of the boundary elements boundary condition type to the desired value. |
| ResetBoundaryConditionType_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | This method can be used to reset all of the boundary elements boundary condition type to the desired value. |
| Resize_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | Rebind to a new element count, reusing host pools and device buffers where they fit (AMR Stage 6b), and without uploading zeros the way Init does. |
| Resize_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | Rebind to a new element count, reusing storage where it fits (AMR Stage 6b). The mortar staging buffer is sized by mesh%nMortars rather than nElem, and nMortars changes with the mesh independently of the element count, so it is invalidated here and lazily re-created at the correct size by the next mortar exchange. |
| Resize_MappedVector2D | SELF_MappedVector_2D | Subroutine | Rebind to a new element count, reusing host pools and device buffers where they fit (AMR Stage 6b). Inherits the Vector2D resize (host pools plus the five device buffers) and adds this class's mortar buffers, which are sized by mesh%nMortars rather than nElem: nMortars changes with the mesh independently of the element count, so a stale buffer would silently under-size the next mortar exchange. They are invalidated here and lazily re-created at the correct size on next use. |
| Resize_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | Rebind to a new element count, reusing storage where it fits (AMR Stage 6b). See Resize_MappedScalar2D_t for why the mortar staging buffer is invalidated rather than resized. |
| Resize_Scalar2D | SELF_Scalar_2D | Subroutine | Rebind to a new element count, reusing host pools and device buffers where they fit. Deliberately does NOT call UpdateDevice: Init uploads freshly zeroed arrays, which in the adaptive loop is pure waste because the solution transfer overwrites them immediately. |
| Resize_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | Rebind a live object to a new element count, reusing the existing storage when it fits (AMR Stage 6b). Unlike Init - which is intent(out) and therefore resets the whole object, reallocates, zeroes and, on GPU builds, uploads those zeros - this preserves metadata and equation parsers (neither depends on nElem) and touches storage only when it must grow. |
| Resize_SEMQuad | SELF_Geometry_2D | Subroutine | Rebind a live geometry to a new element count, reusing storage where it fits (AMR Stage 6c). This replaces the Free + Init cycle the adaptive loop performed on a freshly allocated SEMQuad every epoch, which threw away exactly the amortization Stage 6b introduced: each member Free released its pools and device buffers, and each Init reallocated, zeroed, rebuilt metadata and equation parsers, and uploaded the zeros. |
| Resize_Tensor2D | SELF_Tensor_2D | Subroutine | Rebind to a new element count, reusing host pools and device buffers where they fit. Deliberately does NOT call UpdateDevice: Init uploads freshly zeroed arrays, which is pure waste in the adaptive loop because the arrays are rewritten immediately after. |
| Resize_Tensor2D_t | SELF_Tensor_2D_t | Subroutine | Rebind a live object to a new element count, reusing existing storage when it fits (AMR Stage 6b/6c). Unlike Init - which is intent(out), so it resets the object, reallocates, zeroes and reconstructs the 4*nVar equation parsers - this preserves metadata and parsers (neither depends on nElem) and touches storage only when it must grow. |
| Resize_Vector2D | SELF_Vector_2D | Subroutine | Rebind to a new element count, reusing host pools and device buffers where they fit. Deliberately does NOT call UpdateDevice: Init uploads freshly zeroed arrays, which is pure waste in the adaptive loop because the fields are rewritten immediately after. |
| Resize_Vector2D_t | SELF_Vector_2D_t | Subroutine | Rebind a live object to a new element count, reusing existing storage when it fits (AMR Stage 6b). Unlike Init - which is intent(out), so it resets the object, reallocates, zeroes and reconstructs the equation parsers - this preserves metadata and parsers (neither depends on nElem) and touches storage only when it must grow. Preserving the parsers also avoids repeating the EquationParser construction that Init performs 2*nVar times as an amdflang workaround. |
| ResolveGeomDebug | SELF_AMRController_2D | Subroutine | Read the Stage 6c geometry debug switches once. |
| RestrictFromChildren | SELF_SolutionTransfer_2D | Subroutine | Restrict (L2-project) the solution on four children back onto their parent element. Conservative, and the exact left inverse of ProlongToChildren. |
| rewind | SELF_BoundaryConditions | Subroutine | |
| riemannflux1d_advection_diffusion_1d_t | self_advection_diffusion_1d_t | Function | |
| riemannflux1d_Burgers1D_t | self_Burgers1D_t | Function | |
| riemannflux1d_Model | SELF_Model | Function | |
| riemannflux2d_advection_diffusion_2d_t | self_advection_diffusion_2d_t | Function | |
| riemannflux2d_ECAdvection2D_t | SELF_ECAdvection2D_t | Function | Local Lax-Friedrichs (Rusanov) Riemann flux for linear advection. Entropy-stable: provides symmetric dissipation at element interfaces. Uses the per-face spectral radius lambda = |u.n|, matching upwind (Godunov) for linear advection: tangential faces (u.n=0) contribute zero flux, avoiding spurious dissipation across element interfaces whose face normal is perpendicular to the velocity. |
| riemannflux2d_ESAtmo2D_t | SELF_ESAtmo2D_t | Function | Local Lax-Friedrichs (Rusanov) Riemann flux. Provided as a fallback; the model overrides BoundaryFlux directly with the LMARS solver. |
| riemannflux2d_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Function | Impedance-matched Riemann flux for acoustic variables 1-4, with zero flux returned for the auxiliary variables 5-7. The acoustic formula is identical to the parent LinearEuler2D model; see riemannflux2d_LinearEuler2D_t for the derivation. |
| riemannflux2d_LinearEuler2D_t | self_LinearEuler2D_t | Function | Characteristic-decomposition (impedance-matched) interface flux for linear acoustics with possibly discontinuous sound speed. |
| riemannflux2d_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Function | |
| riemannflux2d_Model | SELF_Model | Function | |
| riemannflux3d_advection_diffusion_3d_t | self_advection_diffusion_3d_t | Function | |
| riemannflux3d_ECAdvection3D_t | SELF_ECAdvection3D_t | Function | Local Lax-Friedrichs (Rusanov) Riemann flux for linear advection. Uses the per-face spectral radius lambda = |u.n|, matching upwind (Godunov) for linear advection: tangential faces (u.n=0) contribute zero flux, avoiding spurious dissipation across element interfaces whose face normal is perpendicular to the velocity. |
| riemannflux3d_ESAtmo3D_t | SELF_ESAtmo3D_t | Function | Local Lax-Friedrichs (Rusanov) Riemann flux. |
| riemannflux3D_LinearEuler3D_t | self_LinearEuler3D_t | Function | Impedance-matched (characteristic/Godunov) Riemann flux, identical in form to the 2-D model's. The interface states are resolved with the per-side acoustic impedances Z = rho0*c (each side using its own background density rho0 and sound speed c), so material interfaces in a heterogeneous field are handled with the physically correct transmission/reflection: |
| riemannflux3d_Model | SELF_Model | Function | |
| ScalarGradient_2D_gpu | SELF_GPUInterfaces | Interface | |
| ScalarGradient_3D_gpu | SELF_GPUInterfaces | Interface | |
| SELF_bcMethod | SELF_BoundaryConditions | Interface | |
| SELF_timeIntegrator | SELF_Model | Interface | |
| setboundarycondition_DGModel1D | SELF_DGModel1D | Subroutine | Apply boundary conditions for the solution on GPU. Syncs boundary data from device, applies host-side BC dispatch (periodic defaults + registered BCs), then syncs back to device. |
| setboundarycondition_DGModel1D_t | SELF_DGModel1D_t | Subroutine | Apply boundary conditions for the solution. Periodic boundaries are set as the default; registered boundary conditions overwrite specific endpoints. |
| setboundarycondition_DGModel2D_t | SELF_DGModel2D_t | Subroutine | Apply registered boundary conditions for the solution. Each boundary condition method loops over its own boundary faces. |
| setboundarycondition_DGModel3D_t | SELF_DGModel3D_t | Subroutine | Apply registered boundary conditions for the solution. |
| SetCoriolis_betaplane_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Subroutine | |
| SetCoriolis_fplane_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Subroutine | |
| SetDescription_DataObj | SELF_Data | Subroutine | Set the description of the |
| SetDescription_Metadata | SELF_Metadata | Subroutine | |
| SetDiffusion_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | Set the constant-coefficient Laplacian diffusion coefficients (kinematic momentum diffusivity and thermal diffusivity, both in m^2/s) and the dimensionless SIPG jump penalty. Setting nu or kappa > 0 enables the gradient pipeline so that the diffusive flux methods receive solutionGradient. |
| SetDiffusion_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | Set the constant-coefficient Laplacian diffusion coefficients (kinematic momentum diffusivity and thermal diffusivity, both in m^2/s) and the dimensionless SIPG jump penalty. Setting nu or kappa > 0 enables the gradient pipeline so that the diffusive flux methods receive solutionGradient. |
| SetElemToRank_DomainDecomposition | SELF_DomainDecomposition | Subroutine | |
| SetElemToRank_DomainDecomposition_t | SELF_DomainDecomposition_t | Subroutine | |
| SetEquation_DataObj | SELF_Data | Subroutine | Sets the equation parser for the |
| SetEquation_Vector2D_t | SELF_Vector_2D_t | Subroutine | Sets the equation parser for the |
| SetEquation_Vector3D_t | SELF_Vector_3D_t | Subroutine | Sets the equation parser for the |
| setgradientboundarycondition_DGModel1D | SELF_DGModel1D | Subroutine | Apply gradient boundary conditions on GPU. Syncs gradient boundary data from device, applies host-side BC dispatch (periodic defaults + registered BCs), then syncs back to device. |
| setgradientboundarycondition_DGModel1D_t | SELF_DGModel1D_t | Subroutine | Apply boundary conditions for the solution gradient. Periodic boundaries are set as the default; registered boundary conditions overwrite specific endpoints. |
| setgradientboundarycondition_DGModel2D_t | SELF_DGModel2D_t | Subroutine | Apply registered boundary conditions for the solution gradient. Each boundary condition method loops over its own boundary faces. |
| setgradientboundarycondition_DGModel3D_t | SELF_DGModel3D_t | Subroutine | Apply registered boundary conditions for the solution gradient. |
| SetHydrostaticBalance_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | Initialise a hydrostatically balanced atmosphere with uniform potential temperature theta0, zero velocity, and the geopotential Phi = g*y carried as state variable index 5. |
| SetHydrostaticBalance_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | Initialise a hydrostatically balanced atmosphere with uniform potential temperature theta0, zero velocity, and the geopotential Phi = g*z carried as state variable index 6. |
| SetInteriorFromEquation_MappedScalar1D | SELF_MappedScalar_1D | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedScalar1D_t | SELF_MappedScalar_1D_t | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedScalar3D | SELF_MappedScalar_3D | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedScalar3D_t | SELF_MappedScalar_3D_t | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedVector2D | SELF_MappedVector_2D | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedVector3D | SELF_MappedVector_3D | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetInteriorFromEquation_MappedVector3D_t | SELF_MappedVector_3D_t | Subroutine | Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time. |
| SetMetadata_Burgers1D_t | self_Burgers1D_t | Subroutine | |
| SetMetadata_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| SetMetadata_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| SetMetadata_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| SetMetadata_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | |
| SetMetadata_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | |
| SetMetadata_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Subroutine | |
| SetMetadata_LinearEuler2D_t | self_LinearEuler2D_t | Subroutine | |
| SetMetadata_LinearEuler3D_t | self_LinearEuler3D_t | Subroutine | |
| SetMetadata_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Subroutine | |
| SetName_DataObj | SELF_Data | Subroutine | Set the name of the |
| SetName_Metadata | SELF_Metadata | Subroutine | |
| SetNumberOfVariables_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | Five conserved variables: (rho, rhou, rhov, rhotheta, Phi), where Phi = gy is the geopotential. Phi has zero flux (volume and surface) so its tendency is identically zero; it is carried in the state vector solely so that the Souza et al. (2023) non-conservative gravity flux differencing in SourceMethod can read it node-locally. |
| SetNumberOfVariables_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | Six conserved variables: (rho, rhou, rhov, rhow, rhotheta, Phi), where Phi = g*z is the geopotential. Phi has zero flux (volume and surface) so its tendency is identically zero; it is carried in the state vector solely so that the Souza et al. (2023) non-conservative gravity flux differencing in SourceMethod can read it node-locally. |
| SetNumberOfVariables_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Subroutine | |
| SetNumberOfVariables_LinearEuler2D_t | self_LinearEuler2D_t | Subroutine | |
| SetNumberOfVariables_LinearEuler3D_t | self_LinearEuler3D_t | Subroutine | |
| SetNumberOfVariables_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Subroutine | |
| SetNumberOfVariables_Model | SELF_Model | Subroutine | |
| SetPMLProfile_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Subroutine | Populate the per-node sigma_x, sigma_y fields. Only nodes inside elements whose material name starts with this%pml_material_prefix receive non-zero damping; all other nodes are forced to zero so the interior solution remains unmodified. |
| SetPoints_Points_t | SELF_Points_t | Subroutine | Copy user-supplied physical coordinates into the cloud. xIn must be shape (nPoints, nDim) matching the init dimensions. |
| SetSimulationTime | SELF_Model | Subroutine | Sets the model % t attribute with the provided simulation time |
| SetSolutionFromChar_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| SetSolutionFromChar_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| SetSolutionFromChar_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| SetSolutionFromEqn_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| SetSolutionFromEqn_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| SetSolutionFromEqn_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| SetThresholds_RefinementIndicator2D_t | SELF_RefinementIndicator_2D_t | Subroutine | Update the refine/coarsen thresholds without rebuilding the transform. |
| SetTimeIntegrator_withChar | SELF_Model | Subroutine | Sets the time integrator method, using a character input |
| SetUnits_DataObj | SELF_Data | Subroutine | Set the units of the |
| SetUnits_Metadata | SELF_Metadata | Subroutine | |
| SideExchange_2D_gpu | SELF_GPUInterfaces | Interface | |
| SideExchange_3D_gpu | SELF_GPUInterfaces | Interface | |
| SideExchange_MappedScalar1D | SELF_MappedScalar_1D | Subroutine | |
| SideExchange_MappedScalar1D_t | SELF_MappedScalar_1D_t | Subroutine | |
| SideExchange_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | |
| SideExchange_MappedScalar2D_t | SELF_MappedScalar_2D_t | Subroutine | |
| SideExchange_MappedScalar3D | SELF_MappedScalar_3D | Subroutine | |
| SideExchange_MappedScalar3D_t | SELF_MappedScalar_3D_t | Subroutine | |
| SideExchange_MappedVector2D | SELF_MappedVector_2D | Subroutine | |
| SideExchange_MappedVector2D_t | SELF_MappedVector_2D_t | Subroutine | |
| SideExchange_MappedVector3D | SELF_MappedVector_3D | Subroutine | |
| SideExchange_MappedVector3D_t | SELF_MappedVector_3D_t | Subroutine | |
| SideExchangeFinish_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | Complete the aggregated halo exchange started by SideExchangeStart: wait on the persistent requests and unpack the received traces into extBoundary, applying side flips. The host blocks in MPI_Waitall (which also drives MPI progress) while previously launched device kernels continue to execute. No-op if no exchange is in flight. |
| SideExchangeFinish_MappedScalar3D | SELF_MappedScalar_3D | Subroutine | Complete the aggregated halo exchange started by SideExchangeStart: wait on the persistent requests and unpack the received traces into extBoundary, applying side flips. The host blocks in MPI_Waitall (which also drives MPI progress) while previously launched device kernels continue to execute. No-op if no exchange is in flight. |
| SideExchangeStart_MappedScalar2D | SELF_MappedScalar_2D | Subroutine | Begin the aggregated halo exchange and launch the local (same-rank) side exchange kernel. |
| SideExchangeStart_MappedScalar3D | SELF_MappedScalar_3D | Subroutine | Begin the aggregated halo exchange and launch the local (same-rank) side exchange kernel. |
| SimpleMortarMesh_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | Create the smallest 2:1 nonconforming (mortar) mesh: one "big" element of size 2dx x 2dx whose east edge is shared with the west edges of two "small" dx x dx elements. The mesh is conforming everywhere except at the single mortar interface. |
| SolveLinearSystems | SELF_Lagrange_t | Subroutine | |
| source1d_Model | SELF_Model | Function | |
| source2d_Model | SELF_Model | Function | |
| source3d_Model | SELF_Model | Function | |
| sourcemethod_DGModel1D | SELF_DGModel1D | Subroutine | |
| sourcemethod_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| sourcemethod_DGModel2D | SELF_DGModel2D | Subroutine | |
| sourcemethod_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| sourcemethod_DGModel3D | SELF_DGModel3D | Subroutine | |
| sourcemethod_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| SourceMethod_ECAdvection2D | SELF_ECAdvection2D | Subroutine | No source term — upload the zero-initialised host array to device. |
| SourceMethod_ECAdvection3D | SELF_ECAdvection3D | Subroutine | No source term — upload the zero-initialised host array to device. |
| SourceMethod_ESAtmo2D | SELF_ESAtmo2D | Subroutine | Souza et al. (2023) non-conservative gravity flux differencing on GPU. The geopotential lives at solution(:,:,:,5); the source for rho*v is computed via the SBP-EC two-point form using log-mean density and the contravariant metric. |
| sourcemethod_esatmo2d_gpu | SELF_ESAtmo2D | Interface | |
| SourceMethod_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | Souza et al. (2023) non-conservative gravity flux differencing. |
| SourceMethod_ESAtmo3D | SELF_ESAtmo3D | Subroutine | Souza et al. (2023) non-conservative gravity flux differencing on GPU. The geopotential lives at solution(:,:,:,:,6); the source for rho*w is computed via the SBP-EC two-point form using log-mean density and the contravariant metric. Fully device-resident. |
| sourcemethod_esatmo3d_gpu | SELF_ESAtmo3D | Interface | |
| SourceMethod_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | Souza et al. (2023) non-conservative gravity flux differencing. |
| sourcemethod_LinearEuler2D | self_LinearEuler2D | Subroutine | |
| sourcemethod_LinearEuler2D_PML | self_LinearEuler2D_PML | Subroutine | |
| sourcemethod_LinearEuler2D_PML_gpu | self_LinearEuler2D_PML | Interface | |
| sourcemethod_LinearEuler2D_PML_t | self_LinearEuler2D_PML_t | Subroutine | Hu (2001) unsplit PML source term, evaluated per node. In the interior (sigma_x = sigma_y = 0) this leaves the acoustic variables untouched and the auxiliaries integrate q in time but never re-enter the dynamics (since the coupling coefficient sigma_xsigma_y is zero). Inside the PML, the (sigma_x + sigma_y) damping plus the sigma_xsigma_y*phi term produce the correct perfectly-matched behaviour for the linear Euler 2D system. |
| sourcemethod_LinearEuler3D_t | self_LinearEuler3D_t | Subroutine | |
| sourcemethod_LinearShallowWater2D | self_LinearShallowWater2D | Subroutine | |
| sourcemethod_LinearShallowWater2D_gpu | self_LinearShallowWater2D | Interface | |
| sourcemethod_LinearShallowWater2D_t | self_LinearShallowWater2D_t | Subroutine | |
| SphericalSoundWave_LinearEuler2D_t | self_LinearEuler2D_t | Subroutine | This subroutine sets the initial condition for a weak blast wave problem. The initial condition is given by |
| SphericalSoundWave_LinearEuler3D_t | self_LinearEuler3D_t | Subroutine | This subroutine sets the initial condition for a weak blast wave problem. The initial condition is given by |
| StageSolutionForTransfer_DGModel2D | SELF_DGModel2D | Subroutine | Stage the pre-regrid solution on the DEVICE (Stage 6a), replacing the base implementation's device-to-host copy of the whole field. Regrid subsequently releases solution%interior_gpu, so the field is copied device-to-device into a buffer this model owns; ApplyTransferPlan then reads it from there. |
| StageSolutionForTransfer_DGModel2D_t | SELF_DGModel2D_t | Subroutine | Preserve the current solution ahead of a regrid, so that Regrid may release the storage it lives in. Pair with ApplyTransferPlan, which consumes the staged copy: |
| SubdivideNodeCoords | SELF_RefinementPrimitives_2D | Subroutine | Isoparametric subdivision of one element's geometry node coordinates into its four children. The parent geometry is the degree-nGeo Lagrange interpolant through parentCoords (sampled at geomInterp's control points, i.e. the mesh geometry nodes); each child node coordinate is that interpolant evaluated at the corresponding point of the parent reference square. Exact for any polynomial geometry of degree <= nGeo and for any control-node type, so straight-sided and curved (isoparametric) elements are both handled without approximation. |
| TransferSolution_2D_gpu | SELF_GPUInterfaces | Interface | |
| twopointflux2d_ECAdvection2D_t | SELF_ECAdvection2D_t | Function | Arithmetic-mean two-point flux for linear advection. Entropy-conserving with respect to eta(u) = u^2/2. |
| twopointflux2d_ECDGModel2D_t | SELF_ECDGModel2D_t | Function | Entropy-conserving two-point flux function. |
| twopointflux2d_ESAtmo2D_t | SELF_ESAtmo2D_t | Function | Souza et al. (2023, JAMES) entropy-conservative two-point flux for 2-D compressible Euler in (rho, rhov, rhotheta) variables with p = p0(rhoRd*theta/p0)^gamma. |
| twopointflux3d_ECAdvection3D_t | SELF_ECAdvection3D_t | Function | Arithmetic-mean two-point flux for linear advection. Entropy-conserving with respect to eta(u) = u^2/2. |
| twopointflux3d_ECDGModel3D_t | SELF_ECDGModel3D_t | Function | Entropy-conserving two-point flux function (3-D). flux(ivar, d) is the d-th physical component (d=1:x, d=2:y, d=3:z). Override in concrete models. Stub returns zero. |
| twopointflux3d_ESAtmo3D_t | SELF_ESAtmo3D_t | Function | Souza et al. (2023, JAMES) entropy-conservative two-point flux for compressible Euler in (rho, rhov, rhotheta) variables with p = p0(rhoRd*theta/p0)^gamma. |
| TwoPointFluxMethod_ECAdvection2D | SELF_ECAdvection2D | Subroutine | Contravariant EC two-point flux on GPU — fully device-resident. |
| twopointfluxmethod_ecadvection2d_gpu | SELF_ECAdvection2D | Interface | |
| TwoPointFluxMethod_ECAdvection3D | SELF_ECAdvection3D | Subroutine | Contravariant EC two-point flux on GPU — fully device-resident. |
| twopointfluxmethod_ecadvection3d_gpu | SELF_ECAdvection3D | Interface | |
| TwoPointFluxMethod_ECDGModel2D_t | SELF_ECDGModel2D_t | Subroutine | Computes pre-projected SCALAR contravariant two-point fluxes for all node pairs and stores them in twoPointFlux%interior(n,i,j,iel,ivar,r). |
| TwoPointFluxMethod_ECDGModel3D_t | SELF_ECDGModel3D_t | Subroutine | Computes pre-projected SCALAR contravariant two-point fluxes for all node pairs, following Trixi.jl for curved meshes. Each direction r uses the correct partner AND the correct averaged metric Ja^r. |
| TwoPointFluxMethod_ESAtmo2D | SELF_ESAtmo2D | Subroutine | Souza et al. (2023) entropy-conservative two-point flux on GPU. |
| twopointfluxmethod_esatmo2d_gpu | SELF_ESAtmo2D | Interface | |
| TwoPointFluxMethod_ESAtmo2D_t | SELF_ESAtmo2D_t | Subroutine | Pre-projected scalar contravariant two-point Souza et al. (2023) EC flux. For each node pair (a, b) along reference direction r: |
| TwoPointFluxMethod_ESAtmo3D | SELF_ESAtmo3D | Subroutine | Souza et al. (2023) entropy-conservative two-point flux on GPU. Fully device-resident. |
| twopointfluxmethod_esatmo3d_gpu | SELF_ESAtmo3D | Interface | |
| TwoPointFluxMethod_ESAtmo3D_t | SELF_ESAtmo3D_t | Subroutine | Pre-projected scalar contravariant two-point Souza et al. (2023) EC flux. For each node pair (a, b) along reference direction r: |
| TwoPointVectorDivergence_2D_gpu | SELF_GPUInterfaces | Interface | |
| TwoPointVectorDivergence_3D_gpu | SELF_GPUInterfaces | Interface | |
| UniformBlockMesh_Mesh1D | SELF_Mesh_1D | Subroutine | |
| UniformPeriodicMesh_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | Create a fully triply-periodic structured hexahedral mesh and store it in SELF's unstructured mesh format. Element geometry and ordering are identical to UniformStructuredMesh; the only difference is connectivity. The faces on the six domain boundaries are wired as interior faces whose neighbor is the element on the opposite side of the domain. This realises the triply periodic box T^3 = [0,Lx] x [0,Ly] x [0,Lz] required by, e.g., the Arnold-Beltrami-Childress (ABC) flow benchmark. |
| UniformPoints | SELF_SupportRoutines | Function | \addtogroup SELF_SupportRoutines @{ \fn UniformPoints Generates a REAL(prec) array of N points evenly spaced between two points. |
| UniformRefineMesh | SELF_MeshRefinement_2D | Subroutine | Produce meshOut, a uniformly refined copy of meshIn: every element is split into four children. Child geometry is generated by exact isoparametric subdivision of the parent geometry (so the refined mesh represents the identical curved domain), and connectivity / flips are inherited deterministically from the base mesh. meshOut is a fully-formed, conforming Mesh2D_t with 4x the elements, ready for geometry generation and time stepping. |
| UniformStructuredMesh_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | Create a structured mesh and store it in SELF's unstructured mesh format. The mesh is created in tiles of size (tnx,tny). Tiling is used to determine the element ordering. |
| UniformStructuredMesh_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | Create a structured mesh and store it in SELF's unstructured mesh format. The mesh is created in tiles of size (tnx,tny,tnz). Tiling is used to determine the element ordering. |
| UpdateDevice_Mesh2D | SELF_Mesh_2D | Subroutine | |
| UpdateDevice_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | |
| UpdateDevice_Mesh3D | SELF_Mesh_3D | Subroutine | |
| UpdateDevice_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | |
| UpdateDevice_Points | SELF_Points | Subroutine | Copy elements, coordinates, and the per-point Lagrange basis cache from host to device. Lazily (re)allocates the cache buffers if their degree changed since the previous call. |
| UpdateDevice_RefinementIndicator2D | SELF_RefinementIndicator_2D | Subroutine | |
| UpdateDevice_RefinementIndicator2D_t | SELF_RefinementIndicator_2D_t | Subroutine | |
| UpdateDevice_Scalar1D | SELF_Scalar_1D | Subroutine | |
| UpdateDevice_Scalar1D | SELF_Scalar_1D | Subroutine | |
| UpdateDevice_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| UpdateDevice_Scalar2D | SELF_Scalar_2D | Subroutine | |
| UpdateDevice_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| UpdateDevice_Scalar3D | SELF_Scalar_3D | Subroutine | |
| UpdateDevice_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| UpdateDevice_Tensor2D | SELF_Tensor_2D | Subroutine | |
| UpdateDevice_Tensor2D_t | SELF_Tensor_2D_t | Subroutine | |
| UpdateDevice_Tensor3D | SELF_Tensor_3D | Subroutine | |
| UpdateDevice_Tensor3D_t | SELF_Tensor_3D_t | Subroutine | |
| UpdateDevice_TwoPointVector2D | SELF_TwoPointVector_2D | Subroutine | |
| UpdateDevice_TwoPointVector2D_t | SELF_TwoPointVector_2D_t | Subroutine | |
| UpdateDevice_TwoPointVector3D | SELF_TwoPointVector_3D | Subroutine | |
| UpdateDevice_TwoPointVector3D_t | SELF_TwoPointVector_3D_t | Subroutine | |
| UpdateDevice_Vector2D | SELF_Vector_2D | Subroutine | |
| UpdateDevice_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| UpdateDevice_Vector3D | SELF_Vector_3D | Subroutine | |
| UpdateDevice_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| UpdateGRK | SELF_Model | Interface | |
| UpdateGRK2_DGModel1D | SELF_DGModel1D | Subroutine | |
| UpdateGRK2_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| UpdateGRK2_DGModel2D | SELF_DGModel2D | Subroutine | |
| UpdateGRK2_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| UpdateGRK2_DGModel3D | SELF_DGModel3D | Subroutine | |
| UpdateGRK2_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| UpdateGRK3_DGModel1D | SELF_DGModel1D | Subroutine | |
| UpdateGRK3_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| UpdateGRK3_DGModel2D | SELF_DGModel2D | Subroutine | |
| UpdateGRK3_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| UpdateGRK3_DGModel3D | SELF_DGModel3D | Subroutine | |
| UpdateGRK3_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| UpdateGRK4_DGModel1D | SELF_DGModel1D | Subroutine | |
| UpdateGRK4_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| UpdateGRK4_DGModel2D | SELF_DGModel2D | Subroutine | |
| UpdateGRK4_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| UpdateGRK4_DGModel3D | SELF_DGModel3D | Subroutine | |
| UpdateGRK4_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| UpdateGRK_CalculateDSDt_gpu | SELF_GPUInterfaces | Interface | |
| UpdateGRK_gpu | SELF_GPUInterfaces | Interface | |
| UpdateHost_RefinementIndicator2D | SELF_RefinementIndicator_2D | Subroutine | |
| UpdateHost_RefinementIndicator2D_t | SELF_RefinementIndicator_2D_t | Subroutine | |
| UpdateHost_Scalar1D | SELF_Scalar_1D | Subroutine | |
| UpdateHost_Scalar1D | SELF_Scalar_1D | Subroutine | |
| UpdateHost_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| UpdateHost_Scalar2D | SELF_Scalar_2D | Subroutine | |
| UpdateHost_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| UpdateHost_Scalar3D | SELF_Scalar_3D | Subroutine | |
| UpdateHost_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| UpdateHost_Tensor2D | SELF_Tensor_2D | Subroutine | |
| UpdateHost_Tensor2D_t | SELF_Tensor_2D_t | Subroutine | |
| UpdateHost_Tensor3D | SELF_Tensor_3D | Subroutine | |
| UpdateHost_Tensor3D_t | SELF_Tensor_3D_t | Subroutine | |
| UpdateHost_TwoPointVector2D | SELF_TwoPointVector_2D | Subroutine | |
| UpdateHost_TwoPointVector2D_t | SELF_TwoPointVector_2D_t | Subroutine | |
| UpdateHost_TwoPointVector3D | SELF_TwoPointVector_3D | Subroutine | |
| UpdateHost_TwoPointVector3D_t | SELF_TwoPointVector_3D_t | Subroutine | |
| UpdateHost_Vector2D | SELF_Vector_2D | Subroutine | |
| UpdateHost_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| UpdateHost_Vector3D | SELF_Vector_3D | Subroutine | |
| UpdateHost_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| UpdateSolution | SELF_Model | Interface | |
| UpdateSolution_CalculateDSDt_gpu | SELF_GPUInterfaces | Interface | |
| UpdateSolution_DGModel1D | SELF_DGModel1D | Subroutine | Computes a solution update as , where dt is either provided through the interface or taken as the Model's stored time step size (model % dt) |
| UpdateSolution_DGModel1D_t | SELF_DGModel1D_t | Subroutine | Computes a solution update as , where dt is either provided through the interface or taken as the Model's stored time step size (model % dt) |
| UpdateSolution_DGModel2D | SELF_DGModel2D | Subroutine | Computes a solution update as , where dt is either provided through the interface or taken as the Model's stored time step size (model % dt) |
| UpdateSolution_DGModel2D_t | SELF_DGModel2D_t | Subroutine | Computes a solution update as , where dt is either provided through the interface or taken as the Model's stored time step size (model % dt) |
| UpdateSolution_DGModel3D | SELF_DGModel3D | Subroutine | Computes a solution update as , where dt is either provided through the interface or taken as the Model's stored time step size (model % dt) |
| UpdateSolution_DGModel3D_t | SELF_DGModel3D_t | Subroutine | Computes a solution update as , where dt is either provided through the interface or taken as the Model's stored time step size (model % dt) |
| UpdateSolution_gpu | SELF_GPUInterfaces | Interface | |
| UploadGeometry_SEMQuad | SELF_Geometry_2D | Subroutine | Push the geometry the solver kernels read to the device. Mirrors the uploads that GenerateFromMesh's own path performs, for use when geometry was assembled by element copy rather than generated (AMR Stage 6c). |
| UpperCase | SELF_SupportRoutines | Function | |
| VectorDivergence_2D_gpu | SELF_GPUInterfaces | Interface | |
| VectorDivergence_3D_gpu | SELF_GPUInterfaces | Interface | |
| VerifyGeometry | SELF_AMRController_2D | Subroutine | Generate the geometry the original way and report, per quantity, the largest discrepancy against the incrementally built one. Diagnostic only; gated by SELF_AMR_GEOM_VERIFY. |
| Write_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| Write_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| Write_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| Write_Geometry1D | SELF_Geometry_1D | Subroutine | |
| Write_Mesh1D | SELF_Mesh_1D | Subroutine | |
| Write_Mesh2D_t | SELF_Mesh_2D_t | Subroutine | |
| Write_Mesh3D_t | SELF_Mesh_3D_t | Subroutine | |
| WriteArray_HDF5 | SELF_HDF5 | Interface | |
| WriteArray_HDF5_int32_r1_serial | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_int32_r2_serial | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_int32_r3_serial | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_int32_r4_serial | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_real_r1_serial | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_real_r2_serial | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_real_r3_parallel | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_real_r3_serial | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_real_r4_parallel | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_real_r4_serial | SELF_HDF5 | Subroutine | |
| WriteArray_HDF5_real_r5_serial | SELF_HDF5 | Subroutine | |
| WriteAttribute_HDF5 | SELF_HDF5 | Interface | |
| WriteAttribute_HDF5_int32 | SELF_HDF5 | Subroutine | |
| WriteCharacter_HDF5 | SELF_HDF5 | Interface | |
| WriteCharacter_HDF5_serial | SELF_HDF5 | Subroutine | |
| WriteHDF5_Lagrange_t | SELF_Lagrange_t | Subroutine | |
| WriteHDF5_Metadata | SELF_Metadata | Subroutine | Writes the metadata to a HDF5 file using the
fields :
* |
| WriteHDF5_MPI_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| WriteHDF5_MPI_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| WriteHDF5_MPI_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| WriteHDF5_MPI_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| WriteHDF5_Scalar1D_t | SELF_Scalar_1D_t | Subroutine | |
| WriteHDF5_Scalar2D_t | SELF_Scalar_2D_t | Subroutine | |
| WriteHDF5_Scalar3D_t | SELF_Scalar_3D_t | Subroutine | |
| WriteHDF5_Vector2D_t | SELF_Vector_2D_t | Subroutine | |
| WriteHDF5_Vector3D_t | SELF_Vector_3D_t | Subroutine | |
| WriteModel | SELF_Model | Interface | |
| WriteTecplot | SELF_Model | Interface | |
| WriteTecplot_DGModel1D_t | SELF_DGModel1D_t | Subroutine | |
| WriteTecplot_DGModel2D_t | SELF_DGModel2D_t | Subroutine | |
| WriteTecplot_DGModel3D_t | SELF_DGModel3D_t | Subroutine | |
| WriteTecplot_SEMHex | SELF_Geometry_3D | Subroutine | |
| WriteTecplot_SEMQuad | SELF_Geometry_2D | Subroutine |