Procedures

ProcedureLocationProcedure TypeDescription
AccumulateField_gpuSELF_GPUInterfacesInterface
AcquireMPISELF_DomainDecomposition_tSubroutine

Resolve the communicator a new decomposition will run on and register it with the process-wide lifecycle bookkeeping.

Read more…
Adapt_AMRController2DSELF_AMRController_2DSubroutine

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.

Read more…
Adapt_AMRController3DSELF_AMRController_3DSubroutine

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.

Read more…
AdaptFromFlags_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

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 the refinement indicator):

Read more…
AdaptFromFlags_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

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):

Read more…
AdditionalFree_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine
AdditionalFree_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine
AdditionalFree_LinearEuler2D_PML_tself_LinearEuler2D_PML_tSubroutine
AdditionalFree_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
AdditionalFree_ModelSELF_ModelSubroutine
AdditionalInit_advection_diffusion_2d_tself_advection_diffusion_2d_tSubroutine

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_tself_advection_diffusion_3d_tSubroutine

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_ECAdvection2DSELF_ECAdvection2DSubroutine
AdditionalInit_ECAdvection2D_tSELF_ECAdvection2D_tSubroutine
AdditionalInit_ECAdvection3DSELF_ECAdvection3DSubroutine
AdditionalInit_ECAdvection3D_tSELF_ECAdvection3D_tSubroutine
AdditionalInit_ESAtmo2DSELF_ESAtmo2DSubroutine
AdditionalInit_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine
AdditionalInit_ESAtmo3DSELF_ESAtmo3DSubroutine
AdditionalInit_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine
AdditionalInit_LinearEuler2Dself_LinearEuler2DSubroutine
AdditionalInit_LinearEuler2D_PMLself_LinearEuler2D_PMLSubroutine
AdditionalInit_LinearEuler2D_PML_tself_LinearEuler2D_PML_tSubroutine
AdditionalInit_LinearEuler2D_tself_LinearEuler2D_tSubroutine

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_LinearEuler3Dself_LinearEuler3DSubroutine
AdditionalInit_LinearEuler3D_tself_LinearEuler3D_tSubroutine

Register the (CPU) radiation boundary condition. GPU builds overwrite this registration with the device kernel in AdditionalInit_LinearEuler3D.

AdditionalInit_LinearShallowWater2Dself_LinearShallowWater2DSubroutine
AdditionalInit_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
AdditionalInit_ModelSELF_ModelSubroutine
AdditionalOutput_ModelSELF_ModelSubroutine
AddThermalBubble_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

Adds a pressure-balanced warm bubble perturbation.

Read more…
AddThermalBubble_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

Adds a pressure-balanced warm bubble perturbation.

Read more…
AllgatherPerElemIntsSELF_AMRController_2DSubroutine

Allgather an integer array with perElem entries per element from the decomposition's contiguous rank-local element ranges into the global element ordering.

AllgatherPerElemIntsSELF_AMRController_3DSubroutine

Allgather an integer array with perElem entries per element from the decomposition's contiguous rank-local element ranges into the global element ordering.

AllgatherPerElemRealsSELF_AMRController_2DSubroutine

Allgather a real(prec) array with perElem entries per element from the decomposition's contiguous rank-local element ranges into the global element ordering.

AllgatherPerElemRealsSELF_AMRController_3DSubroutine

Allgather a real(prec) array with perElem entries per element from the decomposition's contiguous rank-local element ranges into the global element ordering.

AlmostEqualSELF_SupportRoutinesInterface
AlmostEqual_r64SELF_SupportRoutinesFunction

\addtogroup SELF_SupportRoutines @{ \fn AlmostEqual Compares two floating point numbers and determines if they are equal (to machine precision).

Read more…
ApplyFlip_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine
ApplyFlip_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine
ApplyFlip_MappedVector2D_tSELF_MappedVector_2D_tSubroutine
ApplyFlip_MappedVector3D_tSELF_MappedVector_3D_tSubroutine
ApplyIndicatorSettings_AMRController2DSELF_AMRController_2DSubroutine

Push the controller-owned amplitude-gate settings onto the indicator. Called after every indicator Init, because Init is intent(out) and therefore resets them to the indicator's defaults. The setters carry the validation.

ApplyIndicatorSettings_AMRController3DSELF_AMRController_3DSubroutine

Push the controller-owned amplitude-gate settings onto the indicator. Called after every indicator Init, because Init is intent(out) and therefore resets them to the indicator's defaults. The setters carry the validation.

ApplyTransferPlanSELF_TransferPlan_3DSubroutine

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.

ApplyTransferPlanSELF_TransferPlan_2DSubroutine

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_DGModel2DSELF_DGModel2DSubroutine

Apply the transfer plan on the device, writing solution%interior_gpu directly and moving no solution data across the PCIe/xGMI link - on any number of ranks.

Read more…
ApplyTransferPlan_DGModel2D_tSELF_DGModel2D_tSubroutine

Transfer the staged pre-regrid solution onto the regridded mesh through plan, filling the rank-local element range [eFirst,eLast] of the new solution.

Read more…
ApplyTransferPlan_DGModel3DSELF_DGModel3DSubroutine

Apply the transfer plan on the device, writing solution%interior_gpu directly and moving no solution data across the PCIe/xGMI link - on any number of ranks.

Read more…
ApplyTransferPlan_DGModel3D_tSELF_DGModel3D_tSubroutine

Transfer the staged pre-regrid solution onto the regridded mesh through plan, filling the rank-local element range [eFirst,eLast] of the new solution.

Read more…
ApplyTransferPlanRangeSELF_TransferPlan_3DSubroutine

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 gather-then-slice (AMR Stage-5 v1) decomposed-mesh 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. ApplyTransferPlanWindow is the point-to-point (v2) entry point, which needs only the sub-range of the old field the requested new range actually references; this routine is that one over the whole old field, so the two are bit-identical by construction rather than by inspection.

ApplyTransferPlanRangeSELF_TransferPlan_2DSubroutine

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 gather-then-slice (AMR Stage-5 v1) decomposed-mesh 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. ApplyTransferPlanWindow is the point-to-point (v2) entry point, which needs only the sub-range of the old field the requested new range actually references; this routine is that one over the whole old field, so the two are bit-identical by construction rather than by inspection.

ApplyTransferPlanWindowSELF_TransferPlan_3DSubroutine

Execute the contiguous sub-range eFirst..eLast of a transfer plan against a WINDOW of the old field: uOld holds old elements oldFirst..oldLast only, indexed in the global old element numbering that plan%sourceElem and plan%family use, rather than the whole global field. uNew(:,:,:,k,:) receives the data of new element eFirst+k-1.

Read more…
ApplyTransferPlanWindowSELF_TransferPlan_2DSubroutine

Execute the contiguous sub-range eFirst..eLast of a transfer plan against a WINDOW of the old field: uOld holds old elements oldFirst..oldLast only, indexed in the global old element numbering that plan%sourceElem and plan%family use, rather than the whole global field. uNew(:,:,k,:) receives the data of new element eFirst+k-1.

Read more…
AssociateGeometry_MappedScalar1D_tSELF_MappedScalar_1D_tSubroutine
AssociateGeometry_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine
AssociateGeometry_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine
AssociateGeometry_MappedTwoPointVector2D_tSELF_MappedTwoPointVector_2D_tSubroutine
AssociateGeometry_MappedTwoPointVector3D_tSELF_MappedTwoPointVector_3D_tSubroutine
AssociateGeometry_MappedVector2D_tSELF_MappedVector_2D_tSubroutine
AssociateGeometry_MappedVector3D_tSELF_MappedVector_3D_tSubroutine
Average_gpuSELF_GPUInterfacesInterface
AverageSides_Scalar1DSELF_Scalar_1DSubroutine
AverageSides_Scalar1D_tSELF_Scalar_1D_tSubroutine
AverageSides_Scalar2DSELF_Scalar_2DSubroutine
AverageSides_Scalar2D_tSELF_Scalar_2D_tSubroutine
AverageSides_Scalar3DSELF_Scalar_3DSubroutine
AverageSides_Scalar3D_tSELF_Scalar_3D_tSubroutine
AverageSides_Vector2DSELF_Vector_2DSubroutine
AverageSides_Vector2D_tSELF_Vector_2D_tSubroutine
AverageSides_Vector3DSELF_Vector_3DSubroutine
AverageSides_Vector3D_tSELF_Vector_3D_tSubroutine
Balance2to1_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

Enforce the 2:1 face 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.

Balance2to1_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

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.

BilinearFacePoint3DSELF_Mesh_3D_tFunction

Evaluates the bilinear map of face s of a trilinear (nGeo=1) element at the face coordinates (u,v) in [-1,1]^2, using the face trace-coordinate convention of BoundaryInterp: faces 1,6 -> (xi1,xi2); faces 2,4 -> (xi1,xi3); faces 3,5 -> (xi2,xi3).

boundaryflux_advection_diffusion_1dself_advection_diffusion_1dSubroutine
boundaryflux_advection_diffusion_1d_gpuself_advection_diffusion_1dInterface
boundaryflux_advection_diffusion_2dself_advection_diffusion_2dSubroutine
boundaryflux_advection_diffusion_2d_gpuself_advection_diffusion_2dInterface
boundaryflux_advection_diffusion_3dself_advection_diffusion_3dSubroutine
boundaryflux_advection_diffusion_3d_gpuself_advection_diffusion_3dInterface
BoundaryFlux_DGModel1DSELF_DGModel1DSubroutine
BoundaryFlux_DGModel1D_tSELF_DGModel1D_tSubroutine
BoundaryFlux_DGModel2DSELF_DGModel2DSubroutine
BoundaryFlux_DGModel2D_tSELF_DGModel2D_tSubroutine
BoundaryFlux_DGModel3DSELF_DGModel3DSubroutine
BoundaryFlux_DGModel3D_tSELF_DGModel3D_tSubroutine
BoundaryFlux_ECAdvection2DSELF_ECAdvection2DSubroutine

LLF Riemann flux on GPU — fully device-resident.

boundaryflux_ecadvection2d_gpuSELF_ECAdvection2DInterface
BoundaryFlux_ECAdvection3DSELF_ECAdvection3DSubroutine

LLF Riemann flux on GPU — fully device-resident.

boundaryflux_ecadvection3d_gpuSELF_ECAdvection3DInterface
BoundaryFlux_ESAtmo2DSELF_ESAtmo2DSubroutine

LMARS interface flux on GPU.

boundaryflux_esatmo2d_gpuSELF_ESAtmo2DInterface
BoundaryFlux_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

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).

Read more…
BoundaryFlux_ESAtmo3DSELF_ESAtmo3DSubroutine

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_gpuSELF_ESAtmo3DInterface
BoundaryFlux_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

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).

Read more…
boundaryflux_LinearEuler2Dself_LinearEuler2DSubroutine
boundaryflux_LinearEuler2D_gpuself_LinearEuler2DInterface
boundaryflux_LinearEuler2D_PMLself_LinearEuler2D_PMLSubroutine
boundaryflux_LinearEuler2D_PML_gpuself_LinearEuler2D_PMLInterface
boundaryflux_LinearEuler3Dself_LinearEuler3DSubroutine
boundaryflux_LinearEuler3D_gpuself_LinearEuler3DInterface
boundaryflux_LinearShallowWater2Dself_LinearShallowWater2DSubroutine
boundaryflux_LinearShallowWater2D_gpuself_LinearShallowWater2DInterface
BoundaryInterp_2D_gpuSELF_GPUInterfacesInterface
BoundaryInterp_3D_gpuSELF_GPUInterfacesInterface
BoundaryInterp_Scalar1DSELF_Scalar_1DSubroutine
BoundaryInterp_Scalar1DSELF_Scalar_1DSubroutine
BoundaryInterp_Scalar1D_tSELF_Scalar_1D_tSubroutine
BoundaryInterp_Scalar2DSELF_Scalar_2DSubroutine
BoundaryInterp_Scalar2D_tSELF_Scalar_2D_tSubroutine
BoundaryInterp_Scalar3DSELF_Scalar_3DSubroutine
BoundaryInterp_Scalar3D_tSELF_Scalar_3D_tSubroutine
BoundaryInterp_Tensor2D_tSELF_Tensor_2D_tSubroutine
BoundaryInterp_Tensor3D_tSELF_Tensor_3D_tSubroutine
BoundaryInterp_Vector2DSELF_Vector_2DSubroutine
BoundaryInterp_Vector2D_tSELF_Vector_2D_tSubroutine
BoundaryInterp_Vector3DSELF_Vector_3DSubroutine
BoundaryInterp_Vector3D_tSELF_Vector_3D_tSubroutine
build_nodeCoords_for_elementSELF_Mesh_2D_tSubroutine

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_hexSELF_Mesh_3D_tSubroutine

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_2DSELF_Points_tSubroutine

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_3DSELF_Points_tSubroutine

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_AMRController2DSELF_AMRController_2DSubroutine

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.

Read more…
BuildGeometry_AMRController3DSELF_AMRController_3DSubroutine

Fill newGeom for the emitted mesh, reusing the previous epoch's geometry for every element that did not change and generating only the rest. nReused reports how many elements were copied rather than computed.

Read more…
BuildHaloExchange_DomainDecompositionSELF_DomainDecompositionSubroutine

Build the aggregated halo exchange tables for the mesh this domain decomposition belongs to.

Read more…
BuildModalTransformSELF_RefinementIndicator_3D_tSubroutine

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.

BuildModalTransformSELF_RefinementIndicator_2D_tSubroutine

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.

BuildTransferPlanSELF_TransferPlan_3DSubroutine

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.

BuildTransferPlanSELF_TransferPlan_2DSubroutine

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.

CalculateBarycentricWeightsSELF_Lagrange_tSubroutine
CalculateContravariantBasis_SEMHexSELF_Geometry_3DSubroutine
CalculateContravariantBasis_SEMQuadSELF_Geometry_2DSubroutine
CalculateDerivativeMatrixSELF_Lagrange_tSubroutine
CalculateDSDt_gpuSELF_GPUInterfacesInterface
CalculateEntropy_DGModel1DSELF_DGModel1DSubroutine
CalculateEntropy_DGModel1D_tSELF_DGModel1D_tSubroutine
CalculateEntropy_DGModel2DSELF_DGModel2DSubroutine
CalculateEntropy_DGModel2D_tSELF_DGModel2D_tSubroutine
CalculateEntropy_DGModel3DSELF_DGModel3DSubroutine
CalculateEntropy_DGModel3D_tSELF_DGModel3D_tSubroutine
CalculateEntropy_ModelSELF_ModelSubroutine

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.

CalculateInterpolationMatrixSELF_Lagrange_tSubroutine
CalculateLagrangePolynomialsSELF_Lagrange_tFunction
CalculateMetricTerms_Geometry1DSELF_Geometry_1DSubroutine
CalculateMetricTerms_SEMHexSELF_Geometry_3DSubroutine
CalculateMetricTerms_SEMQuadSELF_Geometry_2DSubroutine
CalculateMortarMatricesSELF_Lagrange_tSubroutine
CalculateSolutionGradient_DGModel1DSELF_DGModel1DSubroutine
CalculateSolutionGradient_DGModel1D_tSELF_DGModel1D_tSubroutine
CalculateSolutionGradient_DGModel2DSELF_DGModel2DSubroutine
CalculateSolutionGradient_DGModel2D_tSELF_DGModel2D_tSubroutine
CalculateSolutionGradient_DGModel3DSELF_DGModel3DSubroutine
CalculateSolutionGradient_DGModel3D_tSELF_DGModel3D_tSubroutine
CalculateTendencySELF_ModelInterface
CalculateTendency_DGModel1DSELF_DGModel1DSubroutine
CalculateTendency_DGModel1D_tSELF_DGModel1D_tSubroutine
CalculateTendency_DGModel2DSELF_DGModel2DSubroutine
CalculateTendency_DGModel2D_tSELF_DGModel2D_tSubroutine
CalculateTendency_DGModel3DSELF_DGModel3DSubroutine
CalculateTendency_DGModel3D_tSELF_DGModel3D_tSubroutine
CalculateTendency_ECDGModel2DSELF_ECDGModel2DSubroutine

GPU implementation of the EC-DG 2-D tendency.

Read more…
CalculateTendency_ECDGModel2D_tSELF_ECDGModel2D_tSubroutine

Computes du/dt = source - EC-DG flux divergence.

Read more…
CalculateTendency_ECDGModel3DSELF_ECDGModel3DSubroutine
CalculateTendency_ECDGModel3D_tSELF_ECDGModel3D_tSubroutine
CalculateTendency_ESAtmo2DSELF_ESAtmo2DSubroutine

GPU-resident tendency for ESAtmo2D.

CalculateTendency_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

ESAtmo2D tendency = EC inviscid pipeline (parent) + optional constant-coefficient Laplacian diffusion (BR1 weak-form DG).

Read more…
CalculateTendency_ESAtmo3DSELF_ESAtmo3DSubroutine

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_tSELF_ESAtmo3D_tSubroutine

ESAtmo3D tendency = EC inviscid pipeline (parent) + optional constant-coefficient Laplacian diffusion (BR1 weak-form DG).

Read more…
ChebyshevGaussSELF_QuadratureSubroutine
ChebyshevGaussLobattoSELF_QuadratureSubroutine
ChebyshevQuadratureSELF_QuadratureSubroutine
CheckEstimateArgumentsSELF_RefinementIndicator_3D_tSubroutine

Argument validation shared by the portable and backend Estimate implementations.

CheckEstimateArgumentsSELF_RefinementIndicator_2D_tSubroutine

Argument validation shared by the portable and backend Estimate implementations.

ClampCellSELF_Points_tFunction

Convert a (signed, possibly out-of-range) real cell index to an integer cell index clamped to [0, nCells-1].

ClearEnergyScale_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine

Return to the automatic energy scale (the largest gate energy over the elements).

ClearEnergyScale_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine

Return to the automatic energy scale (the largest gate energy over the elements).

Close_HDF5SELF_HDF5Subroutine
CompareArraySELF_SupportRoutinesFunction

\addtogroup SELF_SupportRoutines @{ \fn CompareArray Compares to INTEGER arrays and determines if they are identical.

Read more…
ContravariantProjection_2D_gpuSELF_MappedVector_2DInterface
ContravariantWeight_2D_gpuSELF_MappedScalar_2DInterface
ContravariantWeight_3D_gpuSELF_MappedScalar_3DInterface
CopyElements_SEMHexSELF_Geometry_3DSubroutine

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).

Read more…
CopyElements_SEMQuadSELF_Geometry_2DSubroutine

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).

Read more…
corner_pair_for_sideSELF_Mesh_2D_tSubroutine

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_tSELF_RefinementIndicator_2D_tFunction

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.

CountFlagged_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tFunction

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_HDF5SELF_HDF5Subroutine
Curl_Vector3D_tSELF_Vector_3D_tSubroutine
DatasetExists_HDF5SELF_HDF5Function

Report whether a link exists at datasetName in an open file.

Read more…
Derivative_Scalar1DSELF_Scalar_1DSubroutine
Derivative_Scalar1D_tSELF_Scalar_1D_tSubroutine
Determinant_Tensor2D_tSELF_Tensor_2D_tSubroutine
Determinant_Tensor3D_tSELF_Tensor_3D_tSubroutine
DG_BoundaryContribution_2D_gpuSELF_GPUInterfacesInterface
DG_BoundaryContribution_3D_gpuSELF_GPUInterfacesInterface
DG_BoundaryContribution_JacobianWeight_3D_gpuSELF_GPUInterfacesInterface
DGDerivative_BoundaryContribution_1D_gpuSELF_MappedScalar_1DInterface
DiagnoseGeostrophicVelocity_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
DiffusiveBoundaryFlux_ESAtmo2DSELF_ESAtmo2DSubroutine

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_gpuSELF_ESAtmo2DInterface
DiffusiveBoundaryFlux_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

Fill diffFlux%boundaryNormal with the SIPG-stabilised BR1 flux:

Read more…
DiffusiveBoundaryFlux_ESAtmo3DSELF_ESAtmo3DSubroutine

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_gpuSELF_ESAtmo3DInterface
DiffusiveBoundaryFlux_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

Fill diffFlux%boundaryNormal with the SIPG-stabilised BR1 flux:

Read more…
diffusiveflux_esatmo2d_gpuSELF_ESAtmo2DInterface
diffusiveflux_esatmo3d_gpuSELF_ESAtmo3DInterface
DiffusiveFluxMethod_ESAtmo2DSELF_ESAtmo2DSubroutine

GPU-resident fill of diffFlux%interior with the constant-coefficient Laplacian flux F_d(iVar) = -coeff(iVar) * d(s_iVar)/dx_d.

DiffusiveFluxMethod_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

Fill diffFlux%interior with the constant-coefficient Laplacian flux at every interior node:

Read more…
DiffusiveFluxMethod_ESAtmo3DSELF_ESAtmo3DSubroutine

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_tSELF_ESAtmo3D_tSubroutine

Fill diffFlux%interior with the constant-coefficient Laplacian flux at every interior node:

Read more…
DiracDelta_2D_gpuSELF_PointsInterface
DiracDelta_2D_PointsSELF_PointsSubroutine

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.

Read more…
DiracDelta_2D_Points_tSELF_Points_tSubroutine

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.

Read more…
DiracDelta_3D_gpuSELF_PointsInterface
DiracDelta_3D_PointsSELF_PointsSubroutine

GPU override of DiracDelta_3D_Points_t. See DiracDelta_2D_Points.

DiracDelta_3D_Points_tSELF_Points_tSubroutine

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.

Read more…
DissociateGeometry_MappedScalar1D_tSELF_MappedScalar_1D_tSubroutine
DissociateGeometry_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine
DissociateGeometry_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine
DissociateGeometry_MappedTwoPointVector2D_tSELF_MappedTwoPointVector_2D_tSubroutine
DissociateGeometry_MappedTwoPointVector3D_tSELF_MappedTwoPointVector_3D_tSubroutine
DissociateGeometry_MappedVector2D_tSELF_MappedVector_2D_tSubroutine
DissociateGeometry_MappedVector3D_tSELF_MappedVector_3D_tSubroutine
Divergence_2D_gpuSELF_GPUInterfacesInterface
Divergence_TwoPointVector2DSELF_TwoPointVector_2DSubroutine

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_tSELF_TwoPointVector_2D_tSubroutine

Computes the split-form (two-point) divergence of a 2-D vector field in the reference element (computational coordinates).

Read more…
Divergence_TwoPointVector3DSELF_TwoPointVector_3DSubroutine

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_tSELF_TwoPointVector_3D_tSubroutine

Computes the split-form (two-point) divergence of a 3-D vector field in the reference element (computational coordinates).

Read more…
Divergence_Vector2DSELF_Vector_2DSubroutine
Divergence_Vector2D_tSELF_Vector_2D_tSubroutine
Divergence_Vector3DSELF_Vector_3DSubroutine
Divergence_Vector3D_tSELF_Vector_3D_tSubroutine
DomainBoundaryId3DSELF_Mesh_3D_tFunction

Identifies which of the six domain boundary planes of the SimpleMortarMesh contains face s of the element, and returns the corresponding boundary condition id. The domain is [0,3dx] x [0,2dx] x [0,2dx] with the region x > 2dx, above/below the small elements, outside the mesh; the x = 3dx plane is the domain east.

DomainDecompSELF_DomainDecomposition_tSubroutine
DoubleMortarMesh_Mesh2D_tSELF_Mesh_2D_tSubroutine

Create a six-element mesh with two 2:1 mortar interfaces, used to validate the mortar machinery in configurations the SimpleMortarMesh cannot reach:

Read more…
DownloadOldWindow_DGModel2DSELF_DGModel2DSubroutine

Copy the device-resident migrated window to the host, for the SELF_AMR_MIGRATE_VERIFY diagnostic only. This is exactly the host traffic the device path exists to avoid, so it must never appear on the default path.

Read more…
DownloadOldWindow_DGModel2D_tSELF_DGModel2D_tSubroutine

Copy the migrated window into a host array, for the SELF_AMR_MIGRATE_VERIFY diagnostic. Diagnostic-only and off the default path: on a GPU build the override is a device-to-host transfer of the whole window, which is exactly the traffic the device path exists to avoid.

Read more…
DownloadOldWindow_DGModel3DSELF_DGModel3DSubroutine

Copy the device-resident migrated window to the host, for the SELF_AMR_MIGRATE_VERIFY diagnostic only. This is exactly the host traffic the device path exists to avoid, so it must never appear on the default path.

Read more…
DownloadOldWindow_DGModel3D_tSELF_DGModel3D_tSubroutine

Copy the migrated window into a host array, for the SELF_AMR_MIGRATE_VERIFY diagnostic. Diagnostic-only and off the default path: on a GPU build the override is a device-to-host transfer of the whole window, which is exactly the traffic the device path exists to avoid.

Read more…
ECDGSurfaceContribution_2D_gpuSELF_GPUInterfacesInterface
ECDGSurfaceContribution_3D_gpuSELF_GPUInterfacesInterface
elementidSELF_Mesh_3D_tFunction
ElemToRankSELF_DomainDecomposition_tSubroutine
EmitMeshSELF_AdaptiveMesh_2DSubroutine

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.

EmitMeshSELF_AdaptiveMesh_3DSubroutine

Build outMesh (a conforming-or-mortar Mesh3D_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_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

Grow the node arrays (amortized doubling) so at least need nodes fit.

EnsureCapacity_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

Grow the node arrays (amortized doubling) so at least need nodes fit.

EnsureDeviceBufferSELF_GPUSubroutine

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.

Read more…
EnsureDeviceBuffers_MappedScalar2DSELF_MappedScalar_2DSubroutine

Grow the device buffers to hold the current logical arrays, reusing existing allocations when the bytes already fit (AMR Stage 6b).

EnsureDeviceBuffers_MappedScalar3DSELF_MappedScalar_3DSubroutine

Grow the device buffers to hold the current logical arrays, reusing existing allocations when the bytes already fit (AMR Stage 6b).

EnsureDeviceBuffers_Scalar2DSELF_Scalar_2DSubroutine

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_Scalar3DSELF_Scalar_3DSubroutine

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_Tensor2DSELF_Tensor_2DSubroutine

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_Tensor3DSELF_Tensor_3DSubroutine

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_Vector2DSELF_Vector_2DSubroutine

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.

EnsureDeviceBuffers_Vector3DSELF_Vector_3DSubroutine

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.

EnsurePoolSELF_DataPoolSubroutine

Guarantee that pool has at least needed elements, growing it by poolGrowth when it must reallocate. Existing contents are NOT preserved: every caller re-establishes the array contents after resizing (the solution through the AMR transfer, the geometry through GenerateFromMesh, everything else by being written before it is read), so copying the old data would be wasted bandwidth.

EnsureScratch_SEMHexSELF_Geometry_3DSubroutine

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.

Read more…
EnsureScratch_SEMQuadSELF_Geometry_2DSubroutine

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.

Read more…
entropy_func_advection_diffusion_1d_tself_advection_diffusion_1d_tFunction
entropy_func_advection_diffusion_2d_tself_advection_diffusion_2d_tFunction
entropy_func_advection_diffusion_3d_tself_advection_diffusion_3d_tFunction
entropy_func_Burgers1D_tself_Burgers1D_tFunction
entropy_func_ECAdvection2D_tSELF_ECAdvection2D_tFunction

Quadratic entropy: eta(u) = u^2 / 2

entropy_func_ECAdvection3D_tSELF_ECAdvection3D_tFunction

Quadratic entropy: eta(u) = u^2 / 2

entropy_func_ESAtmo2D_tSELF_ESAtmo2D_tFunction

Mathematical entropy: total energy density (kinetic + internal).

Read more…
entropy_func_ESAtmo3D_tSELF_ESAtmo3D_tFunction

Mathematical entropy: total energy density (kinetic + internal).

Read more…
entropy_func_LinearEuler2D_PML_tself_LinearEuler2D_PML_tFunction

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_tself_LinearEuler2D_tFunction

The entropy function is the sum of kinetic and internal energy For the linear model, this is

Read more…
entropy_func_LinearEuler3D_tself_LinearEuler3D_tFunction

The entropy function is the sum of kinetic and internal energy For the linear model, this is

Read more…
entropy_func_LinearShallowWater2D_tself_LinearShallowWater2D_tFunction
entropy_func_ModelSELF_ModelFunction
Estimate_RefinementIndicator2DSELF_RefinementIndicator_2DSubroutine

GPU path: one device thread per element computes the modal transform, the raw smoothness ratio and the gate energy; those are copied back to the host, where the shared second phase applies the amplitude gate, the log10 and the thresholds.

Read more…
Estimate_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine

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.

Read more…
Estimate_RefinementIndicator3DSELF_RefinementIndicator_3DSubroutine

GPU path: one device block per element computes the modal transform, the raw smoothness ratio and the gate energy; those are copied back to the host, where the shared second phase applies the amplitude gate, the log10 and the thresholds.

Read more…
Estimate_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine

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.

Read more…
Euler_timeIntegratorSELF_ModelSubroutine
EvalScalar_2D_dev_PointsSELF_PointsSubroutine

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).

Read more…
EvalScalar_2D_Points_tSELF_Points_tSubroutine

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_PointsSELF_PointsSubroutine
EvalScalar_3D_Points_tSELF_Points_tSubroutine

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_gpuSELF_PointsInterface
EvalScalarPoints_3D_gpuSELF_PointsInterface
ExchangeOldWindowSELF_AMRController_2DSubroutine

Migrate the pre-regrid solution into this rank's old-element window with point-to-point messages: the Stage-5 v2 replacement for allgathering the whole old field onto every rank.

Read more…
ExchangeOldWindowSELF_AMRController_3DSubroutine

Migrate the pre-regrid solution into this rank's old-element window with point-to-point messages: the Stage-5 v2 replacement for allgathering the whole old field onto every rank.

Read more…
ExchangeOldWindowFlatSELF_SolutionMigrationSubroutine

The complete host-memory migration: post the messages, copy the part of the window this rank already owns while they are in flight, then wait. This is the portable backend's whole implementation; the GPU backend calls PostOldWindowExchange / FinishOldWindowExchange itself so that it can serve the local part with a device-to-device copy instead.

FaceNeighbor_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

Find the equal-or-larger face neighbour of node across its local face s using the classic octree ascend/descend search. Returns: nbr - neighbour node id (0 = physical domain boundary). It is either a LEAF at any level <= level(node), or an INTERNAL node at exactly level(node) (meaning the shared face is subdivided on the neighbour side, i.e. finer neighbours exist). ns - the neighbour's local face that faces node. nf - the flip between the two shared faces (0..7, sideInfo(4) convention), inherited from the base-mesh face where the search crosses a root boundary. With this, a 2:1 hanging face is exactly "nbr is a leaf with level(nbr) = level(node)-1", and finer neighbours are exactly "nbr is internal".

FaceNeighbor_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

Find the equal-or-larger face neighbour of node across its local side s using the classic quadtree ascend/descend search. Returns: nbr - neighbour node id (0 = physical domain boundary). It is either a LEAF at any level <= level(node), or an INTERNAL node at exactly level(node) (meaning the shared face is subdivided on the neighbour side, i.e. finer neighbours exist). ns - the neighbour's local side that faces node. nf - the flip between the two shared edges (0 same direction, 1 reversed), inherited from the base-mesh face where the search crosses a root boundary. With this, a 2:1 hanging face is exactly "nbr is a leaf with level(nbr) = level(node)-1", and finer neighbours are exactly "nbr is internal".

FinalizeIndicatorSELF_RefinementIndicator_3D_tSubroutine

Second phase of an estimate, shared by every backend so that the flags are identical whichever computed the spectra: apply the amplitude gate, take the log10 and set the refine/keep/coarsen flags.

Read more…
FinalizeIndicatorSELF_RefinementIndicator_2D_tSubroutine

Second phase of an estimate, shared by every backend so that the flags are identical whichever computed the spectra: apply the amplitude gate, take the log10 and set the refine/keep/coarsen flags.

Read more…
FinalizeMPIExchangeAsyncSELF_DomainDecomposition_tSubroutine
FinishOldWindowExchangeSELF_SolutionMigrationSubroutine

Wait on the messages PostOldWindowExchange posted. A no-op when nothing was posted, which is the common case for a symmetric refinement: under a contiguous space-filling-curve repartition each rank's new range is sourced from its own old range, so the window is entirely local and not a single byte moves.

FlipFaceCoords3DSELF_Mesh_3D_tSubroutine

Coordinate form of MortarFaceMap: maps receiver-face coordinates (u,v) to donor-face coordinates (u2,v2) for each of the eight SELF face flips.

flux1d_advection_diffusion_1d_tself_advection_diffusion_1d_tFunction
flux1d_Burgers1D_tself_Burgers1D_tFunction
flux1d_ModelSELF_ModelFunction
flux2d_advection_diffusion_2d_tself_advection_diffusion_2d_tFunction
flux2d_LinearEuler2D_PML_tself_LinearEuler2D_PML_tFunction

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_tself_LinearEuler2D_tFunction
flux2d_LinearShallowWater2D_tself_LinearShallowWater2D_tFunction
flux2d_ModelSELF_ModelFunction
flux3d_advection_diffusion_3d_tself_advection_diffusion_3d_tFunction
flux3D_LinearEuler3D_tself_LinearEuler3D_tFunction
flux3d_ModelSELF_ModelFunction
fluxmethod_advection_diffusion_1dself_advection_diffusion_1dSubroutine
fluxmethod_advection_diffusion_1d_gpuself_advection_diffusion_1dInterface
fluxmethod_advection_diffusion_2dself_advection_diffusion_2dSubroutine
fluxmethod_advection_diffusion_2d_gpuself_advection_diffusion_2dInterface
fluxmethod_advection_diffusion_3dself_advection_diffusion_3dSubroutine
fluxmethod_advection_diffusion_3d_gpuself_advection_diffusion_3dInterface
fluxmethod_DGModel1DSELF_DGModel1DSubroutine
fluxmethod_DGModel1D_tSELF_DGModel1D_tSubroutine
fluxmethod_DGModel2DSELF_DGModel2DSubroutine
fluxmethod_DGModel2D_tSELF_DGModel2D_tSubroutine
fluxmethod_DGModel3DSELF_DGModel3DSubroutine
fluxmethod_DGModel3D_tSELF_DGModel3D_tSubroutine
fluxmethod_LinearEuler2Dself_LinearEuler2DSubroutine
fluxmethod_LinearEuler2D_gpuself_LinearEuler2DInterface
fluxmethod_LinearEuler2D_PMLself_LinearEuler2D_PMLSubroutine
fluxmethod_LinearEuler2D_PML_gpuself_LinearEuler2D_PMLInterface
fluxmethod_LinearEuler3Dself_LinearEuler3DSubroutine
fluxmethod_LinearEuler3D_gpuself_LinearEuler3DInterface
fluxmethod_LinearShallowWater2Dself_LinearShallowWater2DSubroutine
fluxmethod_LinearShallowWater2D_gpuself_LinearShallowWater2DInterface
ForwardShiftSELF_SupportRoutinesSubroutine

\addtogroup SELF_SupportRoutines @{ \fn ForwardShift Shift an array integers by one index forward, moving the last index to the first.

Read more…
ForwardStep_ModelSELF_ModelSubroutine

Forward steps the model using the associated tendency procedure and time integrator

Read more…
Free_AMRController2DSELF_AMRController_2DSubroutine

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_AMRController3DSELF_AMRController_3DSubroutine

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_BCListSELF_BoundaryConditionsSubroutine
Free_DGModel1DSELF_DGModel1DSubroutine

Free the 1D DG model, including GPU BC arrays.

Free_DGModel1D_tSELF_DGModel1D_tSubroutine
Free_DGModel2DSELF_DGModel2DSubroutine

Free the 2D DG model, including GPU BC arrays.

Free_DGModel2D_tSELF_DGModel2D_tSubroutine
Free_DGModel3DSELF_DGModel3DSubroutine

Free the 3D DG model, including GPU BC arrays.

Free_DGModel3D_tSELF_DGModel3D_tSubroutine
Free_DomainDecompositionSELF_DomainDecompositionSubroutine
Free_DomainDecomposition_tSELF_DomainDecomposition_tSubroutine
Free_ECAdvection2DSELF_ECAdvection2DSubroutine

Free EC Advection 2D, including GPU BC arrays.

Free_ECAdvection3DSELF_ECAdvection3DSubroutine

Free EC Advection 3D, including GPU BC arrays.

Free_ECDGModel2D_tSELF_ECDGModel2D_tSubroutine
Free_ECDGModel3D_tSELF_ECDGModel3D_tSubroutine
Free_ESAtmo2DSELF_ESAtmo2DSubroutine
Free_ESAtmo3DSELF_ESAtmo3DSubroutine
Free_Geometry1DSELF_Geometry_1DSubroutine
Free_LagrangeSELF_LagrangeSubroutine

Frees all memory (host and device) associated with an instance of the Lagrange class

Free_LagrangeSELF_LagrangeSubroutine

Frees all memory (host and device) associated with an instance of the Lagrange class

Free_Lagrange_tSELF_Lagrange_tSubroutine

Frees all memory (host and device) associated with an instance of the Lagrange_t class

Free_MappedScalar2DSELF_MappedScalar_2DSubroutine
Free_MappedScalar3DSELF_MappedScalar_3DSubroutine
Free_MappedVector2DSELF_MappedVector_2DSubroutine
Free_MappedVector3DSELF_MappedVector_3DSubroutine
Free_Mesh1DSELF_Mesh_1DSubroutine
Free_Mesh2DSELF_Mesh_2DSubroutine
Free_Mesh2D_tSELF_Mesh_2D_tSubroutine
Free_Mesh3DSELF_Mesh_3DSubroutine
Free_Mesh3D_tSELF_Mesh_3D_tSubroutine
Free_OctreeMesh3DSELF_OctreeMesh_3DSubroutine
Free_PointsSELF_PointsSubroutine
Free_Points_tSELF_Points_tSubroutine
Free_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine
Free_RefinementIndicator2DSELF_RefinementIndicator_2DSubroutine
Free_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine
Free_RefinementIndicator3DSELF_RefinementIndicator_3DSubroutine
Free_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine
Free_Scalar1DSELF_Scalar_1DSubroutine
Free_Scalar1DSELF_Scalar_1DSubroutine
Free_Scalar1D_tSELF_Scalar_1D_tSubroutine
Free_Scalar2DSELF_Scalar_2DSubroutine
Free_Scalar2D_tSELF_Scalar_2D_tSubroutine
Free_Scalar3DSELF_Scalar_3DSubroutine
Free_Scalar3D_tSELF_Scalar_3D_tSubroutine
Free_SEMHexSELF_Geometry_3DSubroutine
Free_SEMQuadSELF_Geometry_2DSubroutine
Free_Tensor2DSELF_Tensor_2DSubroutine
Free_Tensor2D_tSELF_Tensor_2D_tSubroutine
Free_Tensor3DSELF_Tensor_3DSubroutine
Free_Tensor3D_tSELF_Tensor_3D_tSubroutine
Free_TransferPlan2DSELF_TransferPlan_2DSubroutine
Free_TransferPlan3DSELF_TransferPlan_3DSubroutine
Free_TwoPointVector2DSELF_TwoPointVector_2DSubroutine
Free_TwoPointVector2D_tSELF_TwoPointVector_2D_tSubroutine
Free_TwoPointVector3DSELF_TwoPointVector_3DSubroutine
Free_TwoPointVector3D_tSELF_TwoPointVector_3D_tSubroutine
Free_Vector2DSELF_Vector_2DSubroutine
Free_Vector2D_tSELF_Vector_2D_tSubroutine
Free_Vector3DSELF_Vector_3DSubroutine
Free_Vector3D_tSELF_Vector_3D_tSubroutine
GenerateDecomposition_DomainDecomposition_tSELF_DomainDecomposition_tSubroutine
GenerateFromMesh_Geometry1DSELF_Geometry_1DSubroutine
GenerateFromMesh_SEMHexSELF_Geometry_3DSubroutine
GenerateFromMesh_SEMQuadSELF_Geometry_2DSubroutine
GenerateFromNodeCoords_SEMHexSELF_Geometry_3DSubroutine

Generate geometry for nElem elements directly from their mesh node coordinates (AMR Stage 6c). GenerateFromMesh is a thin wrapper over this.

Read more…
GenerateFromNodeCoords_SEMQuadSELF_Geometry_2DSubroutine

Generate geometry for nElem elements directly from their mesh node coordinates (AMR Stage 6c). GenerateFromMesh is a thin wrapper over this.

Read more…
GetBCForIDSELF_BoundaryConditionsFunction

Returns the node associated with the given bcid. If the bcid is not found, a null pointer is returned.

GetSimulationTimeSELF_ModelSubroutine

Returns the current simulation time stored in the model % t attribute

gid2eidSELF_Mesh_3D_tFunction

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).

GPUAvailableSELF_GPUFunction
GPUAvailableSELF_GPUFunction
gpuCheckSELF_GPUSubroutine
gpuCheckSELF_GPUSubroutine
Gradient_Scalar2DSELF_Scalar_2DSubroutine
Gradient_Scalar2D_tSELF_Scalar_2D_tSubroutine
Gradient_Scalar3DSELF_Scalar_3DSubroutine
Gradient_Scalar3D_tSELF_Scalar_3D_tSubroutine
Gradient_Vector2DSELF_Vector_2DSubroutine
Gradient_Vector2D_tSELF_Vector_2D_tSubroutine
Gradient_Vector3DSELF_Vector_3DSubroutine
Gradient_Vector3D_tSELF_Vector_3D_tSubroutine
GradientNormal_1D_gpuSELF_GPUInterfacesInterface
GridInterp_2D_gpuSELF_GPUInterfacesInterface
GridInterp_3D_gpuSELF_GPUInterfacesInterface
GridInterp_Scalar1DSELF_Scalar_1DSubroutine
GridInterp_Scalar1D_tSELF_Scalar_1D_tSubroutine
GridInterp_Scalar2DSELF_Scalar_2DSubroutine
GridInterp_Scalar2D_tSELF_Scalar_2D_tSubroutine
GridInterp_Scalar3DSELF_Scalar_3DSubroutine
GridInterp_Scalar3D_tSELF_Scalar_3D_tSubroutine
GridInterp_Vector2DSELF_Vector_2DSubroutine
GridInterp_Vector2D_tSELF_Vector_2D_tSubroutine
GridInterp_Vector3DSELF_Vector_3DSubroutine
GridInterp_Vector3D_tSELF_Vector_3D_tSubroutine
HaloKeySortSELF_DomainDecompositionSubroutine

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_gpuSELF_GPUInterfacesInterface
HaloPack_3D_gpuSELF_GPUInterfacesInterface
HaloSiftDownSELF_DomainDecompositionSubroutine
HaloSwapSELF_DomainDecompositionSubroutine
HaloUnpack_2D_gpuSELF_GPUInterfacesInterface
HaloUnpack_3D_gpuSELF_GPUInterfacesInterface
hbc2d_mirror_ecadvection2d_gpuSELF_ECAdvection2DInterface
hbc2d_Mirror_ECAdvection2D_GPU_wrapperSELF_ECAdvection2DSubroutine

GPU-accelerated mirror BC for 2D EC Advection.

hbc2d_NoNormalFlow_advection_diffusion_2d_tself_advection_diffusion_2d_tSubroutine

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_ECAdvection2DSELF_ECAdvection2D_tSubroutine

Prescribed-zero boundary state for the tracer.

Read more…
hbc2d_NoNormalFlow_ESAtmo2DSELF_ESAtmo2D_tSubroutine

No-normal-flow (wall) boundary condition.

Read more…
hbc2d_nonormalflow_esatmo2d_gpuSELF_ESAtmo2DInterface
hbc2d_NoNormalFlow_ESAtmo2D_GPU_wrapperSELF_ESAtmo2DSubroutine

GPU-accelerated no-normal-flow BC for 2D Entropy-Stable Atmosphere. Reflects normal momentum, mirrors density, rho*theta, and Phi.

hbc2d_NoNormalFlow_LinearEuler2Dself_LinearEuler2D_tSubroutine

No-normal-flow boundary condition for 2D linear Euler equations. Reflects the velocity vector about the boundary normal while preserving pressure, sound speed, background density, and the relaxation rate.

hbc2d_nonormalflow_lineareuler2d_gpuself_LinearEuler2DInterface
hbc2d_NoNormalFlow_LinearEuler2D_GPU_wrapperself_LinearEuler2DSubroutine

GPU-accelerated no-normal-flow BC for 2D Linear Euler.

hbc2d_NoNormalFlow_LinearEuler2D_PMLself_LinearEuler2D_PML_tSubroutine

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_gpuself_LinearEuler2D_PMLInterface
hbc2d_NoNormalFlow_LinearEuler2D_PML_GPU_wrapperself_LinearEuler2D_PMLSubroutine
hbc2d_NoNormalFlow_LinearShallowWater2Dself_LinearShallowWater2D_tSubroutine

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_gpuself_LinearShallowWater2DInterface
hbc2d_NoNormalFlow_LinearShallowWater2D_GPU_wrapperself_LinearShallowWater2DSubroutine
hbc2d_Radiation_LinearEuler2Dself_LinearEuler2D_tSubroutine

Radiation BC: zero acoustic perturbation in the exterior state; the sound speed (variable 4), background density (variable 5) and relaxation rate (variable 6) are copied from the interior side so the Riemann solver sees a consistent c and rho0 (impedance-matched, non-reflecting outflow) and the exterior state stays a faithful mirror of the interior one for diagnostics. The relaxation rate carries no flux, so its exterior value never enters the tendency.

hbc2d_radiation_lineareuler2d_gpuself_LinearEuler2DInterface
hbc2d_Radiation_LinearEuler2D_GPU_wrapperself_LinearEuler2DSubroutine

GPU-accelerated radiation BC for 2D Linear Euler.

hbc2d_Radiation_LinearEuler2D_PMLself_LinearEuler2D_PML_tSubroutine

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_gpuself_LinearEuler2D_PMLInterface
hbc2d_Radiation_LinearEuler2D_PML_GPU_wrapperself_LinearEuler2D_PMLSubroutine
hbc2d_radiation_linearshallowwater2d_gpuself_LinearShallowWater2DInterface
hbc2d_Radiation_LinearShallowWater2D_GPU_wrapperself_LinearShallowWater2DSubroutine
hbc3d_mirror_ecadvection3d_gpuSELF_ECAdvection3DInterface
hbc3d_Mirror_ECAdvection3D_GPU_wrapperSELF_ECAdvection3DSubroutine

GPU-accelerated mirror BC for 3D EC Advection.

hbc3d_NoNormalFlow_advection_diffusion_3d_tself_advection_diffusion_3d_tSubroutine

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_ECAdvection3DSELF_ECAdvection3D_tSubroutine

Prescribed-zero boundary state for the tracer.

Read more…
hbc3d_NoNormalFlow_ESAtmo3DSELF_ESAtmo3D_tSubroutine

No-normal-flow (wall) boundary condition.

Read more…
hbc3d_nonormalflow_esatmo3d_gpuSELF_ESAtmo3DInterface
hbc3d_NoNormalFlow_ESAtmo3D_GPU_wrapperSELF_ESAtmo3DSubroutine

GPU-accelerated no-normal-flow BC for 3D Entropy-Stable Atmosphere. Reflects normal momentum, mirrors density and rho*theta.

hbc3d_Radiation_LinearEuler3Dself_LinearEuler3D_tSubroutine

Radiation BC: zero acoustic perturbation in the exterior state; the sound speed (variable 5), background density (variable 6) and relaxation rate (variable 7) are copied from the interior side so the Riemann solver sees a consistent c and rho0 and the exterior state stays a faithful mirror of the interior one for diagnostics. The relaxation rate carries no flux, so its exterior value never enters the tendency.

hbc3d_radiation_lineareuler3d_gpuself_LinearEuler3DInterface
hbc3d_Radiation_LinearEuler3D_GPU_wrapperself_LinearEuler3DSubroutine
hipFreeSELF_GPUInterface
hipFreeSELF_GPUInterface
hipGetDeviceCountSELF_GPUInterface
hipGetDeviceCountSELF_GPUInterface
hipMallocSELF_GPUInterface
hipMallocSELF_GPUInterface
hipMemcpySELF_GPUInterface
hipMemcpySELF_GPUInterface
hipMemGetInfoSELF_GPUInterface
hipMemsetSELF_GPUInterface
hipSetDeviceSELF_GPUInterface
IncrementIOCounterSELF_ModelSubroutine
Init_AMRController2DSELF_AMRController_2DSubroutine

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.

Read more…
Init_AMRController3DSELF_AMRController_3DSubroutine

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_3D). 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.

Read more…
Init_BCListSELF_BoundaryConditionsSubroutine
Init_DGModel1DSELF_DGModel1DSubroutine

Initialize the 1D DG model, then upload BC element/side arrays to GPU.

Init_DGModel1D_tSELF_DGModel1D_tSubroutine
Init_DGModel2DSELF_DGModel2DSubroutine

Initialize the 2D DG model, then upload BC element/side arrays to GPU.

Init_DGModel2D_tSELF_DGModel2D_tSubroutine
Init_DGModel3DSELF_DGModel3DSubroutine

Initialize the 3D DG model, then upload BC element/side arrays to GPU.

Init_DGModel3D_tSELF_DGModel3D_tSubroutine
Init_DomainDecompositionSELF_DomainDecompositionSubroutine
Init_DomainDecomposition_tSELF_DomainDecomposition_tSubroutine
Init_ECAdvection2DSELF_ECAdvection2DSubroutine

Initialize EC Advection 2D, then upload BC element/side arrays to GPU.

Init_ECAdvection3DSELF_ECAdvection3DSubroutine

Initialize EC Advection 3D, then upload BC element/side arrays to GPU.

Init_ECDGModel2D_tSELF_ECDGModel2D_tSubroutine
Init_ECDGModel3D_tSELF_ECDGModel3D_tSubroutine
Init_ESAtmo2DSELF_ESAtmo2DSubroutine
Init_ESAtmo3DSELF_ESAtmo3DSubroutine
Init_Geometry1DSELF_Geometry_1DSubroutine
Init_LagrangeSELF_LagrangeSubroutine

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_LagrangeSELF_LagrangeSubroutine

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_tSELF_Lagrange_tSubroutine

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_MappedScalar2DSELF_MappedScalar_2DSubroutine
Init_MappedScalar3DSELF_MappedScalar_3DSubroutine
Init_Mesh1DSELF_Mesh_1DSubroutine
Init_Mesh2DSELF_Mesh_2DSubroutine
Init_Mesh2D_tSELF_Mesh_2D_tSubroutine
Init_Mesh3DSELF_Mesh_3DSubroutine
Init_Mesh3D_tSELF_Mesh_3D_tSubroutine
Init_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

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_PointsSELF_PointsSubroutine

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_tSELF_Points_tSubroutine

Allocate storage for a point cloud of size nPoints in nDim dimensions. nDim must be 2 or 3.

Init_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

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_RefinementIndicator2DSELF_RefinementIndicator_2DSubroutine
Init_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine

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.

Read more…
Init_RefinementIndicator3DSELF_RefinementIndicator_3DSubroutine
Init_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine

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.

Read more…
Init_Scalar1DSELF_Scalar_1DSubroutine
Init_Scalar1DSELF_Scalar_1DSubroutine
Init_Scalar1D_tSELF_Scalar_1D_tSubroutine
Init_Scalar2DSELF_Scalar_2DSubroutine
Init_Scalar2D_tSELF_Scalar_2D_tSubroutine
Init_Scalar3DSELF_Scalar_3DSubroutine
Init_Scalar3D_tSELF_Scalar_3D_tSubroutine
Init_SEMHexSELF_Geometry_3DSubroutine
Init_SEMQuadSELF_Geometry_2DSubroutine
Init_Tensor2DSELF_Tensor_2DSubroutine
Init_Tensor2D_tSELF_Tensor_2D_tSubroutine
Init_Tensor3DSELF_Tensor_3DSubroutine
Init_Tensor3D_tSELF_Tensor_3D_tSubroutine
Init_TwoPointVector2DSELF_TwoPointVector_2DSubroutine
Init_TwoPointVector2D_tSELF_TwoPointVector_2D_tSubroutine

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).

Read more…
Init_TwoPointVector3DSELF_TwoPointVector_3DSubroutine
Init_TwoPointVector3D_tSELF_TwoPointVector_3D_tSubroutine

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).

Read more…
Init_Vector2DSELF_Vector_2DSubroutine
Init_Vector2D_tSELF_Vector_2D_tSubroutine
Init_Vector3DSELF_Vector_3DSubroutine
Init_Vector3D_tSELF_Vector_3D_tSubroutine
InitForestFromDecomposedMeshSELF_AMRController_2DSubroutine

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.

InitForestFromDecomposedMeshSELF_AMRController_3DSubroutine

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_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

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: 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 face, and rootMaterial the base material id per element.

InitGlobal_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

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.

InvertMatrixSELF_RefinementIndicator_3D_tSubroutine

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.

InvertMatrixSELF_RefinementIndicator_2D_tSubroutine

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.

invFlip3DSELF_AdaptiveMesh_3DFunction

Inverse of a SELF face flip: the flip that maps donor-face indices back to receiver-face indices. Flips 0..4 and 6 are involutions; 5 and 7 invert each other.

JacobianWeight_1D_gpuSELF_MappedScalar_1DInterface
JacobianWeight_2D_gpuSELF_GPUInterfacesInterface
JacobianWeight_3D_gpuSELF_GPUInterfacesInterface
LeafCoords_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

Physical geometry-node coordinates of leaf leafIndex, produced by repeated exact isoparametric subdivision of its root element along the octree path. geomInterp must be a degree-nGeo Lagrange interpolant on the mesh's geometry (quadrature) nodes - the same interpolant SELF_MeshRefinement_3D builds. Level 0 leaves return the root geometry directly. Pure function of (root coords, level, octant path), so regenerated leaf geometry is bit-identical across epochs.

LeafCoords_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

Physical geometry-node coordinates of leaf leafIndex, produced by repeated exact isoparametric subdivision of its root element along the quadtree path. geomInterp must be a degree-nGeo Lagrange interpolant on the mesh's geometry (quadrature) nodes - the same interpolant SELF_MeshRefinement_2D builds. Level 0 leaves return the root geometry directly.

LegendreGaussSELF_QuadratureSubroutine
LegendreGaussLobattoSELF_QuadratureSubroutine
LegendrePolynomialSELF_QuadratureSubroutine
LegendreQandLSELF_QuadratureSubroutine
LegendreQuadratureSELF_QuadratureSubroutine
LocatePoints_2D_PointsSELF_PointsSubroutine

Run the host spatial-hash + Newton search (inherited from Points_t), then mirror per-point state to the device.

LocatePoints_2D_Points_tSELF_Points_tSubroutine

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_PointsSELF_PointsSubroutine
LocatePoints_3D_Points_tSELF_Points_tSubroutine

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_meanSELF_ESAtmo3D_tFunction

Numerically stable logarithmic mean (Ismail-Roe 2009 / Ranocha 2018).

Read more…
log_meanSELF_ESAtmo2D_tFunction

Numerically stable logarithmic mean (Ismail-Roe 2009 / Ranocha 2018).

Read more…
LowStorageRK2_timeIntegratorSELF_ModelSubroutine
LowStorageRK3_timeIntegratorSELF_ModelSubroutine
LowStorageRK4_timeIntegratorSELF_ModelSubroutine
MapArrays_Scalar2D_tSELF_Scalar_2D_tSubroutine

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_Scalar3D_tSELF_Scalar_3D_tSubroutine

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-5 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_tSELF_Tensor_2D_tSubroutine

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_Tensor3D_tSELF_Tensor_3D_tSubroutine

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_tSELF_Vector_2D_tSubroutine

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_Vector3D_tSELF_Vector_3D_tSubroutine

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_tSELF_DGModel1D_tSubroutine

Scan the mesh boundary condition IDs and populate the elements/sides arrays for each registered boundary condition.

MapBoundaryConditions_DGModel2D_tSELF_DGModel2D_tSubroutine

Scan the mesh sideInfo and populate the elements/sides arrays for each registered boundary condition.

MapBoundaryConditions_DGModel3D_tSELF_DGModel3D_tSubroutine

Scan the mesh sideInfo and populate the elements/sides arrays for each registered boundary condition.

MappedContravariantDivergence_3D_gpuSELF_GPUInterfacesInterface
MappedDerivative_MappedScalar1DSELF_MappedScalar_1DSubroutine
MappedDerivative_MappedScalar1D_tSELF_MappedScalar_1D_tSubroutine
MappedDGDerivative_MappedScalar1DSELF_MappedScalar_1DSubroutine
MappedDGDerivative_MappedScalar1D_tSELF_MappedScalar_1D_tSubroutine
MappedDGDivergence_MappedVector2DSELF_MappedVector_2DSubroutine
MappedDGDivergence_MappedVector2D_tSELF_MappedVector_2D_tSubroutine

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_MappedVector3DSELF_MappedVector_3DSubroutine

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_tSELF_MappedVector_3D_tSubroutine

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_MappedScalar2DSELF_MappedScalar_2DSubroutine
MappedDGGradient_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine
MappedDGGradient_MappedScalar3DSELF_MappedScalar_3DSubroutine

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_tSELF_MappedScalar_3D_tSubroutine

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_MappedTwoPointVector2DSELF_MappedTwoPointVector_2DSubroutine

GPU implementation of the physical-space split-form divergence for a 2-D two-point vector on a curvilinear mesh.

Read more…
MappedDivergence_MappedTwoPointVector2D_tSELF_MappedTwoPointVector_2D_tSubroutine

Computes the physical-space divergence of a 2-D split-form vector field on a curvilinear mesh.

Read more…
MappedDivergence_MappedTwoPointVector3DSELF_MappedTwoPointVector_3DSubroutine

GPU implementation of the physical-space split-form divergence for a 3-D two-point vector on a curvilinear mesh.

Read more…
MappedDivergence_MappedTwoPointVector3D_tSELF_MappedTwoPointVector_3D_tSubroutine

Computes the physical-space divergence of a 3-D split-form vector field on a curvilinear mesh.

Read more…
MappedDivergence_MappedVector2DSELF_MappedVector_2DSubroutine
MappedDivergence_MappedVector2D_tSELF_MappedVector_2D_tSubroutine
MappedDivergence_MappedVector3DSELF_MappedVector_3DSubroutine
MappedDivergence_MappedVector3D_tSELF_MappedVector_3D_tSubroutine
MappedGradient_MappedScalar2DSELF_MappedScalar_2DSubroutine

Calculates the gradient of a function using the strong form of the gradient in mapped coordinates.

MappedGradient_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine

Calculates the gradient of a function using the strong form of the gradient in mapped coordinates.

MappedGradient_MappedScalar3DSELF_MappedScalar_3DSubroutine

Calculates the gradient of a function using the strong form of the gradient in mapped coordinates.

MappedGradient_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine

Calculates the gradient of a function using the strong form of the gradient in mapped coordinates.

MappedTwoPointVectorDivergence_2D_gpuSELF_GPUInterfacesInterface
MappedTwoPointVectorDivergence_3D_gpuSELF_GPUInterfacesInterface
MatchFaces3DSELF_Mesh_3D_tSubroutine

Determines whether face sA of element A coincides with face sB of element B, and if so with which flip: face_B(F_flip(u,v)) == face_A(u,v) at the sampled points. Bilinear faces are pinned by their four corners plus one interior point.

MatrixOp_1D_gpuSELF_Scalar_1DInterface
MatrixOp_1D_gpuSELF_GPUInterfacesInterface
MaxLevel_OctreeMesh3DSELF_OctreeMesh_3DFunction

Highest refinement level among the active leaves.

MaxLevel_QuadTreeMesh2DSELF_QuadTreeMesh_2DFunction

Highest refinement level among the active leaves.

MaxLevelJump_OctreeMesh3DSELF_OctreeMesh_3DFunction

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.

MaxLevelJump_QuadTreeMesh2DSELF_QuadTreeMesh_2DFunction

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.

MigrateOldWindow_DGModel2DSELF_DGModel2DSubroutine

Assemble this rank's window of the pre-regrid old field IN DEVICE MEMORY, replacing the base implementation's host-memory migration. The rank's own run is copied device-to-device and the peers' runs are received directly into device memory, so no solution data crosses the host link and the windowed ApplyTransferPlan that follows runs as a device kernel.

Read more…
MigrateOldWindow_DGModel2D_tSELF_DGModel2D_tSubroutine

Migrate the pre-regrid solution into this rank's old-element window, ready for a windowed ApplyTransferPlan. Call it BEFORE Regrid, which releases the storage the sends read:

Read more…
MigrateOldWindow_DGModel3DSELF_DGModel3DSubroutine

Assemble this rank's window of the pre-regrid old field IN DEVICE MEMORY, replacing the base implementation's host-memory migration. The rank's own run is copied device-to-device and the peers' runs are received directly into device memory, so no solution data crosses the host link and the windowed ApplyTransferPlan that follows runs as a device kernel.

Read more…
MigrateOldWindow_DGModel3D_tSELF_DGModel3D_tSubroutine

Migrate the pre-regrid solution into this rank's old-element window, ready for a windowed ApplyTransferPlan. Call it BEFORE Regrid, which releases the storage the sends read:

Read more…
MigrateWindowLocal_gpuSELF_GPUInterfacesInterface
MortarExchange_MappedScalar2DSELF_MappedScalar_2DSubroutine

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_tSELF_MappedScalar_2D_tSubroutine

Fills the extBoundary attribute on all sides that participate in a 2:1 nonconforming (mortar) interface.

Read more…
MortarExchange_MappedScalar3DSELF_MappedScalar_3DSubroutine

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_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine

Fills the extBoundary attribute on all faces that participate in a 2:1 nonconforming (mortar) interface.

Read more…
MortarExchange_MappedVector2DSELF_MappedVector_2DSubroutine

GPU implementation of the vector mortar exchange; the kernels treat the (variable, direction) pairs as 2*nvar independent trace lines.

MortarExchange_MappedVector2D_tSELF_MappedVector_2D_tSubroutine

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).

MortarExchange_MappedVector3DSELF_MappedVector_3DSubroutine

GPU implementation of the vector mortar exchange; the kernels treat the (variable, direction) pairs as 3*nvar independent trace lines.

MortarExchange_MappedVector3D_tSELF_MappedVector_3D_tSubroutine

Fills the extBoundary attribute on all faces participating in a 2:1 nonconforming (mortar) interface; vector analogue of the scalar MortarExchange (see MappedScalar3D_t for the algorithm description).

MortarFaceMapSELF_Mesh_3D_tSubroutine

Maps receiver-face node indices (i,j) to donor-face node indices (i2,j2) for each of the eight SELF face flips (see the CGNStoSELFflip table above; indices here are 1-based, so the 0-based rule i2 = N-i1 reads i2 = N+2-i). Mortar staging uses this to reorient a small face's trace into the big face's coordinates and to scatter restricted traces back.

MortarFlip_2D_gpuSELF_GPUInterfacesInterface
MortarFlip_3D_gpuSELF_GPUInterfacesInterface
MortarFluxCollect_MappedVector2DSELF_MappedVector_2DSubroutine

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_tSELF_MappedVector_2D_tSubroutine

Replaces the big-side boundaryNormal trace on each mortar interface with the L2 projection of the two small sides' boundaryNormal traces.

Read more…
MortarFluxCollect_MappedVector3DSELF_MappedVector_3DSubroutine

GPU implementation of MortarFluxCollect (see the base class for the algorithm and conservation statement). Stages the small faces' boundaryNormal traces in the mortar buffer, then overwrites the big face's integrand on device.

MortarFluxCollect_MappedVector3D_tSELF_MappedVector_3D_tSubroutine

Replaces the big-face boundaryNormal trace on each mortar interface with the L2 projection of the four small faces' boundaryNormal traces.

Read more…
MortarFluxScatter_2D_gpuSELF_GPUInterfacesInterface
MortarFluxScatter_3D_gpuSELF_GPUInterfacesInterface
MortarGather_2D_gpuSELF_GPUInterfacesInterface
MortarGather_3D_gpuSELF_GPUInterfacesInterface
MortarScatter_2D_gpuSELF_GPUInterfacesInterface
MortarScatter_3D_gpuSELF_GPUInterfacesInterface
MoveNextSELF_BoundaryConditionsSubroutine
MPIExchangeAsync_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine
MPIExchangeAsync_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine
MPIExchangeAsync_MappedVector2DSELF_MappedVector_2DSubroutine

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_tSELF_MappedVector_2D_tSubroutine
MPIExchangeAsync_MappedVector3DSELF_MappedVector_3DSubroutine

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_tSELF_MappedVector_3D_tSubroutine
MPIMortarExchangeAsync_MappedScalar2DSELF_MappedScalar_2DSubroutine

GPU-resident analogue of the base-class mortar message posting; messages are posted on device memory (GPU-aware MPI), following MPIExchangeAsync.

MPIMortarExchangeAsync_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine

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_MappedScalar3DSELF_MappedScalar_3DSubroutine

GPU-resident analogue of the base-class mortar message posting; messages are posted on device memory (GPU-aware MPI), following MPIExchangeAsync.

MPIMortarExchangeAsync_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine

Posts the point-to-point messages required for mortar interfaces whose big and small elements reside on different ranks. The big-face rank sends its face trace to each remote small-face rank and receives each remote small-face trace; tags are built from the sub-face global side ids, following the conforming SideExchange tag convention.

MPIMortarExchangeAsync_MappedVector2DSELF_MappedVector_2DSubroutine

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_tSELF_MappedVector_2D_tSubroutine

Vector analogue of the scalar mortar exchange message posting; each physical direction of each variable is exchanged as its own message.

MPIMortarExchangeAsync_MappedVector3DSELF_MappedVector_3DSubroutine

GPU-resident analogue of the base-class vector mortar message posting; messages are posted on device memory (GPU-aware MPI).

MPIMortarExchangeAsync_MappedVector3D_tSELF_MappedVector_3D_tSubroutine

Posts the point-to-point messages required for mortar interfaces whose big and small elements reside on different ranks; vector analogue of the scalar MPIMortarExchangeAsync with one message per direction component.

MPIMortarFluxAsync_MappedVector2DSELF_MappedVector_2DSubroutine

One-directional messages for MortarFluxCollect on device memory : each remote small side sends its boundaryNormal trace to the big side's rank.

MPIMortarFluxAsync_MappedVector2D_tSELF_MappedVector_2D_tSubroutine

Posts the one-directional messages for MortarFluxCollect : each remote small side sends its boundaryNormal trace to the big side's rank.

MPIMortarFluxAsync_MappedVector3DSELF_MappedVector_3DSubroutine

Posts the one-directional messages for MortarFluxCollect on device memory : each remote small face sends its boundaryNormal trace to the big face's rank.

MPIMortarFluxAsync_MappedVector3D_tSELF_MappedVector_3D_tSubroutine

Posts the one-directional messages for MortarFluxCollect : each remote small face sends its boundaryNormal trace to the big face's rank.

NewtonInverse_2DSELF_Points_tSubroutine

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.

Read more…
NewtonInverse_3DSELF_Points_tSubroutine

Newton inverse-map for the 3D SEM element iEl. See NewtonInverse_2D.

newunitSELF_SupportRoutinesFunction
NextGeomBuffer_AMRController2DSELF_AMRController_2DSubroutine

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).

Read more…
NextGeomBuffer_AMRController3DSELF_AMRController_3DSubroutine

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.

Read more…
NormalizedLegendreSELF_RefinementIndicator_3D_tFunction

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.

NormalizedLegendreSELF_RefinementIndicator_2D_tFunction

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_gpuSELF_MappedScalar_2DInterface
NormalWeight_3D_gpuSELF_MappedScalar_3DInterface
oc_internalSELF_OctreeMesh_3DFunction

.true. if child c's face s is interior to its parent (its neighbour across s is a sibling): the child sits in the half-cube away from parent face s.

oc_oppositeSELF_OctreeMesh_3DFunction

The local face directly across an element from face s.

oc_reflectSELF_OctreeMesh_3DFunction

Sibling child index obtained by reflecting c across face s (swap the half-index of the direction normal to s).

oc_subposSELF_OctreeMesh_3DFunction

Face quadrant (1..4, in face s's trace coordinates) of child c on face s; 0 if c does not touch face s.

Open_HDF5SELF_HDF5Interface
Open_HDF5_parallelSELF_HDF5Subroutine
Open_HDF5_serialSELF_HDF5Subroutine
OwnedRunSELF_SolutionMigrationSubroutine

The run of elements that rank r-1 owns and that also lies in [first,last]: a..b, empty when b < a. offsetElem is a decomposition's contiguous ownership table, so rank r-1 owns offsetElem(r)+1 .. offsetElem(r+1).

Read more…
pbc2d_NoStress_advection_diffusion_2d_tself_advection_diffusion_2d_tSubroutine

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_ESAtmo2DSELF_ESAtmo2D_tSubroutine

Parabolic boundary condition: zero diffusive flux normal to the wall (no-stress for momentum, no-heat-flux for rho*theta).

Read more…
pbc2d_nostress_esatmo2d_gpuSELF_ESAtmo2DInterface
pbc2d_NoStress_ESAtmo2D_GPU_wrapperSELF_ESAtmo2DSubroutine

GPU-accelerated parabolic no-stress / no-heat-flux BC for 2D Entropy-Stable Atmosphere.

pbc3d_NoStress_advection_diffusion_3d_tself_advection_diffusion_3d_tSubroutine

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_ESAtmo3DSELF_ESAtmo3D_tSubroutine

Parabolic boundary condition: zero diffusive flux normal to the wall (no-stress for momentum, no-heat-flux for rho*theta).

Read more…
pbc3d_nostress_esatmo3d_gpuSELF_ESAtmo3DInterface
pbc3d_NoStress_ESAtmo3D_GPU_wrapperSELF_ESAtmo3DSubroutine

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.

PlanWindowsSELF_AMRController_2DSubroutine

For every rank r, the contiguous window [winFirst(r),winLast(r)] of GLOBAL old element indices that rank r's new element range references through the transfer plan. The plan is rank-replicated, so this is a purely local computation: no communication is needed to learn what a peer wants, which is what makes the point-to-point migration cheap here.

Read more…
PlanWindowsSELF_AMRController_3DSubroutine

For every rank r, the contiguous window [winFirst(r),winLast(r)] of GLOBAL old element indices that rank r's new element range references through the transfer plan. The plan is rank-replicated, so this is a purely local computation: no communication is needed to learn what a peer wants, which is what makes the point-to-point migration cheap here.

Read more…
PopulateBoundariesSELF_BoundaryConditionsSubroutine

Populate the elements and sides arrays for a registered boundary condition. Called after scanning the mesh to determine which faces belong to each bcid.

PostOldWindowExchangeSELF_SolutionMigrationSubroutine

Post every message of this rank's migration schedule and return without waiting: the receives that fill the remote runs of its window, then the sends that serve the runs of its old range that other ranks' windows need. Receives are posted before sends, as everywhere else in SELF.

Read more…
PostStepHook_ModelSELF_ModelSubroutine

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.

Read more…
PreStepHook_ModelSELF_ModelSubroutine

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.

Read more…
PreTendencyHook_ModelSELF_ModelSubroutine

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

Read more…
PrintType_ModelSELF_ModelSubroutine
ProlongToChildrenSELF_SolutionTransfer_3DSubroutine

Prolong (interpolate) a parent element's nodal solution onto its eight children. uChildren(:,:,:,:,c) is the field on child c (SELF child ordering = CGNS corner order). Exact for the parent's degree-N polynomial representation.

ProlongToChildrenSELF_SolutionTransfer_2DSubroutine

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_internalSELF_QuadTreeMesh_2DFunction

.true. if child c's side s is interior to its parent (its neighbour across s is a sibling).

qt_oppositeSELF_QuadTreeMesh_2DFunction

The local side directly across an element from side s.

qt_reflectSELF_QuadTreeMesh_2DFunction

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_subposSELF_QuadTreeMesh_2DFunction

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.

QuadrantMatches3DSELF_Mesh_3D_tFunction

Determines whether face sSmall of the small element coincides with quadrant q of face sBig of the big element under the given flip: face_small(F_flip(u,v)) == face_big(quadrant_q(u,v)) at the sampled points.

Read_DGModel1D_tSELF_DGModel1D_tSubroutine
Read_DGModel2D_tSELF_DGModel2D_tSubroutine
Read_DGModel3D_tSELF_DGModel3D_tSubroutine
Read_HOHQMesh_Mesh2D_tSELF_Mesh_2D_tSubroutine

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 more…
Read_HOHQMesh_Mesh3D_tSELF_Mesh_3D_tSubroutine

Reader for HOHQMesh 3-D (hexahedral) text mesh files in the ISM and ISM-MM formats, as written by HOHQMesh's WriteISMHexMeshFile (Source/3DSource/Mesh3DOutputMethods.f90). Unlike the 2-D writer, the 3-D writer emits NO format header line: the first line is always the count line "nNodes nElems polyOrder". The two variants differ only in the per-element corner-node line: * ISM : 8 corner-node ids * ISM-MM : 8 corner-node ids followed by a material-name string The variant is auto-detected from the presence of the 9th token.

Read more…
Read_HOPr_Mesh2D_tSELF_Mesh_2D_tSubroutine
Read_HOPr_Mesh3D_tSELF_Mesh_3D_tSubroutine
ReadArray_HDF5SELF_HDF5Interface
ReadArray_HDF5_int32_r1_parallelSELF_HDF5Subroutine
ReadArray_HDF5_int32_r1_serialSELF_HDF5Subroutine
ReadArray_HDF5_int32_r2_parallelSELF_HDF5Subroutine
ReadArray_HDF5_int32_r2_serialSELF_HDF5Subroutine
ReadArray_HDF5_real_r1_parallelSELF_HDF5Subroutine
ReadArray_HDF5_real_r1_serialSELF_HDF5Subroutine
ReadArray_HDF5_real_r2_parallelSELF_HDF5Subroutine
ReadArray_HDF5_real_r2_serialSELF_HDF5Subroutine
ReadArray_HDF5_real_r3_parallelSELF_HDF5Subroutine
ReadArray_HDF5_real_r3_serialSELF_HDF5Subroutine
ReadArray_HDF5_real_r4_parallelSELF_HDF5Subroutine
ReadArray_HDF5_real_r4_serialSELF_HDF5Subroutine
ReadArray_HDF5_real_r5_serialSELF_HDF5Subroutine
ReadAttribute_HDF5SELF_HDF5Interface
ReadAttribute_HDF5_characterSELF_HDF5Subroutine
ReadAttribute_HDF5_int32SELF_HDF5Subroutine
ReadAttribute_HDF5_realSELF_HDF5Subroutine
ReadModelSELF_ModelInterface
RebuildLeaves_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

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. The root-major DFS order with children visited 1..8 is the Morton (Z-order) curve within each root, which is what makes the contiguous block decomposition of the emitted element list a locality-preserving SFC partition.

RebuildLeaves_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

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_tSELF_Mesh_2D_tSubroutine
RecalculateFlip_Mesh3D_tSELF_Mesh_3D_tSubroutine
RecommendedTimeStep_AMRController2DSELF_AMRController_2DFunction

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.

RecommendedTimeStep_AMRController3DSELF_AMRController_3DFunction

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 octree (child elements are exact half-scale subdivisions); no geometry reduction is needed.

RefineConnectivitySELF_RefinementPrimitives_3DSubroutine

Build the connectivity of a uniformly (2:1 in each direction) refined 3-D mesh from its base connectivity. Every base element p is split into eight children (global id 8*(p-1)+c). The scheme is fully deterministic integer bookkeeping - no coordinate hashing, no flip recomputation, no MPI:

Read more…
RefineConnectivitySELF_RefinementPrimitives_2DSubroutine

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:

Read more…
RefinementIndicator_2D_gpuSELF_GPUInterfacesInterface
RefinementIndicator_3D_gpuSELF_GPUInterfacesInterface
RefineNode_OctreeMesh3DSELF_OctreeMesh_3DSubroutine

Subdivide one leaf node into eight 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).

RefineNode_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine

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).

RegisterbcMethodSELF_BoundaryConditionsSubroutine

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_DGModel2DSELF_DGModel2DSubroutine

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_tSELF_DGModel2D_tSubroutine

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.

Read more…
Regrid_DGModel3DSELF_DGModel3DSubroutine

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_DGModel3D_tSELF_DGModel3D_tSubroutine

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.

Read more…
ReleaseMPISELF_DomainDecomposition_tSubroutine

Retire one decomposition from the process-wide lifecycle bookkeeping and, if it was the last one and SELF initialized MPI, finalize.

Read more…
ReportEntropy_ModelSELF_ModelSubroutine

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_tSELF_DGModel2D_tSubroutine

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_tSELF_DGModel3D_tSubroutine

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_ModelSELF_ModelSubroutine

Method that can be overridden by users to report their own custom metrics after file io

ReportUserMetrics_ModelSELF_ModelSubroutine

Method that can be overridden by users to report their own custom metrics after file io

ResetBoundaryConditionType_Mesh1DSELF_Mesh_1DSubroutine

This method can be used to reset all of the boundary elements boundary condition type to the desired value.

Read more…
ResetBoundaryConditionType_Mesh2D_tSELF_Mesh_2D_tSubroutine

This method can be used to reset all of the boundary elements boundary condition type to the desired value.

Read more…
ResetBoundaryConditionType_Mesh3D_tSELF_Mesh_3D_tSubroutine

This method can be used to reset all of the boundary elements boundary condition type to the desired value.

Read more…
Resize_MappedScalar2DSELF_MappedScalar_2DSubroutine

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.

Read more…
Resize_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine

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_MappedScalar3DSELF_MappedScalar_3DSubroutine

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.

Read more…
Resize_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine

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_MappedVector2DSELF_MappedVector_2DSubroutine

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_tSELF_MappedVector_2D_tSubroutine

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_MappedVector3DSELF_MappedVector_3DSubroutine

Rebind to a new element count, reusing host pools and device buffers where they fit (AMR Stage 6b). Inherits the Vector3D 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_MappedVector3D_tSELF_MappedVector_3D_tSubroutine

Rebind to a new element count, reusing storage where it fits (AMR Stage 6b). See Resize_MappedScalar3D_t for why the mortar staging buffer is invalidated rather than resized.

Resize_Scalar2DSELF_Scalar_2DSubroutine

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_tSELF_Scalar_2D_tSubroutine

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.

Read more…
Resize_Scalar3DSELF_Scalar_3DSubroutine

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_Scalar3D_tSELF_Scalar_3D_tSubroutine

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.

Read more…
Resize_SEMHexSELF_Geometry_3DSubroutine

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 SEMHex 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.

Read more…
Resize_SEMQuadSELF_Geometry_2DSubroutine

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.

Read more…
Resize_Tensor2DSELF_Tensor_2DSubroutine

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_tSELF_Tensor_2D_tSubroutine

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.

Read more…
Resize_Tensor3DSELF_Tensor_3DSubroutine

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_Tensor3D_tSELF_Tensor_3D_tSubroutine

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 9*nVar equation parsers - this preserves metadata and parsers (neither depends on nElem) and touches storage only when it must grow.

Read more…
Resize_Vector2DSELF_Vector_2DSubroutine

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_tSELF_Vector_2D_tSubroutine

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.

Read more…
Resize_Vector3DSELF_Vector_3DSubroutine

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_Vector3D_tSELF_Vector_3D_tSubroutine

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 3*nVar times as an amdflang workaround.

Read more…
ResolveEnergyScaleSELF_RefinementIndicator_3D_tSubroutine

Determine the energy scale the relative floor is measured against: the pinned value when SetEnergyScale was used, otherwise the largest gate energy over the (rank-local) elements. When comm is present the maximum is taken over the communicator, so every rank applies the same floor and the flags - hence the adapted mesh - do not depend on the decomposition. One small collective per indicator evaluation, i.e. per adaptation epoch, never inside the time-stepping loop.

ResolveEnergyScaleSELF_RefinementIndicator_2D_tSubroutine

Determine the energy scale the relative floor is measured against: the pinned value when SetEnergyScale was used, otherwise the largest gate energy over the (rank-local) elements. When comm is present the maximum is taken over the communicator, so every rank applies the same floor and the flags - hence the adapted mesh - do not depend on the decomposition. One small collective per indicator evaluation, i.e. per adaptation epoch, never inside the time-stepping loop.

ResolveEnergyWeightsSELF_RefinementIndicator_3D_tSubroutine

Ensure energyWeight is associated and sized to nVar. Weights supplied by SetEnergyWeights must match nVar; otherwise the default weights are regenerated: unit weight on the driving variable, or on every variable when ivar is SELF_AMR_ALLVARS. Resolved here rather than at Init because the variable count belongs to the solution field, not to the indicator.

ResolveEnergyWeightsSELF_RefinementIndicator_2D_tSubroutine

Ensure energyWeight is associated and sized to nVar. Weights supplied by SetEnergyWeights must match nVar; otherwise the default weights are regenerated: unit weight on the driving variable, or on every variable when ivar is SELF_AMR_ALLVARS. Resolved here rather than at Init because the variable count belongs to the solution field, not to the indicator.

ResolveGeomDebugSELF_AMRController_2DSubroutine

Read the Stage 6c geometry and the solution-migration debug switches once. Idempotent, so it is safe (and intended) to call from every path that consults a switch rather than relying on one caller having run first.

ResolveGeomDebugSELF_AMRController_3DSubroutine

Read the incremental-geometry and solution-migration debug switches once. Idempotent, so it is safe (and intended) to call from every path that consults a switch rather than relying on one caller having run first.

RestrictFromChildrenSELF_SolutionTransfer_3DSubroutine

Restrict (L2-project) the solution on eight children back onto their parent element. Conservative, and the exact left inverse of ProlongToChildren.

RestrictFromChildrenSELF_SolutionTransfer_2DSubroutine

Restrict (L2-project) the solution on four children back onto their parent element. Conservative, and the exact left inverse of ProlongToChildren.

rewindSELF_BoundaryConditionsSubroutine
riemannflux1d_advection_diffusion_1d_tself_advection_diffusion_1d_tFunction
riemannflux1d_Burgers1D_tself_Burgers1D_tFunction
riemannflux1d_ModelSELF_ModelFunction
riemannflux2d_advection_diffusion_2d_tself_advection_diffusion_2d_tFunction
riemannflux2d_ECAdvection2D_tSELF_ECAdvection2D_tFunction

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_tSELF_ESAtmo2D_tFunction

Local Lax-Friedrichs (Rusanov) Riemann flux. Provided as a fallback; the model overrides BoundaryFlux directly with the LMARS solver.

Read more…
riemannflux2d_LinearEuler2D_PML_tself_LinearEuler2D_PML_tFunction

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_tself_LinearEuler2D_tFunction

Characteristic-decomposition (impedance-matched) interface flux for linear acoustics with possibly discontinuous sound speed.

Read more…
riemannflux2d_LinearShallowWater2D_tself_LinearShallowWater2D_tFunction
riemannflux2d_ModelSELF_ModelFunction
riemannflux3d_advection_diffusion_3d_tself_advection_diffusion_3d_tFunction
riemannflux3d_ECAdvection3D_tSELF_ECAdvection3D_tFunction

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_tSELF_ESAtmo3D_tFunction

Local Lax-Friedrichs (Rusanov) Riemann flux.

Read more…
riemannflux3D_LinearEuler3D_tself_LinearEuler3D_tFunction

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:

Read more…
riemannflux3d_ModelSELF_ModelFunction
ScalarGradient_2D_gpuSELF_GPUInterfacesInterface
ScalarGradient_3D_gpuSELF_GPUInterfacesInterface
SELF_bcMethodSELF_BoundaryConditionsInterface
SELF_timeIntegratorSELF_ModelInterface
setboundarycondition_DGModel1DSELF_DGModel1DSubroutine

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_tSELF_DGModel1D_tSubroutine

Apply boundary conditions for the solution. Periodic boundaries are set as the default; registered boundary conditions overwrite specific endpoints.

setboundarycondition_DGModel2D_tSELF_DGModel2D_tSubroutine

Apply registered boundary conditions for the solution. Each boundary condition method loops over its own boundary faces.

setboundarycondition_DGModel3D_tSELF_DGModel3D_tSubroutine

Apply registered boundary conditions for the solution.

SetCoriolis_betaplane_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
SetCoriolis_fplane_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
SetDescription_DataObjSELF_DataSubroutine

Set the description of the ivar-th variable

SetDescription_MetadataSELF_MetadataSubroutine
SetDiffusion_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

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.

Read more…
SetDiffusion_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

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.

Read more…
SetElemToRank_DomainDecompositionSELF_DomainDecompositionSubroutine
SetElemToRank_DomainDecomposition_tSELF_DomainDecomposition_tSubroutine
SetEnergyScale_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine

Pin the energy scale that normalizes the relative floor, in the units of the gate energy (squared field amplitude times the reference-element area). Two reasons to use this rather than the automatic maximum over elements:

Read more…
SetEnergyScale_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine

Pin the energy scale that normalizes the relative floor, in the units of the gate energy (squared field amplitude times the reference-element volume). Two reasons to use this rather than the automatic maximum over elements:

Read more…
SetEnergyWeights_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine

Set the per-variable weights w_v >= 0 of the gate energy g_e = sum_v w_v E_tot,e,v, where E_tot,e,v is the exact L2 energy of variable v on the reference element.

Read more…
SetEnergyWeights_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine

Set the per-variable weights w_v >= 0 of the gate energy g_e = sum_v w_v E_tot,e,v, where E_tot,e,v is the exact L2 energy of variable v on the reference element.

Read more…
SetEquation_DataObjSELF_DataSubroutine

Sets the equation parser for the ivar-th variable

SetEquation_Vector2D_tSELF_Vector_2D_tSubroutine

Sets the equation parser for the idir direction and ivar-th variable

SetEquation_Vector3D_tSELF_Vector_3D_tSubroutine

Sets the equation parser for the idir direction and ivar-th variable

setgradientboundarycondition_DGModel1DSELF_DGModel1DSubroutine

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_tSELF_DGModel1D_tSubroutine

Apply boundary conditions for the solution gradient. Periodic boundaries are set as the default; registered boundary conditions overwrite specific endpoints.

setgradientboundarycondition_DGModel2D_tSELF_DGModel2D_tSubroutine

Apply registered boundary conditions for the solution gradient. Each boundary condition method loops over its own boundary faces.

setgradientboundarycondition_DGModel3D_tSELF_DGModel3D_tSubroutine

Apply registered boundary conditions for the solution gradient.

SetHydrostaticBalance_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

Initialise a hydrostatically balanced atmosphere with uniform potential temperature theta0, zero velocity, and the geopotential Phi = g*y carried as state variable index 5.

Read more…
SetHydrostaticBalance_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

Initialise a hydrostatically balanced atmosphere with uniform potential temperature theta0, zero velocity, and the geopotential Phi = g*z carried as state variable index 6.

Read more…
SetInteriorFromEquation_MappedScalar1DSELF_MappedScalar_1DSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedScalar1D_tSELF_MappedScalar_1D_tSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedScalar2DSELF_MappedScalar_2DSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedScalar3DSELF_MappedScalar_3DSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedVector2DSELF_MappedVector_2DSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedVector2D_tSELF_MappedVector_2D_tSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedVector3DSELF_MappedVector_3DSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetInteriorFromEquation_MappedVector3D_tSELF_MappedVector_3D_tSubroutine

Sets the this % interior attribute using the eqn attribute, geometry (for physical positions), and provided simulation time.

SetMetadata_Burgers1D_tself_Burgers1D_tSubroutine
SetMetadata_DGModel1D_tSELF_DGModel1D_tSubroutine
SetMetadata_DGModel2D_tSELF_DGModel2D_tSubroutine
SetMetadata_DGModel3D_tSELF_DGModel3D_tSubroutine
SetMetadata_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine
SetMetadata_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine
SetMetadata_LinearEuler2D_PML_tself_LinearEuler2D_PML_tSubroutine
SetMetadata_LinearEuler2D_tself_LinearEuler2D_tSubroutine
SetMetadata_LinearEuler3D_tself_LinearEuler3D_tSubroutine
SetMetadata_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
SetName_DataObjSELF_DataSubroutine

Set the name of the ivar-th variable

SetName_MetadataSELF_MetadataSubroutine
SetNumberOfVariables_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

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_tSELF_ESAtmo3D_tSubroutine

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_tself_LinearEuler2D_PML_tSubroutine
SetNumberOfVariables_LinearEuler2D_tself_LinearEuler2D_tSubroutine
SetNumberOfVariables_LinearEuler3D_tself_LinearEuler3D_tSubroutine
SetNumberOfVariables_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
SetNumberOfVariables_ModelSELF_ModelSubroutine
SetPMLProfile_LinearEuler2D_PML_tself_LinearEuler2D_PML_tSubroutine

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_tSELF_Points_tSubroutine

Copy user-supplied physical coordinates into the cloud. xIn must be shape (nPoints, nDim) matching the init dimensions.

SetRelativeEnergyFloor_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine

Set the relative energy floor of the amplitude gate. An element whose gate energy g satisfies

Read more…
SetRelativeEnergyFloor_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine

Set the relative energy floor of the amplitude gate. An element whose gate energy g satisfies

Read more…
SetSimulationTimeSELF_ModelSubroutine

Sets the model % t attribute with the provided simulation time

SetSolutionFromChar_DGModel1D_tSELF_DGModel1D_tSubroutine
SetSolutionFromChar_DGModel2D_tSELF_DGModel2D_tSubroutine
SetSolutionFromChar_DGModel3D_tSELF_DGModel3D_tSubroutine
SetSolutionFromEqn_DGModel1D_tSELF_DGModel1D_tSubroutine
SetSolutionFromEqn_DGModel2D_tSELF_DGModel2D_tSubroutine
SetSolutionFromEqn_DGModel3D_tSELF_DGModel3D_tSubroutine
SetThresholds_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine

Update the refine/coarsen thresholds without rebuilding the transform.

SetThresholds_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine

Update the refine/coarsen thresholds without rebuilding the transform.

SetTimeIntegrator_withCharSELF_ModelSubroutine

Sets the time integrator method, using a character input

Read more…
SetUnits_DataObjSELF_DataSubroutine

Set the units of the ivar-th variable

SetUnits_MetadataSELF_MetadataSubroutine
SideExchange_2D_gpuSELF_GPUInterfacesInterface
SideExchange_3D_gpuSELF_GPUInterfacesInterface
SideExchange_MappedScalar1DSELF_MappedScalar_1DSubroutine
SideExchange_MappedScalar1D_tSELF_MappedScalar_1D_tSubroutine
SideExchange_MappedScalar2DSELF_MappedScalar_2DSubroutine
SideExchange_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine
SideExchange_MappedScalar3DSELF_MappedScalar_3DSubroutine
SideExchange_MappedScalar3D_tSELF_MappedScalar_3D_tSubroutine
SideExchange_MappedVector2DSELF_MappedVector_2DSubroutine
SideExchange_MappedVector2D_tSELF_MappedVector_2D_tSubroutine
SideExchange_MappedVector3DSELF_MappedVector_3DSubroutine
SideExchange_MappedVector3D_tSELF_MappedVector_3D_tSubroutine
SideExchangeFinish_MappedScalar2DSELF_MappedScalar_2DSubroutine

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_MappedScalar3DSELF_MappedScalar_3DSubroutine

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_MappedScalar2DSELF_MappedScalar_2DSubroutine

Begin the aggregated halo exchange and launch the local (same-rank) side exchange kernel.

Read more…
SideExchangeStart_MappedScalar3DSELF_MappedScalar_3DSubroutine

Begin the aggregated halo exchange and launch the local (same-rank) side exchange kernel.

Read more…
SimpleMortarMesh_Mesh2D_tSELF_Mesh_2D_tSubroutine

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.

Read more…
SimpleMortarMesh_Mesh3D_tSELF_Mesh_3D_tSubroutine

Create the smallest 3D 2:1 nonconforming (mortar) mesh: one "big" element of size 2dx x 2dx x 2*dx whose east face is shared with the faces of four "small" dx x dx x dx elements stacked 2x2 in (y,z). The mesh is conforming everywhere except at the single mortar interface.

Read more…
SolveLinearSystemsSELF_Lagrange_tSubroutine
source1d_ModelSELF_ModelFunction
source2d_ModelSELF_ModelFunction
source3d_ModelSELF_ModelFunction
sourcemethod_DGModel1DSELF_DGModel1DSubroutine
sourcemethod_DGModel1D_tSELF_DGModel1D_tSubroutine
sourcemethod_DGModel2DSELF_DGModel2DSubroutine
sourcemethod_DGModel2D_tSELF_DGModel2D_tSubroutine
sourcemethod_DGModel3DSELF_DGModel3DSubroutine
sourcemethod_DGModel3D_tSELF_DGModel3D_tSubroutine
SourceMethod_ECAdvection2DSELF_ECAdvection2DSubroutine

No source term — upload the zero-initialised host array to device.

SourceMethod_ECAdvection3DSELF_ECAdvection3DSubroutine

No source term — upload the zero-initialised host array to device.

SourceMethod_ESAtmo2DSELF_ESAtmo2DSubroutine

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_gpuSELF_ESAtmo2DInterface
SourceMethod_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

Souza et al. (2023) non-conservative gravity flux differencing.

Read more…
SourceMethod_ESAtmo3DSELF_ESAtmo3DSubroutine

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_gpuSELF_ESAtmo3DInterface
SourceMethod_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

Souza et al. (2023) non-conservative gravity flux differencing.

Read more…
sourcemethod_LinearEuler2Dself_LinearEuler2DSubroutine

Device-resident spatially-dependent linear relaxation (sponge/damping) source term. See sourcemethod_LinearEuler2D_t for the mathematical description; the kernel reads the relaxation rate from solution variable 6 and never leaves the device.

sourcemethod_LinearEuler2D_gpuself_LinearEuler2DInterface
sourcemethod_LinearEuler2D_PMLself_LinearEuler2D_PMLSubroutine
sourcemethod_LinearEuler2D_PML_gpuself_LinearEuler2D_PMLInterface
sourcemethod_LinearEuler2D_PML_tself_LinearEuler2D_PML_tSubroutine

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.

Read more…
sourcemethod_LinearEuler2D_tself_LinearEuler2D_tSubroutine

Spatially-dependent linear relaxation (sponge / damping layer) source.

Read more…
sourcemethod_LinearEuler3Dself_LinearEuler3DSubroutine

Device-resident spatially-dependent linear relaxation (sponge/damping) source term. See sourcemethod_LinearEuler3D_t for the mathematical description; the kernel reads the relaxation rate from solution variable 7 and never leaves the device.

sourcemethod_LinearEuler3D_gpuself_LinearEuler3DInterface
sourcemethod_LinearEuler3D_tself_LinearEuler3D_tSubroutine

Spatially-dependent linear relaxation (sponge / damping layer) source.

Read more…
sourcemethod_LinearShallowWater2Dself_LinearShallowWater2DSubroutine
sourcemethod_LinearShallowWater2D_gpuself_LinearShallowWater2DInterface
sourcemethod_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
SphericalSoundWave_LinearEuler2D_tself_LinearEuler2D_tSubroutine

This subroutine sets the initial condition for a weak blast wave problem. The initial condition is given by

Read more…
SphericalSoundWave_LinearEuler3D_tself_LinearEuler3D_tSubroutine

This subroutine sets the initial condition for a weak blast wave problem. The initial condition is given by

Read more…
StageSolutionForTransfer_DGModel2DSELF_DGModel2DSubroutine

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.

Read more…
StageSolutionForTransfer_DGModel2D_tSELF_DGModel2D_tSubroutine

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:

Read more…
StageSolutionForTransfer_DGModel3DSELF_DGModel3DSubroutine

Stage the pre-regrid solution on the DEVICE, replacing the base implementation's device-to-host copy of the whole field. Pair with ApplyTransferPlan, which consumes the staged copy:

Read more…
StageSolutionForTransfer_DGModel3D_tSELF_DGModel3D_tSubroutine

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:

Read more…
SubdivideNodeCoordsSELF_RefinementPrimitives_3DSubroutine

Isoparametric subdivision of one element's geometry node coordinates into its eight 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 cube. 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.

Read more…
SubdivideNodeCoordsSELF_RefinementPrimitives_2DSubroutine

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.

Read more…
TransferSolution_2D_gpuSELF_GPUInterfacesInterface
TransferSolution_3D_gpuSELF_GPUInterfacesInterface
twopointflux2d_ECAdvection2D_tSELF_ECAdvection2D_tFunction

Arithmetic-mean two-point flux for linear advection. Entropy-conserving with respect to eta(u) = u^2/2.

twopointflux2d_ECDGModel2D_tSELF_ECDGModel2D_tFunction

Entropy-conserving two-point flux function.

Read more…
twopointflux2d_ESAtmo2D_tSELF_ESAtmo2D_tFunction

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.

Read more…
twopointflux3d_ECAdvection3D_tSELF_ECAdvection3D_tFunction

Arithmetic-mean two-point flux for linear advection. Entropy-conserving with respect to eta(u) = u^2/2.

twopointflux3d_ECDGModel3D_tSELF_ECDGModel3D_tFunction

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_tSELF_ESAtmo3D_tFunction

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.

Read more…
TwoPointFluxMethod_ECAdvection2DSELF_ECAdvection2DSubroutine

Contravariant EC two-point flux on GPU — fully device-resident.

twopointfluxmethod_ecadvection2d_gpuSELF_ECAdvection2DInterface
TwoPointFluxMethod_ECAdvection3DSELF_ECAdvection3DSubroutine

Contravariant EC two-point flux on GPU — fully device-resident.

twopointfluxmethod_ecadvection3d_gpuSELF_ECAdvection3DInterface
TwoPointFluxMethod_ECDGModel2D_tSELF_ECDGModel2D_tSubroutine

Computes pre-projected SCALAR contravariant two-point fluxes for all node pairs and stores them in twoPointFlux%interior(n,i,j,iel,ivar,r).

Read more…
TwoPointFluxMethod_ECDGModel3D_tSELF_ECDGModel3D_tSubroutine

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_ESAtmo2DSELF_ESAtmo2DSubroutine

Souza et al. (2023) entropy-conservative two-point flux on GPU.

twopointfluxmethod_esatmo2d_gpuSELF_ESAtmo2DInterface
TwoPointFluxMethod_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

Pre-projected scalar contravariant two-point Souza et al. (2023) EC flux. For each node pair (a, b) along reference direction r:

Read more…
TwoPointFluxMethod_ESAtmo3DSELF_ESAtmo3DSubroutine

Souza et al. (2023) entropy-conservative two-point flux on GPU. Fully device-resident.

twopointfluxmethod_esatmo3d_gpuSELF_ESAtmo3DInterface
TwoPointFluxMethod_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

Pre-projected scalar contravariant two-point Souza et al. (2023) EC flux. For each node pair (a, b) along reference direction r:

Read more…
TwoPointVectorDivergence_2D_gpuSELF_GPUInterfacesInterface
TwoPointVectorDivergence_3D_gpuSELF_GPUInterfacesInterface
UniformBlockMesh_Mesh1DSELF_Mesh_1DSubroutine
UniformPeriodicMesh_Mesh3D_tSELF_Mesh_3D_tSubroutine

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.

Read more…
UniformPointsSELF_SupportRoutinesFunction

\addtogroup SELF_SupportRoutines @{ \fn UniformPoints Generates a REAL(prec) array of N points evenly spaced between two points.

Read more…
UniformRefineMeshSELF_MeshRefinement_3DSubroutine

Produce meshOut, a uniformly refined copy of meshIn: every element is split into eight 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 Mesh3D_t with 8x the elements, ready for geometry generation and time stepping. Refined globalNodeIDs are left zero: the solver reads flips from sideInfo directly and no 3-D consumer requires them.

Read more…
UniformRefineMeshSELF_MeshRefinement_2DSubroutine

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.

Read more…
UniformStructuredMesh_Mesh2D_tSELF_Mesh_2D_tSubroutine

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.

Read more…
UniformStructuredMesh_Mesh3D_tSELF_Mesh_3D_tSubroutine

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.

Read more…
UpdateDevice_Mesh2DSELF_Mesh_2DSubroutine
UpdateDevice_Mesh2D_tSELF_Mesh_2D_tSubroutine
UpdateDevice_Mesh3DSELF_Mesh_3DSubroutine
UpdateDevice_Mesh3D_tSELF_Mesh_3D_tSubroutine
UpdateDevice_PointsSELF_PointsSubroutine

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_RefinementIndicator2DSELF_RefinementIndicator_2DSubroutine
UpdateDevice_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine
UpdateDevice_RefinementIndicator3DSELF_RefinementIndicator_3DSubroutine
UpdateDevice_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine
UpdateDevice_Scalar1DSELF_Scalar_1DSubroutine
UpdateDevice_Scalar1DSELF_Scalar_1DSubroutine
UpdateDevice_Scalar1D_tSELF_Scalar_1D_tSubroutine
UpdateDevice_Scalar2DSELF_Scalar_2DSubroutine
UpdateDevice_Scalar2D_tSELF_Scalar_2D_tSubroutine
UpdateDevice_Scalar3DSELF_Scalar_3DSubroutine
UpdateDevice_Scalar3D_tSELF_Scalar_3D_tSubroutine
UpdateDevice_Tensor2DSELF_Tensor_2DSubroutine
UpdateDevice_Tensor2D_tSELF_Tensor_2D_tSubroutine
UpdateDevice_Tensor3DSELF_Tensor_3DSubroutine
UpdateDevice_Tensor3D_tSELF_Tensor_3D_tSubroutine
UpdateDevice_TwoPointVector2DSELF_TwoPointVector_2DSubroutine
UpdateDevice_TwoPointVector2D_tSELF_TwoPointVector_2D_tSubroutine
UpdateDevice_TwoPointVector3DSELF_TwoPointVector_3DSubroutine
UpdateDevice_TwoPointVector3D_tSELF_TwoPointVector_3D_tSubroutine
UpdateDevice_Vector2DSELF_Vector_2DSubroutine
UpdateDevice_Vector2D_tSELF_Vector_2D_tSubroutine
UpdateDevice_Vector3DSELF_Vector_3DSubroutine
UpdateDevice_Vector3D_tSELF_Vector_3D_tSubroutine
UpdateGRKSELF_ModelInterface
UpdateGRK2_DGModel1DSELF_DGModel1DSubroutine
UpdateGRK2_DGModel1D_tSELF_DGModel1D_tSubroutine
UpdateGRK2_DGModel2DSELF_DGModel2DSubroutine
UpdateGRK2_DGModel2D_tSELF_DGModel2D_tSubroutine
UpdateGRK2_DGModel3DSELF_DGModel3DSubroutine
UpdateGRK2_DGModel3D_tSELF_DGModel3D_tSubroutine
UpdateGRK3_DGModel1DSELF_DGModel1DSubroutine
UpdateGRK3_DGModel1D_tSELF_DGModel1D_tSubroutine
UpdateGRK3_DGModel2DSELF_DGModel2DSubroutine
UpdateGRK3_DGModel2D_tSELF_DGModel2D_tSubroutine
UpdateGRK3_DGModel3DSELF_DGModel3DSubroutine
UpdateGRK3_DGModel3D_tSELF_DGModel3D_tSubroutine
UpdateGRK4_DGModel1DSELF_DGModel1DSubroutine
UpdateGRK4_DGModel1D_tSELF_DGModel1D_tSubroutine
UpdateGRK4_DGModel2DSELF_DGModel2DSubroutine
UpdateGRK4_DGModel2D_tSELF_DGModel2D_tSubroutine
UpdateGRK4_DGModel3DSELF_DGModel3DSubroutine
UpdateGRK4_DGModel3D_tSELF_DGModel3D_tSubroutine
UpdateGRK_CalculateDSDt_gpuSELF_GPUInterfacesInterface
UpdateGRK_gpuSELF_GPUInterfacesInterface
UpdateHost_RefinementIndicator2DSELF_RefinementIndicator_2DSubroutine
UpdateHost_RefinementIndicator2D_tSELF_RefinementIndicator_2D_tSubroutine
UpdateHost_RefinementIndicator3DSELF_RefinementIndicator_3DSubroutine
UpdateHost_RefinementIndicator3D_tSELF_RefinementIndicator_3D_tSubroutine
UpdateHost_Scalar1DSELF_Scalar_1DSubroutine
UpdateHost_Scalar1DSELF_Scalar_1DSubroutine
UpdateHost_Scalar1D_tSELF_Scalar_1D_tSubroutine
UpdateHost_Scalar2DSELF_Scalar_2DSubroutine
UpdateHost_Scalar2D_tSELF_Scalar_2D_tSubroutine
UpdateHost_Scalar3DSELF_Scalar_3DSubroutine
UpdateHost_Scalar3D_tSELF_Scalar_3D_tSubroutine
UpdateHost_Tensor2DSELF_Tensor_2DSubroutine
UpdateHost_Tensor2D_tSELF_Tensor_2D_tSubroutine
UpdateHost_Tensor3DSELF_Tensor_3DSubroutine
UpdateHost_Tensor3D_tSELF_Tensor_3D_tSubroutine
UpdateHost_TwoPointVector2DSELF_TwoPointVector_2DSubroutine
UpdateHost_TwoPointVector2D_tSELF_TwoPointVector_2D_tSubroutine
UpdateHost_TwoPointVector3DSELF_TwoPointVector_3DSubroutine
UpdateHost_TwoPointVector3D_tSELF_TwoPointVector_3D_tSubroutine
UpdateHost_Vector2DSELF_Vector_2DSubroutine
UpdateHost_Vector2D_tSELF_Vector_2D_tSubroutine
UpdateHost_Vector3DSELF_Vector_3DSubroutine
UpdateHost_Vector3D_tSELF_Vector_3D_tSubroutine
UpdateSolutionSELF_ModelInterface
UpdateSolution_CalculateDSDt_gpuSELF_GPUInterfacesInterface
UpdateSolution_DGModel1DSELF_DGModel1DSubroutine

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_tSELF_DGModel1D_tSubroutine

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_DGModel2DSELF_DGModel2DSubroutine

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_tSELF_DGModel2D_tSubroutine

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_DGModel3DSELF_DGModel3DSubroutine

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_tSELF_DGModel3D_tSubroutine

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_gpuSELF_GPUInterfacesInterface
UploadGeometry_SEMHexSELF_Geometry_3DSubroutine

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).

Read more…
UploadGeometry_SEMQuadSELF_Geometry_2DSubroutine

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).

Read more…
UpperCaseSELF_SupportRoutinesFunction
VectorDivergence_2D_gpuSELF_GPUInterfacesInterface
VectorDivergence_3D_gpuSELF_GPUInterfacesInterface
VerifyGeometrySELF_AMRController_2DSubroutine

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.

Read more…
VerifyGeometrySELF_AMRController_3DSubroutine

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.

Read more…
VerifyMigrationSELF_AMRController_2DSubroutine

Cross-check a migrated window against the v1 allgathered global old field, bit for bit, over the whole window. Diagnostic only; gated by SELF_AMR_MIGRATE_VERIFY. Bit-identity is the design guarantee (the same numbers routed differently, then fed to the same operators in the same order), so any difference at all is a routing defect and stops the run.

VerifyMigrationSELF_AMRController_3DSubroutine

Cross-check a migrated window against the v1 allgathered global old field, bit for bit, over the whole window. Diagnostic only; gated by SELF_AMR_MIGRATE_VERIFY. Bit-identity is the design guarantee (the same numbers routed differently, then fed to the same operators in the same order), so any difference at all is a routing defect and stops the run.

VerifyWindowedApplySELF_AMRController_2DSubroutine

Apply the transfer plan a second time on the HOST, from the same migrated window the backend just used, and compare. SELF_AMR_TRANSFER_VERIFY=1.

Read more…
VerifyWindowedApplySELF_AMRController_3DSubroutine

Apply the transfer plan a second time on the HOST, from the same migrated window the backend just used, and compare. SELF_AMR_TRANSFER_VERIFY=1.

Read more…
Write_DGModel1D_tSELF_DGModel1D_tSubroutine
Write_DGModel2D_tSELF_DGModel2D_tSubroutine
Write_DGModel3D_tSELF_DGModel3D_tSubroutine
Write_Geometry1DSELF_Geometry_1DSubroutine
Write_Mesh1DSELF_Mesh_1DSubroutine
Write_Mesh2D_tSELF_Mesh_2D_tSubroutine
Write_Mesh3D_tSELF_Mesh_3D_tSubroutine
WriteArray_HDF5SELF_HDF5Interface
WriteArray_HDF5_int32_r1_serialSELF_HDF5Subroutine
WriteArray_HDF5_int32_r2_serialSELF_HDF5Subroutine
WriteArray_HDF5_int32_r3_serialSELF_HDF5Subroutine
WriteArray_HDF5_int32_r4_serialSELF_HDF5Subroutine
WriteArray_HDF5_real_r1_serialSELF_HDF5Subroutine
WriteArray_HDF5_real_r2_serialSELF_HDF5Subroutine
WriteArray_HDF5_real_r3_parallelSELF_HDF5Subroutine
WriteArray_HDF5_real_r3_serialSELF_HDF5Subroutine
WriteArray_HDF5_real_r4_parallelSELF_HDF5Subroutine
WriteArray_HDF5_real_r4_serialSELF_HDF5Subroutine
WriteArray_HDF5_real_r5_serialSELF_HDF5Subroutine
WriteAttribute_HDF5SELF_HDF5Interface
WriteAttribute_HDF5_int32SELF_HDF5Subroutine
WriteCharacter_HDF5SELF_HDF5Interface
WriteCharacter_HDF5_serialSELF_HDF5Subroutine
WriteHDF5_Lagrange_tSELF_Lagrange_tSubroutine
WriteHDF5_MetadataSELF_MetadataSubroutine

Writes the metadata to a HDF5 file using the fields : * /metadata/{group}/name/{varid} * /metadata/{group}/description/{varid} * /metadata/{group}/units/{varid}

Read more…
WriteHDF5_MPI_Scalar2D_tSELF_Scalar_2D_tSubroutine
WriteHDF5_MPI_Scalar3D_tSELF_Scalar_3D_tSubroutine
WriteHDF5_MPI_Vector2D_tSELF_Vector_2D_tSubroutine
WriteHDF5_MPI_Vector3D_tSELF_Vector_3D_tSubroutine
WriteHDF5_Scalar1D_tSELF_Scalar_1D_tSubroutine
WriteHDF5_Scalar2D_tSELF_Scalar_2D_tSubroutine
WriteHDF5_Scalar3D_tSELF_Scalar_3D_tSubroutine
WriteHDF5_Vector2D_tSELF_Vector_2D_tSubroutine
WriteHDF5_Vector3D_tSELF_Vector_3D_tSubroutine
WriteModelSELF_ModelInterface
WriteTecplotSELF_ModelInterface
WriteTecplot_DGModel1D_tSELF_DGModel1D_tSubroutine
WriteTecplot_DGModel2D_tSELF_DGModel2D_tSubroutine
WriteTecplot_DGModel3D_tSELF_DGModel3D_tSubroutine
WriteTecplot_SEMHexSELF_Geometry_3DSubroutine
WriteTecplot_SEMQuadSELF_Geometry_2DSubroutine
call~~graph~~CallGraph proc~init_scalar3d Init_Scalar3D proc~ensuredevicebuffers_scalar3d EnsureDeviceBuffers_Scalar3D proc~init_scalar3d->proc~ensuredevicebuffers_scalar3d interface~writemodel WriteModel proc~prolongtochildren ProlongToChildren tmp1 tmp1 proc~prolongtochildren->tmp1 tmp2 tmp2 proc~prolongtochildren->tmp2 proc~setmetadata_burgers1d_t SetMetadata_Burgers1D_t proc~evalscalar_2d_dev_points EvalScalar_2D_dev_Points interface~evalscalarpoints_2d_gpu EvalScalarPoints_2D_gpu proc~evalscalar_2d_dev_points->interface~evalscalarpoints_2d_gpu proc~resolveenergyweights ResolveEnergyWeights proc~init_semquad Init_SEMQuad proc~balance2to1_quadtreemesh2d Balance2to1_QuadTreeMesh2D interface~twopointfluxmethod_esatmo3d_gpu twopointfluxmethod_esatmo3d_gpu proc~setnumberofvariables_lineareuler2d_pml_t SetNumberOfVariables_LinearEuler2D_PML_t proc~free_ecadvection2d Free_ECAdvection2D interface~hipfree hipFree proc~free_ecadvection2d->interface~hipfree proc~gpucheck gpuCheck proc~free_ecadvection2d->proc~gpucheck proc~free_ecdgmodel2d_t Free_ECDGModel2D_t proc~free_ecadvection2d->proc~free_ecdgmodel2d_t interface~scalargradient_3d_gpu ScalarGradient_3D_gpu proc~entropy_func_esatmo3d_t entropy_func_ESAtmo3D_t proc~copyelements_semquad CopyElements_SEMQuad proc~writetecplot_dgmodel1d_t WriteTecplot_DGModel1D_t proc~newunit newunit proc~writetecplot_dgmodel1d_t->proc~newunit proc~legendregausslobatto LegendreGaussLobatto proc~legendreqandl LegendreQandL proc~legendregausslobatto->proc~legendreqandl proc~entropy_func_esatmo2d_t entropy_func_ESAtmo2D_t proc~boundaryflux_lineareuler2d_pml boundaryflux_LinearEuler2D_PML interface~boundaryflux_lineareuler2d_pml_gpu boundaryflux_LinearEuler2D_PML_gpu proc~boundaryflux_lineareuler2d_pml->interface~boundaryflux_lineareuler2d_pml_gpu proc~resize_semquad Resize_SEMQuad interface~writecharacter_hdf5 WriteCharacter_HDF5 proc~writecharacter_hdf5_serial WriteCharacter_HDF5_serial interface~writecharacter_hdf5->proc~writecharacter_hdf5_serial interface~hbc3d_radiation_lineareuler3d_gpu hbc3d_radiation_lineareuler3d_gpu proc~averagesides_scalar3d AverageSides_Scalar3D interface~average_gpu Average_gpu proc~averagesides_scalar3d->interface~average_gpu interface~boundaryflux_advection_diffusion_1d_gpu boundaryflux_advection_diffusion_1d_gpu proc~generatefrommesh_semquad GenerateFromMesh_SEMQuad proc~free_dgmodel3d_t Free_DGModel3D_t interface~self_timeintegrator SELF_timeIntegrator interface~sourcemethod_lineareuler2d_gpu sourcemethod_LinearEuler2D_gpu proc~applytransferplan_dgmodel2d_t ApplyTransferPlan_DGModel2D_t proc~applytransferplanrange~2 ApplyTransferPlanRange proc~applytransferplan_dgmodel2d_t->proc~applytransferplanrange~2 proc~applytransferplanwindow~2 ApplyTransferPlanWindow proc~applytransferplan_dgmodel2d_t->proc~applytransferplanwindow~2 interface~pbc3d_nostress_esatmo3d_gpu pbc3d_nostress_esatmo3d_gpu proc~applytransferplan_dgmodel2d ApplyTransferPlan_DGModel2D proc~applytransferplan_dgmodel2d->proc~applytransferplan_dgmodel2d_t proc~applytransferplan_dgmodel2d->interface~hipfree proc~applytransferplan_dgmodel2d->proc~gpucheck interface~hipmemcpy hipMemcpy proc~applytransferplan_dgmodel2d->interface~hipmemcpy interface~hipmalloc hipMalloc proc~applytransferplan_dgmodel2d->interface~hipmalloc interface~transfersolution_2d_gpu TransferSolution_2D_gpu proc~applytransferplan_dgmodel2d->interface~transfersolution_2d_gpu proc~setsolutionfromchar_dgmodel1d_t SetSolutionFromChar_DGModel1D_t proc~uniformstructuredmesh_mesh2d_t UniformStructuredMesh_Mesh2D_t interface~mappedtwopointvectordivergence_3d_gpu MappedTwoPointVectorDivergence_3D_gpu proc~init_refinementindicator2d Init_RefinementIndicator2D proc~init_refinementindicator2d->proc~gpucheck proc~init_refinementindicator2d->interface~hipmalloc proc~init_refinementindicator2d_t Init_RefinementIndicator2D_t proc~init_refinementindicator2d->proc~init_refinementindicator2d_t proc~entropy_func_burgers1d_t entropy_func_Burgers1D_t proc~gridinterp_scalar2d_t GridInterp_Scalar2D_t proc~riemannflux1d_advection_diffusion_1d_t riemannflux1d_advection_diffusion_1d_t proc~adaptfromflags_quadtreemesh2d AdaptFromFlags_QuadTreeMesh2D proc~updategrk4_dgmodel2d UpdateGRK4_DGModel2D interface~updategrk_gpu UpdateGRK_gpu proc~updategrk4_dgmodel2d->interface~updategrk_gpu proc~boundaryflux_dgmodel3d_t BoundaryFlux_DGModel3D_t proc~generatefromnodecoords_semquad GenerateFromNodeCoords_SEMQuad interface~writearray_hdf5 WriteArray_HDF5 proc~writearray_hdf5_real_r5_serial WriteArray_HDF5_real_r5_serial interface~writearray_hdf5->proc~writearray_hdf5_real_r5_serial proc~writearray_hdf5_int32_r3_serial WriteArray_HDF5_int32_r3_serial interface~writearray_hdf5->proc~writearray_hdf5_int32_r3_serial proc~writearray_hdf5_int32_r1_serial WriteArray_HDF5_int32_r1_serial interface~writearray_hdf5->proc~writearray_hdf5_int32_r1_serial proc~writearray_hdf5_int32_r4_serial WriteArray_HDF5_int32_r4_serial interface~writearray_hdf5->proc~writearray_hdf5_int32_r4_serial proc~writearray_hdf5_int32_r2_serial WriteArray_HDF5_int32_r2_serial interface~writearray_hdf5->proc~writearray_hdf5_int32_r2_serial proc~writearray_hdf5_real_r3_parallel WriteArray_HDF5_real_r3_parallel interface~writearray_hdf5->proc~writearray_hdf5_real_r3_parallel proc~writearray_hdf5_real_r2_serial WriteArray_HDF5_real_r2_serial interface~writearray_hdf5->proc~writearray_hdf5_real_r2_serial proc~writearray_hdf5_real_r3_serial WriteArray_HDF5_real_r3_serial interface~writearray_hdf5->proc~writearray_hdf5_real_r3_serial proc~writearray_hdf5_real_r1_serial WriteArray_HDF5_real_r1_serial interface~writearray_hdf5->proc~writearray_hdf5_real_r1_serial proc~writearray_hdf5_real_r4_parallel WriteArray_HDF5_real_r4_parallel interface~writearray_hdf5->proc~writearray_hdf5_real_r4_parallel proc~writearray_hdf5_real_r4_serial WriteArray_HDF5_real_r4_serial interface~writearray_hdf5->proc~writearray_hdf5_real_r4_serial proc~free_transferplan3d Free_TransferPlan3D interface~diracdelta_2d_gpu DiracDelta_2D_gpu proc~rebuildleaves_octreemesh3d RebuildLeaves_OctreeMesh3D proc~gid2eid gid2eid proc~elementid elementid proc~gid2eid->proc~elementid interface~boundaryflux_linearshallowwater2d_gpu boundaryflux_LinearShallowWater2D_gpu proc~calculatetendency_esatmo2d CalculateTendency_ESAtmo2D interface~calculatedsdt_gpu CalculateDSDt_gpu proc~calculatetendency_esatmo2d->interface~calculatedsdt_gpu interface~ecdgsurfacecontribution_2d_gpu ECDGSurfaceContribution_2D_gpu proc~calculatetendency_esatmo2d->interface~ecdgsurfacecontribution_2d_gpu interface~accumulatefield_gpu AccumulateField_gpu proc~calculatetendency_esatmo2d->interface~accumulatefield_gpu proc~boundaryflux_dgmodel1d_t BoundaryFlux_DGModel1D_t proc~averagesides_scalar1d_t AverageSides_Scalar1D_t interface~readmodel ReadModel proc~init_semhex Init_SEMHex proc~recommendedtimestep_amrcontroller3d RecommendedTimeStep_AMRController3D proc~mappeddgderivative_mappedscalar1d MappedDGDerivative_MappedScalar1D interface~jacobianweight_1d_gpu JacobianWeight_1D_gpu proc~mappeddgderivative_mappedscalar1d->interface~jacobianweight_1d_gpu interface~dgderivative_boundarycontribution_1d_gpu DGDerivative_BoundaryContribution_1D_gpu proc~mappeddgderivative_mappedscalar1d->interface~dgderivative_boundarycontribution_1d_gpu matrixop_1d_gpu matrixop_1d_gpu proc~mappeddgderivative_mappedscalar1d->matrixop_1d_gpu proc~setmetadata_lineareuler2d_pml_t SetMetadata_LinearEuler2D_PML_t proc~setmetadata_lineareuler2d_t SetMetadata_LinearEuler2D_t proc~setmetadata_lineareuler2d_pml_t->proc~setmetadata_lineareuler2d_t proc~setnumberofvariables_model SetNumberOfVariables_Model proc~resize_mappedvector2d Resize_MappedVector2D proc~resize_mappedvector2d->interface~hipfree proc~resize_mappedvector2d->proc~gpucheck proc~resize_mappedvector2d_t Resize_MappedVector2D_t proc~resize_mappedvector2d->proc~resize_mappedvector2d_t ensuredevicebuffers_vector2d ensuredevicebuffers_vector2d proc~resize_mappedvector2d->ensuredevicebuffers_vector2d proc~comparearray CompareArray proc~evalscalar_3d_dev_points EvalScalar_3D_dev_Points interface~evalscalarpoints_3d_gpu EvalScalarPoints_3D_gpu proc~evalscalar_3d_dev_points->interface~evalscalarpoints_3d_gpu interface~sourcemethod_esatmo2d_gpu sourcemethod_esatmo2d_gpu proc~subdividenodecoords~2 SubdivideNodeCoords proc~init_vector2d_t Init_Vector2D_t equationparser equationparser proc~init_vector2d_t->equationparser proc~mappeddggradient_mappedscalar2d MappedDGGradient_MappedScalar2D interface~vectordivergence_2d_gpu VectorDivergence_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~vectordivergence_2d_gpu interface~jacobianweight_2d_gpu JacobianWeight_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~jacobianweight_2d_gpu interface~dg_boundarycontribution_2d_gpu DG_BoundaryContribution_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~dg_boundarycontribution_2d_gpu interface~contravariantweight_2d_gpu ContravariantWeight_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~contravariantweight_2d_gpu interface~normalweight_2d_gpu NormalWeight_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~normalweight_2d_gpu proc~updatehost_tensor2d UpdateHost_Tensor2D proc~updatehost_tensor2d->proc~gpucheck proc~updatehost_tensor2d->interface~hipmemcpy interface~sourcemethod_lineareuler2d_pml_gpu sourcemethod_LinearEuler2D_PML_gpu proc~postoldwindowexchange PostOldWindowExchange proc~ownedrun OwnedRun proc~postoldwindowexchange->proc~ownedrun mpi_irecv mpi_irecv proc~postoldwindowexchange->mpi_irecv mpi_isend mpi_isend proc~postoldwindowexchange->mpi_isend proc~recommendedtimestep_amrcontroller2d RecommendedTimeStep_AMRController2D proc~copyelements_semhex CopyElements_SEMHex proc~maparrays_tensor2d_t MapArrays_Tensor2D_t proc~ensurepool EnsurePool proc~maparrays_tensor2d_t->proc~ensurepool proc~resetboundaryconditiontype_mesh3d_t ResetBoundaryConditionType_Mesh3D_t proc~calculatetendency_ecdgmodel3d CalculateTendency_ECDGModel3D proc~calculatetendency_ecdgmodel3d->interface~calculatedsdt_gpu interface~ecdgsurfacecontribution_3d_gpu ECDGSurfaceContribution_3D_gpu proc~calculatetendency_ecdgmodel3d->interface~ecdgsurfacecontribution_3d_gpu proc~setequation_dataobj SetEquation_DataObj proc~setequation_dataobj->equationparser proc~setenergyweights_refinementindicator3d_t SetEnergyWeights_RefinementIndicator3D_t proc~resize_semhex Resize_SEMHex proc~updatedevice_mesh2d UpdateDevice_Mesh2D proc~updatedevice_mesh2d->proc~gpucheck proc~updatedevice_mesh2d->interface~hipmemcpy proc~updatedevice_mesh2d->interface~hipmalloc proc~init_geometry1d Init_Geometry1D interface~hipmalloc~2 hipMalloc interface~updategrk_calculatedsdt_gpu UpdateGRK_CalculateDSDt_gpu proc~read_dgmodel1d_t Read_DGModel1D_t interface~open_hdf5 Open_HDF5 proc~read_dgmodel1d_t->interface~open_hdf5 interface~readarray_hdf5 ReadArray_HDF5 proc~read_dgmodel1d_t->interface~readarray_hdf5 proc~close_hdf5 Close_HDF5 proc~read_dgmodel1d_t->proc~close_hdf5 proc~updategrk3_dgmodel2d UpdateGRK3_DGModel2D proc~updategrk3_dgmodel2d->interface~updategrk_gpu proc~maparrays_vector3d_t MapArrays_Vector3D_t proc~maparrays_vector3d_t->proc~ensurepool proc~sourcemethod_dgmodel1d_t sourcemethod_DGModel1D_t proc~setenergyweights_refinementindicator2d_t SetEnergyWeights_RefinementIndicator2D_t proc~movenext MoveNext proc~init_amrcontroller2d Init_AMRController2D proc~initforestfromdecomposedmesh InitForestFromDecomposedMesh proc~init_amrcontroller2d->proc~initforestfromdecomposedmesh proc~calculatesolutiongradient_dgmodel1d_t CalculateSolutionGradient_DGModel1D_t proc~resize_vector3d Resize_Vector3D proc~resize_vector3d_t Resize_Vector3D_t proc~resize_vector3d->proc~resize_vector3d_t proc~ensuredevicebuffers_vector3d EnsureDeviceBuffers_Vector3D proc~resize_vector3d->proc~ensuredevicebuffers_vector3d interface~refinementindicator_2d_gpu RefinementIndicator_2D_gpu proc~generatefrommesh_geometry1d GenerateFromMesh_Geometry1D proc~mortarexchange_mappedscalar2d_t MortarExchange_MappedScalar2D_t proc~init_octreemesh3d Init_OctreeMesh3D proc~updatehost_scalar1d~2 UpdateHost_Scalar1D proc~updatehost_scalar1d~2->proc~gpucheck proc~updatehost_scalar1d~2->interface~hipmemcpy proc~free_geometry1d Free_Geometry1D proc~free_refinementindicator2d Free_RefinementIndicator2D proc~free_refinementindicator2d->interface~hipfree proc~free_refinementindicator2d->proc~gpucheck proc~free_refinementindicator2d_t Free_RefinementIndicator2D_t proc~free_refinementindicator2d->proc~free_refinementindicator2d_t proc~calculatesolutiongradient_dgmodel2d CalculateSolutionGradient_DGModel2D proc~quadrantmatches3d QuadrantMatches3D proc~flipfacecoords3d FlipFaceCoords3D proc~quadrantmatches3d->proc~flipfacecoords3d proc~bilinearfacepoint3d BilinearFacePoint3D proc~quadrantmatches3d->proc~bilinearfacepoint3d proc~additionalinit_esatmo3d AdditionalInit_ESAtmo3D proc~additionalinit_esatmo3d_t AdditionalInit_ESAtmo3D_t proc~additionalinit_esatmo3d->proc~additionalinit_esatmo3d_t proc~hbc3d_nonormalflow_ecadvection3d hbc3d_NoNormalFlow_ECAdvection3D proc~updatehost_vector2d UpdateHost_Vector2D proc~updatehost_vector2d->proc~gpucheck proc~updatehost_vector2d->interface~hipmemcpy proc~buildtransferplan BuildTransferPlan h5dclose_f h5dclose_f proc~writecharacter_hdf5_serial->h5dclose_f h5dcreate_f h5dcreate_f proc~writecharacter_hdf5_serial->h5dcreate_f h5screate_simple_f h5screate_simple_f proc~writecharacter_hdf5_serial->h5screate_simple_f h5tcopy_f h5tcopy_f proc~writecharacter_hdf5_serial->h5tcopy_f h5sclose_f h5sclose_f proc~writecharacter_hdf5_serial->h5sclose_f h5dwrite_vl_f h5dwrite_vl_f proc~writecharacter_hdf5_serial->h5dwrite_vl_f h5tset_strpad_f h5tset_strpad_f proc~writecharacter_hdf5_serial->h5tset_strpad_f proc~maxlevel_octreemesh3d MaxLevel_OctreeMesh3D proc~init_twopointvector3d_t Init_TwoPointVector3D_t proc~init_twopointvector3d_t->equationparser proc~diffusiveboundaryflux_esatmo2d_t DiffusiveBoundaryFlux_ESAtmo2D_t ensuredevicebuffer ensuredevicebuffer proc~ensuredevicebuffers_scalar3d->ensuredevicebuffer proc~boundaryflux_dgmodel2d BoundaryFlux_DGModel2D proc~boundaryflux_dgmodel2d->proc~gpucheck proc~boundaryflux_dgmodel2d->interface~hipmemcpy proc~fluxmethod_lineareuler2d_pml fluxmethod_LinearEuler2D_PML interface~fluxmethod_lineareuler2d_pml_gpu fluxmethod_LinearEuler2D_PML_gpu proc~fluxmethod_lineareuler2d_pml->interface~fluxmethod_lineareuler2d_pml_gpu proc~log_mean~2 log_mean proc~verifymigration~2 VerifyMigration proc~allgatherperelemreals~2 AllgatherPerElemReals proc~verifymigration~2->proc~allgatherperelemreals~2 proc~init_twopointvector2d Init_TwoPointVector2D proc~init_twopointvector2d->proc~gpucheck proc~init_twopointvector2d->interface~hipmalloc proc~init_twopointvector2d->equationparser proc~resize_tensor3d_t Resize_Tensor3D_t proc~gridinterp_scalar3d GridInterp_Scalar3D interface~gridinterp_3d_gpu GridInterp_3D_gpu proc~gridinterp_scalar3d->interface~gridinterp_3d_gpu proc~additionalinit_advection_diffusion_3d_t AdditionalInit_advection_diffusion_3d_t proc~finalizempiexchangeasync FinalizeMPIExchangeAsync mpi_waitall mpi_waitall proc~finalizempiexchangeasync->mpi_waitall proc~free_vector3d Free_Vector3D proc~free_vector3d->interface~hipfree proc~free_vector3d->proc~gpucheck proc~free_vector3d_t Free_Vector3D_t proc~free_vector3d->proc~free_vector3d_t proc~adapt_amrcontroller3d Adapt_AMRController3D proc~adapt_amrcontroller3d->proc~buildtransferplan proc~adapt_amrcontroller3d->proc~verifymigration~2 proc~allgatherperelemints~2 AllgatherPerElemInts proc~adapt_amrcontroller3d->proc~allgatherperelemints~2 proc~verifywindowedapply~2 VerifyWindowedApply proc~adapt_amrcontroller3d->proc~verifywindowedapply~2 proc~applytransferplan_dgmodel3d_t ApplyTransferPlan_DGModel3D_t proc~adapt_amrcontroller3d->proc~applytransferplan_dgmodel3d_t proc~adapt_amrcontroller3d->proc~allgatherperelemreals~2 proc~migrateoldwindow_dgmodel3d_t MigrateOldWindow_DGModel3D_t proc~adapt_amrcontroller3d->proc~migrateoldwindow_dgmodel3d_t proc~planwindows~2 PlanWindows proc~adapt_amrcontroller3d->proc~planwindows~2 proc~resolvegeomdebug~2 ResolveGeomDebug proc~adapt_amrcontroller3d->proc~resolvegeomdebug~2 proc~downloadoldwindow_dgmodel3d_t DownloadOldWindow_DGModel3D_t proc~adapt_amrcontroller3d->proc~downloadoldwindow_dgmodel3d_t proc~emitmesh~2 EmitMesh proc~adapt_amrcontroller3d->proc~emitmesh~2 proc~updategrk3_dgmodel3d UpdateGRK3_DGModel3D proc~updategrk3_dgmodel3d->interface~updategrk_calculatedsdt_gpu proc~setinteriorfromequation_mappedscalar3d SetInteriorFromEquation_MappedScalar3D proc~setinteriorfromequation_mappedscalar3d->proc~gpucheck proc~setinteriorfromequation_mappedscalar3d->interface~hipmemcpy proc~flux1d_burgers1d_t flux1d_Burgers1D_t interface~contravariantprojection_2d_gpu ContravariantProjection_2D_gpu proc~entropy_func_lineareuler2d_pml_t entropy_func_LinearEuler2D_PML_t interface~hipsetdevice hipSetDevice proc~readarray_hdf5_real_r2_parallel ReadArray_HDF5_real_r2_parallel h5pclose_f h5pclose_f proc~readarray_hdf5_real_r2_parallel->h5pclose_f h5dopen_f h5dopen_f proc~readarray_hdf5_real_r2_parallel->h5dopen_f h5pset_dxpl_mpio_f h5pset_dxpl_mpio_f proc~readarray_hdf5_real_r2_parallel->h5pset_dxpl_mpio_f h5pcreate_f h5pcreate_f proc~readarray_hdf5_real_r2_parallel->h5pcreate_f proc~readarray_hdf5_real_r2_parallel->h5dclose_f proc~readarray_hdf5_real_r2_parallel->h5screate_simple_f h5sselect_hyperslab_f h5sselect_hyperslab_f proc~readarray_hdf5_real_r2_parallel->h5sselect_hyperslab_f h5dget_space_f h5dget_space_f proc~readarray_hdf5_real_r2_parallel->h5dget_space_f h5dread_f h5dread_f proc~readarray_hdf5_real_r2_parallel->h5dread_f proc~readarray_hdf5_real_r2_parallel->h5sclose_f h5tclose_f h5tclose_f proc~readarray_hdf5_real_r2_parallel->h5tclose_f h5dget_type_f h5dget_type_f proc~readarray_hdf5_real_r2_parallel->h5dget_type_f interface~boundaryflux_lineareuler2d_gpu boundaryflux_LinearEuler2D_gpu proc~lowstoragerk2_timeintegrator LowStorageRK2_timeIntegrator proc~setgradientboundarycondition_dgmodel1d_t setgradientboundarycondition_DGModel1D_t proc~entropy_func_ecadvection3d_t entropy_func_ECAdvection3D_t interface~twopointfluxmethod_ecadvection2d_gpu twopointfluxmethod_ecadvection2d_gpu proc~mpiexchangeasync_mappedscalar3d_t MPIExchangeAsync_MappedScalar3D_t proc~mpiexchangeasync_mappedscalar3d_t->mpi_irecv proc~mpiexchangeasync_mappedscalar3d_t->mpi_isend proc~updatedevice_scalar2d_t UpdateDevice_Scalar2D_t proc~writehdf5_scalar3d_t WriteHDF5_Scalar3D_t proc~writehdf5_scalar3d_t->interface~writearray_hdf5 proc~creategroup_hdf5 CreateGroup_HDF5 proc~writehdf5_scalar3d_t->proc~creategroup_hdf5 proc~fluxmethod_dgmodel2d_t fluxmethod_DGModel2D_t proc~updatesolution_dgmodel1d_t UpdateSolution_DGModel1D_t proc~resolveenergyscale ResolveEnergyScale mpi_allreduce mpi_allreduce proc~resolveenergyscale->mpi_allreduce proc~associategeometry_mappedscalar1d_t AssociateGeometry_MappedScalar1D_t interface~hbc2d_nonormalflow_esatmo2d_gpu hbc2d_nonormalflow_esatmo2d_gpu proc~updatehost_scalar2d_t UpdateHost_Scalar2D_t proc~mappedgradient_mappedscalar2d MappedGradient_MappedScalar2D proc~mappedgradient_mappedscalar2d->interface~vectordivergence_2d_gpu proc~mappedgradient_mappedscalar2d->interface~jacobianweight_2d_gpu proc~mappedgradient_mappedscalar2d->interface~contravariantweight_2d_gpu proc~verifymigration VerifyMigration proc~allgatherperelemreals AllgatherPerElemReals proc~verifymigration->proc~allgatherperelemreals proc~writearray_hdf5_real_r5_serial->h5dclose_f h5dwrite_f h5dwrite_f proc~writearray_hdf5_real_r5_serial->h5dwrite_f proc~writearray_hdf5_real_r5_serial->h5dcreate_f proc~writearray_hdf5_real_r5_serial->h5screate_simple_f proc~writearray_hdf5_real_r5_serial->h5sclose_f proc~updatedevice_tensor2d UpdateDevice_Tensor2D proc~updatedevice_tensor2d->proc~gpucheck proc~updatedevice_tensor2d->interface~hipmemcpy proc~riemannflux2d_advection_diffusion_2d_t riemannflux2d_advection_diffusion_2d_t h5lexists_f h5lexists_f proc~creategroup_hdf5->h5lexists_f h5gclose_f h5gclose_f proc~creategroup_hdf5->h5gclose_f h5gcreate_f h5gcreate_f proc~creategroup_hdf5->h5gcreate_f proc~getbcforid GetBCForID proc~resize_mappedvector3d Resize_MappedVector3D proc~resize_mappedvector3d->interface~hipfree proc~resize_mappedvector3d->proc~gpucheck proc~resize_mappedvector3d_t Resize_MappedVector3D_t proc~resize_mappedvector3d->proc~resize_mappedvector3d_t ensuredevicebuffers_vector3d ensuredevicebuffers_vector3d proc~resize_mappedvector3d->ensuredevicebuffers_vector3d proc~matchfaces3d MatchFaces3D proc~matchfaces3d->proc~flipfacecoords3d proc~matchfaces3d->proc~bilinearfacepoint3d proc~diffusivefluxmethod_esatmo3d_t DiffusiveFluxMethod_ESAtmo3D_t interface~writetecplot WriteTecplot mpi_allgatherv mpi_allgatherv proc~allgatherperelemints~2->mpi_allgatherv proc~locatepoints_2d_points_t LocatePoints_2D_Points_t proc~buildelementbboxes_2d BuildElementBBoxes_2D proc~locatepoints_2d_points_t->proc~buildelementbboxes_2d proc~clampcell ClampCell proc~locatepoints_2d_points_t->proc~clampcell proc~newtoninverse_2d NewtonInverse_2D proc~locatepoints_2d_points_t->proc~newtoninverse_2d proc~calculatelagrangepolynomials CalculateLagrangePolynomials interface~almostequal AlmostEqual proc~calculatelagrangepolynomials->interface~almostequal proc~readarray_hdf5_real_r3_serial ReadArray_HDF5_real_r3_serial proc~readarray_hdf5_real_r3_serial->h5dopen_f proc~readarray_hdf5_real_r3_serial->h5dclose_f proc~readarray_hdf5_real_r3_serial->h5dread_f h5kind_to_type h5kind_to_type proc~readarray_hdf5_real_r3_serial->h5kind_to_type proc~init_lagrange Init_Lagrange proc~uniformpoints UniformPoints proc~init_lagrange->proc~uniformpoints proc~init_lagrange->proc~gpucheck proc~init_lagrange->interface~hipmemcpy proc~chebyshevquadrature ChebyshevQuadrature proc~init_lagrange->proc~chebyshevquadrature proc~gpuavailable GPUAvailable proc~init_lagrange->proc~gpuavailable proc~init_lagrange->interface~hipmalloc proc~legendrequadrature LegendreQuadrature proc~init_lagrange->proc~legendrequadrature proc~hbc3d_nonormalflow_esatmo3d_gpu_wrapper hbc3d_NoNormalFlow_ESAtmo3D_GPU_wrapper interface~hbc3d_nonormalflow_esatmo3d_gpu hbc3d_nonormalflow_esatmo3d_gpu proc~hbc3d_nonormalflow_esatmo3d_gpu_wrapper->interface~hbc3d_nonormalflow_esatmo3d_gpu proc~sourcemethod_linearshallowwater2d_t sourcemethod_LinearShallowWater2D_t interface~hipmemset hipMemset proc~updatedevice_tensor3d_t UpdateDevice_Tensor3D_t proc~sourcemethod_lineareuler3d_t sourcemethod_LinearEuler3D_t proc~resize_scalar3d Resize_Scalar3D proc~resize_scalar3d->proc~ensuredevicebuffers_scalar3d proc~resize_scalar3d_t Resize_Scalar3D_t proc~resize_scalar3d->proc~resize_scalar3d_t proc~readarray_hdf5_int32_r2_parallel ReadArray_HDF5_int32_r2_parallel proc~readarray_hdf5_int32_r2_parallel->h5pclose_f proc~readarray_hdf5_int32_r2_parallel->h5dopen_f proc~readarray_hdf5_int32_r2_parallel->h5pset_dxpl_mpio_f proc~readarray_hdf5_int32_r2_parallel->h5pcreate_f proc~readarray_hdf5_int32_r2_parallel->h5dclose_f proc~readarray_hdf5_int32_r2_parallel->h5screate_simple_f proc~readarray_hdf5_int32_r2_parallel->h5sselect_hyperslab_f proc~readarray_hdf5_int32_r2_parallel->h5dget_space_f proc~readarray_hdf5_int32_r2_parallel->h5dread_f proc~readarray_hdf5_int32_r2_parallel->h5sclose_f proc~readarray_hdf5_int32_r2_parallel->h5tclose_f proc~readarray_hdf5_int32_r2_parallel->h5dget_type_f proc~init_scalar2d Init_Scalar2D proc~ensuredevicebuffers_scalar2d EnsureDeviceBuffers_Scalar2D proc~init_scalar2d->proc~ensuredevicebuffers_scalar2d proc~sethydrostaticbalance_esatmo3d_t SetHydrostaticBalance_ESAtmo3D_t proc~updatedevice_refinementindicator2d_t UpdateDevice_RefinementIndicator2D_t proc~write_dgmodel3d_t Write_DGModel3D_t proc~write_dgmodel3d_t->proc~creategroup_hdf5 proc~write_dgmodel3d_t->interface~open_hdf5 proc~write_dgmodel3d_t->proc~close_hdf5 proc~mappeddgdivergence_mappedvector2d_t MappedDGDivergence_MappedVector2D_t proc~regrid_dgmodel3d_t Regrid_DGModel3D_t proc~updatedevice_scalar1d UpdateDevice_Scalar1D proc~updatedevice_scalar1d->proc~gpucheck proc~updatedevice_scalar1d->interface~hipmemcpy proc~free_domaindecomposition Free_DomainDecomposition proc~releasempi ReleaseMPI proc~free_domaindecomposition->proc~releasempi gpucheck gpucheck proc~free_domaindecomposition->gpucheck hipfree hipfree proc~free_domaindecomposition->hipfree proc~updatedevice_vector2d UpdateDevice_Vector2D proc~updatedevice_vector2d->proc~gpucheck proc~updatedevice_vector2d->interface~hipmemcpy proc~diracdelta_2d_points DiracDelta_2D_Points proc~diracdelta_2d_points->interface~diracdelta_2d_gpu proc~free_dgmodel1d Free_DGModel1D proc~free_dgmodel1d->interface~hipfree proc~free_dgmodel1d->proc~gpucheck proc~free_dgmodel1d_t Free_DGModel1D_t proc~free_dgmodel1d->proc~free_dgmodel1d_t interface~hbc2d_nonormalflow_linearshallowwater2d_gpu hbc2d_nonormalflow_linearshallowwater2d_gpu proc~writehdf5_scalar1d_t WriteHDF5_Scalar1D_t proc~writehdf5_scalar1d_t->interface~writearray_hdf5 proc~writehdf5_scalar1d_t->proc~creategroup_hdf5 proc~sourcemethod_esatmo2d_t SourceMethod_ESAtmo2D_t proc~sourcemethod_esatmo2d_t->proc~log_mean~2 proc~buildhaloexchange_domaindecomposition BuildHaloExchange_DomainDecomposition proc~halokeysort HaloKeySort proc~buildhaloexchange_domaindecomposition->proc~halokeysort hipmemcpy hipmemcpy proc~buildhaloexchange_domaindecomposition->hipmemcpy proc~buildhaloexchange_domaindecomposition->gpucheck hipmalloc hipmalloc proc~buildhaloexchange_domaindecomposition->hipmalloc proc~sourcemethod_esatmo3d_t SourceMethod_ESAtmo3D_t proc~log_mean log_mean proc~sourcemethod_esatmo3d_t->proc~log_mean proc~calculateentropy_dgmodel1d_t CalculateEntropy_DGModel1D_t proc~writearray_hdf5_int32_r3_serial->h5dclose_f proc~writearray_hdf5_int32_r3_serial->h5dwrite_f proc~writearray_hdf5_int32_r3_serial->h5dcreate_f proc~writearray_hdf5_int32_r3_serial->h5screate_simple_f proc~writearray_hdf5_int32_r3_serial->h5sclose_f proc~ensuredevicebuffer EnsureDeviceBuffer proc~ensuredevicebuffer->interface~hipmalloc~2 proc~ensuredevicebuffer->interface~hipmemset interface~hipfree~2 hipFree proc~ensuredevicebuffer->interface~hipfree~2 proc~gpucheck~2 gpuCheck proc~ensuredevicebuffer->proc~gpucheck~2 interface~updategrk UpdateGRK proc~setrelativeenergyfloor_refinementindicator3d_t SetRelativeEnergyFloor_RefinementIndicator3D_t interface~hipmemgetinfo hipMemGetInfo proc~hbc2d_nonormalflow_lineareuler2d_gpu_wrapper hbc2d_NoNormalFlow_LinearEuler2D_GPU_wrapper interface~hbc2d_nonormalflow_lineareuler2d_gpu hbc2d_nonormalflow_lineareuler2d_gpu proc~hbc2d_nonormalflow_lineareuler2d_gpu_wrapper->interface~hbc2d_nonormalflow_lineareuler2d_gpu proc~invflip3d invFlip3D proc~sideexchangestart_mappedscalar3d SideExchangeStart_MappedScalar3D interface~sideexchange_3d_gpu SideExchange_3D_gpu proc~sideexchangestart_mappedscalar3d->interface~sideexchange_3d_gpu proc~sideexchangestart_mappedscalar3d->proc~gpucheck proc~sideexchangestart_mappedscalar3d->interface~hipmalloc interface~halopack_3d_gpu HaloPack_3D_gpu proc~sideexchangestart_mappedscalar3d->interface~halopack_3d_gpu mpi_recv_init mpi_recv_init proc~sideexchangestart_mappedscalar3d->mpi_recv_init mpi_request_free mpi_request_free proc~sideexchangestart_mappedscalar3d->mpi_request_free mpi_startall mpi_startall proc~sideexchangestart_mappedscalar3d->mpi_startall mpi_send_init mpi_send_init proc~sideexchangestart_mappedscalar3d->mpi_send_init proc~subdividenodecoords SubdivideNodeCoords proc~boundaryinterp_scalar1d_t BoundaryInterp_Scalar1D_t interface~fluxmethod_lineareuler3d_gpu fluxmethod_LinearEuler3D_gpu proc~free_scalar3d Free_Scalar3D proc~free_scalar3d->interface~hipfree proc~free_scalar3d->proc~gpucheck proc~free_scalar3d_t Free_Scalar3D_t proc~free_scalar3d->proc~free_scalar3d_t proc~riemannflux3d_esatmo3d_t riemannflux3d_ESAtmo3D_t proc~mortarfacemap MortarFaceMap proc~setrelativeenergyfloor_refinementindicator2d_t SetRelativeEnergyFloor_RefinementIndicator2D_t proc~open_hdf5_serial Open_HDF5_serial h5fopen_f h5fopen_f proc~open_hdf5_serial->h5fopen_f h5open_f h5open_f proc~open_hdf5_serial->h5open_f h5fcreate_f h5fcreate_f proc~open_hdf5_serial->h5fcreate_f proc~rewind rewind interface~hbc2d_mirror_ecadvection2d_gpu hbc2d_mirror_ecadvection2d_gpu proc~boundaryflux_advection_diffusion_1d boundaryflux_advection_diffusion_1d proc~boundaryflux_advection_diffusion_1d->interface~boundaryflux_advection_diffusion_1d_gpu proc~mpiexchangeasync_mappedvector2d_t MPIExchangeAsync_MappedVector2D_t proc~mpiexchangeasync_mappedvector2d_t->mpi_irecv proc~mpiexchangeasync_mappedvector2d_t->mpi_isend proc~updatedevice_scalar1d~2 UpdateDevice_Scalar1D proc~updatedevice_scalar1d~2->proc~gpucheck proc~updatedevice_scalar1d~2->interface~hipmemcpy proc~gradient_scalar2d_t Gradient_Scalar2D_t proc~recalculateflip_mesh3d_t RecalculateFlip_Mesh3D_t interface~mortarfluxscatter_3d_gpu MortarFluxScatter_3D_gpu proc~free_vector2d_t Free_Vector2D_t proc~calculatetendency_ecdgmodel3d_t CalculateTendency_ECDGModel3D_t proc~init_dgmodel2d_t Init_DGModel2D_t proc~resize_tensor2d_t Resize_Tensor2D_t proc~init_tensor2d Init_Tensor2D proc~ensuredevicebuffers_tensor2d EnsureDeviceBuffers_Tensor2D proc~init_tensor2d->proc~ensuredevicebuffers_tensor2d proc~init_tensor2d->equationparser proc~pbc3d_nostress_esatmo3d pbc3d_NoStress_ESAtmo3D proc~boundaryflux_dgmodel2d_t BoundaryFlux_DGModel2D_t proc~free_dgmodel3d Free_DGModel3D proc~free_dgmodel3d->proc~free_dgmodel3d_t proc~free_dgmodel3d->interface~hipfree proc~free_dgmodel3d->proc~gpucheck proc~twopointflux3d_ecadvection3d_t twopointflux3d_ECAdvection3D_t proc~updatehost_refinementindicator2d UpdateHost_RefinementIndicator2D proc~updatehost_refinementindicator2d->proc~gpucheck proc~updatehost_refinementindicator2d->interface~hipmemcpy proc~maxleveljump_octreemesh3d MaxLevelJump_OctreeMesh3D proc~refinenode_octreemesh3d RefineNode_OctreeMesh3D interface~diffusiveflux_esatmo3d_gpu diffusiveflux_esatmo3d_gpu proc~emitmesh EmitMesh proc~applyindicatorsettings_amrcontroller2d ApplyIndicatorSettings_AMRController2D proc~free_tensor2d Free_Tensor2D proc~free_tensor2d->interface~hipfree proc~free_tensor2d->proc~gpucheck proc~free_tensor2d_t Free_Tensor2D_t proc~free_tensor2d->proc~free_tensor2d_t proc~updatehost_tensor3d UpdateHost_Tensor3D proc~updatehost_tensor3d->proc~gpucheck proc~updatehost_tensor3d->interface~hipmemcpy proc~additionalfree_lineareuler2d_pml_t AdditionalFree_LinearEuler2D_PML_t proc~hbc2d_nonormalflow_lineareuler2d_pml_gpu_wrapper hbc2d_NoNormalFlow_LinearEuler2D_PML_GPU_wrapper interface~hbc2d_nonormalflow_lineareuler2d_pml_gpu hbc2d_nonormalflow_lineareuler2d_pml_gpu proc~hbc2d_nonormalflow_lineareuler2d_pml_gpu_wrapper->interface~hbc2d_nonormalflow_lineareuler2d_pml_gpu proc~riemannflux1d_burgers1d_t riemannflux1d_Burgers1D_t proc~init_mesh3d_t Init_Mesh3D_t proc~updategrk2_dgmodel1d_t UpdateGRK2_DGModel1D_t proc~estimate_refinementindicator2d_t Estimate_RefinementIndicator2D_t proc~finalizeindicator~2 FinalizeIndicator proc~estimate_refinementindicator2d_t->proc~finalizeindicator~2 proc~resolveenergyweights~2 ResolveEnergyWeights proc~estimate_refinementindicator2d_t->proc~resolveenergyweights~2 proc~resolveenergyscale~2 ResolveEnergyScale proc~estimate_refinementindicator2d_t->proc~resolveenergyscale~2 proc~checkestimatearguments~2 CheckEstimateArguments proc~estimate_refinementindicator2d_t->proc~checkestimatearguments~2 uhat uhat proc~estimate_refinementindicator2d_t->uhat tmp tmp proc~estimate_refinementindicator2d_t->tmp proc~recalculateflip_mesh2d_t RecalculateFlip_Mesh2D_t proc~recalculateflip_mesh2d_t->proc~comparearray proc~recalculateflip_mesh2d_t->mpi_irecv proc~recalculateflip_mesh2d_t->mpi_isend proc~recalculateflip_mesh2d_t->mpi_waitall interface~fluxmethod_advection_diffusion_2d_gpu fluxmethod_advection_diffusion_2d_gpu proc~flux1d_advection_diffusion_1d_t flux1d_advection_diffusion_1d_t proc~free_twopointvector3d_t Free_TwoPointVector3D_t proc~boundaryflux_advection_diffusion_2d boundaryflux_advection_diffusion_2d interface~boundaryflux_advection_diffusion_2d_gpu boundaryflux_advection_diffusion_2d_gpu proc~boundaryflux_advection_diffusion_2d->interface~boundaryflux_advection_diffusion_2d_gpu proc~dissociategeometry_mappedscalar1d_t DissociateGeometry_MappedScalar1D_t proc~solvelinearsystems SolveLinearSystems proc~init_tensor3d_t Init_Tensor3D_t proc~init_tensor3d_t->equationparser proc~additionalinit_ecadvection3d_t AdditionalInit_ECAdvection3D_t interface~boundaryflux_esatmo3d_gpu boundaryflux_esatmo3d_gpu proc~acquirempi AcquireMPI mpi_initialized mpi_initialized proc~acquirempi->mpi_initialized mpi_init mpi_init proc~acquirempi->mpi_init proc~initglobal_octreemesh3d InitGlobal_OctreeMesh3D proc~boundaryinterp_scalar1d BoundaryInterp_Scalar1D interface~matrixop_1d_gpu MatrixOp_1D_gpu proc~boundaryinterp_scalar1d->interface~matrixop_1d_gpu proc~boundaryflux_esatmo3d BoundaryFlux_ESAtmo3D proc~boundaryflux_esatmo3d->interface~boundaryflux_esatmo3d_gpu proc~setunits_metadata SetUnits_Metadata proc~getsimulationtime GetSimulationTime proc~mortarexchange_mappedscalar3d MortarExchange_MappedScalar3D proc~mortarexchange_mappedscalar3d->proc~gpucheck proc~mortarexchange_mappedscalar3d->interface~hipmalloc interface~mortarflip_3d_gpu MortarFlip_3D_gpu proc~mortarexchange_mappedscalar3d->interface~mortarflip_3d_gpu interface~mortarscatter_3d_gpu MortarScatter_3D_gpu proc~mortarexchange_mappedscalar3d->interface~mortarscatter_3d_gpu interface~mortargather_3d_gpu MortarGather_3D_gpu proc~mortarexchange_mappedscalar3d->interface~mortargather_3d_gpu proc~ensuredevicebuffers_vector3d->ensuredevicebuffer proc~gradient_scalar3d Gradient_Scalar3D proc~gradient_scalar3d->interface~scalargradient_3d_gpu proc~updatedevice_tensor2d_t UpdateDevice_Tensor2D_t proc~regrid_dgmodel2d_t Regrid_DGModel2D_t proc~additionalinit_model AdditionalInit_Model proc~hbc2d_radiation_lineareuler2d_pml hbc2d_Radiation_LinearEuler2D_PML proc~setboundarycondition_dgmodel1d setboundarycondition_DGModel1D proc~setboundarycondition_dgmodel1d->proc~gpucheck proc~setboundarycondition_dgmodel1d->interface~hipmemcpy proc~setboundarycondition_dgmodel1d_t setboundarycondition_DGModel1D_t proc~setboundarycondition_dgmodel1d->proc~setboundarycondition_dgmodel1d_t proc~updategrk4_dgmodel2d_t UpdateGRK4_DGModel2D_t proc~ensurescratch_semquad EnsureScratch_SEMQuad proc~init_domaindecomposition Init_DomainDecomposition proc~init_domaindecomposition->proc~acquirempi mpi_abort mpi_abort proc~init_domaindecomposition->mpi_abort hipgetdevicecount hipgetdevicecount proc~init_domaindecomposition->hipgetdevicecount mpi_comm_split_type mpi_comm_split_type proc~init_domaindecomposition->mpi_comm_split_type hipsetdevice hipsetdevice proc~init_domaindecomposition->hipsetdevice mpi_comm_free mpi_comm_free proc~init_domaindecomposition->mpi_comm_free mpi_comm_size mpi_comm_size proc~init_domaindecomposition->mpi_comm_size mpi_comm_rank mpi_comm_rank proc~init_domaindecomposition->mpi_comm_rank proc~setelemtorank_domaindecomposition SetElemToRank_DomainDecomposition proc~domaindecomp DomainDecomp proc~setelemtorank_domaindecomposition->proc~domaindecomp proc~elemtorank ElemToRank proc~setelemtorank_domaindecomposition->proc~elemtorank proc~setelemtorank_domaindecomposition->hipmemcpy proc~setelemtorank_domaindecomposition->gpucheck proc~setelemtorank_domaindecomposition->hipmalloc proc~balance2to1_octreemesh3d Balance2to1_OctreeMesh3D proc~setdescription_metadata SetDescription_Metadata proc~updatedevice_vector3d_t UpdateDevice_Vector3D_t proc~gridinterp_scalar1d_t GridInterp_Scalar1D_t proc~evalscalar_2d_points_t EvalScalar_2D_Points_t proc~updatehost_vector3d UpdateHost_Vector3D proc~updatehost_vector3d->proc~gpucheck proc~updatehost_vector3d->interface~hipmemcpy proc~boundaryinterp_scalar2d_t BoundaryInterp_Scalar2D_t proc~sethydrostaticbalance_esatmo2d_t SetHydrostaticBalance_ESAtmo2D_t proc~averagesides_scalar1d AverageSides_Scalar1D proc~averagesides_scalar1d->interface~average_gpu proc~stagesolutionfortransfer_dgmodel3d_t StageSolutionForTransfer_DGModel3D_t proc~additionalinit_lineareuler2d_pml_t AdditionalInit_LinearEuler2D_PML_t interface~contravariantweight_3d_gpu ContravariantWeight_3D_gpu proc~mpimortarexchangeasync_mappedscalar2d_t MPIMortarExchangeAsync_MappedScalar2D_t proc~mpimortarexchangeasync_mappedscalar2d_t->mpi_irecv proc~mpimortarexchangeasync_mappedscalar2d_t->mpi_isend proc~legendrepolynomial LegendrePolynomial proc~gridinterp_vector2d GridInterp_Vector2D interface~gridinterp_2d_gpu GridInterp_2D_gpu proc~gridinterp_vector2d->interface~gridinterp_2d_gpu proc~free_twopointvector2d Free_TwoPointVector2D proc~free_twopointvector2d->interface~hipfree proc~free_twopointvector2d->proc~gpucheck proc~simplemortarmesh_mesh3d_t SimpleMortarMesh_Mesh3D_t proc~simplemortarmesh_mesh3d_t->proc~quadrantmatches3d proc~simplemortarmesh_mesh3d_t->proc~matchfaces3d proc~domainboundaryid3d DomainBoundaryId3D proc~simplemortarmesh_mesh3d_t->proc~domainboundaryid3d proc~ensuredevicebuffers_mappedscalar3d EnsureDeviceBuffers_MappedScalar3D proc~ensuredevicebuffers_mappedscalar3d->ensuredevicebuffer ensuredevicebuffers_scalar3d ensuredevicebuffers_scalar3d proc~ensuredevicebuffers_mappedscalar3d->ensuredevicebuffers_scalar3d proc~updatehost_tensor3d_t UpdateHost_Tensor3D_t proc~applytransferplanwindow ApplyTransferPlanWindow proc~verifywindowedapply~2->proc~applytransferplanwindow proc~mappedgradient_mappedscalar3d_t MappedGradient_MappedScalar3D_t proc~readarray_hdf5_real_r1_serial ReadArray_HDF5_real_r1_serial proc~readarray_hdf5_real_r1_serial->h5dopen_f proc~readarray_hdf5_real_r1_serial->h5dclose_f proc~readarray_hdf5_real_r1_serial->h5dread_f proc~readarray_hdf5_real_r1_serial->h5kind_to_type proc~mpimortarfluxasync_mappedvector2d MPIMortarFluxAsync_MappedVector2D proc~mpimortarfluxasync_mappedvector2d->mpi_irecv proc~mpimortarfluxasync_mappedvector2d->mpi_isend proc~readattribute_hdf5_int32 ReadAttribute_HDF5_int32 h5aclose_f h5aclose_f proc~readattribute_hdf5_int32->h5aclose_f h5aread_f h5aread_f proc~readattribute_hdf5_int32->h5aread_f h5aget_type_f h5aget_type_f proc~readattribute_hdf5_int32->h5aget_type_f h5aopen_f h5aopen_f proc~readattribute_hdf5_int32->h5aopen_f proc~readattribute_hdf5_int32->h5tclose_f proc~read_dgmodel3d_t Read_DGModel3D_t proc~read_dgmodel3d_t->interface~open_hdf5 proc~read_dgmodel3d_t->interface~readarray_hdf5 proc~read_dgmodel3d_t->proc~close_hdf5 proc~datasetexists_hdf5 DatasetExists_HDF5 proc~read_dgmodel3d_t->proc~datasetexists_hdf5 proc~setinteriorfromequation_mappedscalar1d_t SetInteriorFromEquation_MappedScalar1D_t interface~updatesolution UpdateSolution proc~lowstoragerk3_timeintegrator LowStorageRK3_timeIntegrator proc~readarray_hdf5_int32_r2_serial ReadArray_HDF5_int32_r2_serial proc~readarray_hdf5_int32_r2_serial->h5dopen_f proc~readarray_hdf5_int32_r2_serial->h5dclose_f proc~readarray_hdf5_int32_r2_serial->h5dread_f proc~readarray_hdf5_int32_r2_serial->h5kind_to_type proc~rebuildleaves_quadtreemesh2d RebuildLeaves_QuadTreeMesh2D proc~haloswap HaloSwap proc~mappeddivergence_mappedtwopointvector3d MappedDivergence_MappedTwoPointVector3D interface~twopointvectordivergence_3d_gpu TwoPointVectorDivergence_3D_gpu proc~mappeddivergence_mappedtwopointvector3d->interface~twopointvectordivergence_3d_gpu interface~jacobianweight_3d_gpu JacobianWeight_3D_gpu proc~mappeddivergence_mappedtwopointvector3d->interface~jacobianweight_3d_gpu proc~twopointfluxmethod_esatmo3d TwoPointFluxMethod_ESAtmo3D proc~twopointfluxmethod_esatmo3d->interface~twopointfluxmethod_esatmo3d_gpu proc~updatedevice_refinementindicator2d UpdateDevice_RefinementIndicator2D proc~updatedevice_refinementindicator2d->proc~gpucheck proc~updatedevice_refinementindicator2d->interface~hipmemcpy proc~free_mappedvector2d Free_MappedVector2D proc~free_mappedvector2d->interface~hipfree proc~free_mappedvector2d->proc~gpucheck free_vector2d free_vector2d proc~free_mappedvector2d->free_vector2d proc~mortarfluxcollect_mappedvector2d MortarFluxCollect_MappedVector2D proc~mortarfluxcollect_mappedvector2d->proc~gpucheck interface~mortargather_2d_gpu MortarGather_2D_gpu proc~mortarfluxcollect_mappedvector2d->interface~mortargather_2d_gpu proc~mortarfluxcollect_mappedvector2d->interface~hipmalloc interface~mortarfluxscatter_2d_gpu MortarFluxScatter_2D_gpu proc~mortarfluxcollect_mappedvector2d->interface~mortarfluxscatter_2d_gpu interface~mortarflip_2d_gpu MortarFlip_2D_gpu proc~mortarfluxcollect_mappedvector2d->interface~mortarflip_2d_gpu proc~mappeddivergence_mappedtwopointvector2d MappedDivergence_MappedTwoPointVector2D proc~mappeddivergence_mappedtwopointvector2d->interface~jacobianweight_2d_gpu interface~twopointvectordivergence_2d_gpu TwoPointVectorDivergence_2D_gpu proc~mappeddivergence_mappedtwopointvector2d->interface~twopointvectordivergence_2d_gpu proc~free_points Free_Points proc~free_points->interface~hipfree proc~free_points->proc~gpucheck proc~clearenergyscale_refinementindicator3d_t ClearEnergyScale_RefinementIndicator3D_t proc~ensuredevicebuffers_scalar2d->ensuredevicebuffer proc~mortarexchange_mappedvector2d MortarExchange_MappedVector2D proc~mortarexchange_mappedvector2d->proc~gpucheck proc~mortarexchange_mappedvector2d->interface~mortargather_2d_gpu interface~mortarscatter_2d_gpu MortarScatter_2D_gpu proc~mortarexchange_mappedvector2d->interface~mortarscatter_2d_gpu proc~mortarexchange_mappedvector2d->interface~hipmalloc proc~mortarexchange_mappedvector2d->interface~mortarflip_2d_gpu proc~setenergyscale_refinementindicator3d_t SetEnergyScale_RefinementIndicator3D_t interface~vectordivergence_3d_gpu VectorDivergence_3D_gpu proc~uploadgeometry_semquad UploadGeometry_SEMQuad proc~init_points Init_Points proc~init_points->proc~gpucheck proc~init_points->interface~hipmalloc proc~resize_mappedscalar3d Resize_MappedScalar3D proc~resize_mappedscalar3d->interface~hipfree proc~resize_mappedscalar3d->proc~ensuredevicebuffers_mappedscalar3d proc~resize_mappedscalar3d->proc~gpucheck proc~resize_mappedscalar3d_t Resize_MappedScalar3D_t proc~resize_mappedscalar3d->proc~resize_mappedscalar3d_t proc~resize_mappedscalar3d->mpi_request_free proc~diracdelta_3d_points DiracDelta_3D_Points interface~diracdelta_3d_gpu DiracDelta_3D_gpu proc~diracdelta_3d_points->interface~diracdelta_3d_gpu proc~hbc3d_nonormalflow_esatmo3d hbc3d_NoNormalFlow_ESAtmo3D proc~maparrays_vector2d_t MapArrays_Vector2D_t proc~maparrays_vector2d_t->proc~ensurepool proc~adaptfromflags_octreemesh3d AdaptFromFlags_OctreeMesh3D proc~clearenergyscale_refinementindicator2d_t ClearEnergyScale_RefinementIndicator2D_t proc~setenergyscale_refinementindicator2d_t SetEnergyScale_RefinementIndicator2D_t proc~build_nodecoords_for_hex build_nodeCoords_for_hex proc~build_nodecoords_for_hex->proc~chebyshevquadrature proc~free_mappedvector3d Free_MappedVector3D proc~free_mappedvector3d->interface~hipfree proc~free_mappedvector3d->proc~gpucheck free_vector3d free_vector3d proc~free_mappedvector3d->free_vector3d proc~setsimulationtime SetSimulationTime interface~fluxmethod_linearshallowwater2d_gpu fluxmethod_LinearShallowWater2D_gpu proc~divergence_vector2d_t Divergence_Vector2D_t proc~updatehost_twopointvector3d_t UpdateHost_TwoPointVector3D_t proc~additionalinit_linearshallowwater2d AdditionalInit_LinearShallowWater2D proc~additionalinit_linearshallowwater2d_t AdditionalInit_LinearShallowWater2D_t proc~additionalinit_linearshallowwater2d->proc~additionalinit_linearshallowwater2d_t proc~init_ecdgmodel2d_t Init_ECDGModel2D_t proc~init_ecdgmodel2d_t->proc~init_dgmodel2d_t proc~open_hdf5_parallel Open_HDF5_parallel proc~open_hdf5_parallel->h5pclose_f proc~open_hdf5_parallel->h5pcreate_f h5pset_fapl_mpio_f h5pset_fapl_mpio_f proc~open_hdf5_parallel->h5pset_fapl_mpio_f proc~open_hdf5_parallel->h5fopen_f proc~open_hdf5_parallel->h5open_f proc~open_hdf5_parallel->h5fcreate_f proc~pbc3d_nostress_esatmo3d_gpu_wrapper pbc3d_NoStress_ESAtmo3D_GPU_wrapper proc~pbc3d_nostress_esatmo3d_gpu_wrapper->interface~pbc3d_nostress_esatmo3d_gpu proc~readarray_hdf5_real_r4_serial ReadArray_HDF5_real_r4_serial proc~readarray_hdf5_real_r4_serial->h5dopen_f proc~readarray_hdf5_real_r4_serial->h5dclose_f proc~readarray_hdf5_real_r4_serial->h5dread_f proc~readarray_hdf5_real_r4_serial->h5kind_to_type proc~fluxmethod_dgmodel1d_t fluxmethod_DGModel1D_t interface~readattribute_hdf5 ReadAttribute_HDF5 interface~readattribute_hdf5->proc~readattribute_hdf5_int32 proc~readattribute_hdf5_character ReadAttribute_HDF5_character interface~readattribute_hdf5->proc~readattribute_hdf5_character proc~readattribute_hdf5_real ReadAttribute_HDF5_real interface~readattribute_hdf5->proc~readattribute_hdf5_real proc~setname_dataobj SetName_DataObj proc~flux3d_lineareuler3d_t flux3D_LinearEuler3D_t proc~migrateoldwindow_dgmodel2d_t MigrateOldWindow_DGModel2D_t proc~exchangeoldwindowflat ExchangeOldWindowFlat proc~migrateoldwindow_dgmodel2d_t->proc~exchangeoldwindowflat proc~twopointflux2d_ecdgmodel2d_t twopointflux2d_ECDGModel2D_t proc~chebyshevgauss ChebyshevGauss proc~chebyshevquadrature->proc~chebyshevgauss proc~chebyshevgausslobatto ChebyshevGaussLobatto proc~chebyshevquadrature->proc~chebyshevgausslobatto interface~open_hdf5->proc~open_hdf5_serial interface~open_hdf5->proc~open_hdf5_parallel proc~writearray_hdf5_int32_r1_serial->h5dclose_f proc~writearray_hdf5_int32_r1_serial->h5dwrite_f proc~writearray_hdf5_int32_r1_serial->h5dcreate_f proc~writearray_hdf5_int32_r1_serial->h5screate_simple_f proc~writearray_hdf5_int32_r1_serial->h5sclose_f proc~updatehost_twopointvector2d UpdateHost_TwoPointVector2D proc~updatehost_twopointvector2d->proc~gpucheck proc~updatehost_twopointvector2d->interface~hipmemcpy proc~mappeddggradient_mappedscalar3d MappedDGGradient_MappedScalar3D proc~mappeddggradient_mappedscalar3d->interface~contravariantweight_3d_gpu proc~mappeddggradient_mappedscalar3d->interface~vectordivergence_3d_gpu interface~dg_boundarycontribution_3d_gpu DG_BoundaryContribution_3D_gpu proc~mappeddggradient_mappedscalar3d->interface~dg_boundarycontribution_3d_gpu interface~normalweight_3d_gpu NormalWeight_3D_gpu proc~mappeddggradient_mappedscalar3d->interface~normalweight_3d_gpu proc~mappeddggradient_mappedscalar3d->interface~jacobianweight_3d_gpu proc~mappeddivergence_mappedtwopointvector2d_t MappedDivergence_MappedTwoPointVector2D_t interface~refinementindicator_3d_gpu RefinementIndicator_3D_gpu proc~init_lagrange_t Init_Lagrange_t proc~init_lagrange_t->proc~uniformpoints proc~init_lagrange_t->proc~chebyshevquadrature proc~init_lagrange_t->proc~legendrequadrature proc~oc_opposite oc_opposite proc~readarray_hdf5_real_r2_serial ReadArray_HDF5_real_r2_serial proc~readarray_hdf5_real_r2_serial->h5dopen_f proc~readarray_hdf5_real_r2_serial->h5dclose_f proc~readarray_hdf5_real_r2_serial->h5dread_f proc~readarray_hdf5_real_r2_serial->h5kind_to_type proc~locatepoints_3d_points_t LocatePoints_3D_Points_t proc~newtoninverse_3d NewtonInverse_3D proc~locatepoints_3d_points_t->proc~newtoninverse_3d proc~locatepoints_3d_points_t->proc~clampcell proc~buildelementbboxes_3d BuildElementBBoxes_3D proc~locatepoints_3d_points_t->proc~buildelementbboxes_3d proc~averagesides_vector2d AverageSides_Vector2D proc~averagesides_vector2d->interface~average_gpu proc~boundaryinterp_scalar1d~2 BoundaryInterp_Scalar1D interface~matrixop_1d_gpu~2 MatrixOp_1D_gpu proc~boundaryinterp_scalar1d~2->interface~matrixop_1d_gpu~2 proc~mortarfluxcollect_mappedvector3d MortarFluxCollect_MappedVector3D proc~mortarfluxcollect_mappedvector3d->interface~mortarfluxscatter_3d_gpu proc~mortarfluxcollect_mappedvector3d->proc~gpucheck proc~mortarfluxcollect_mappedvector3d->interface~hipmalloc proc~mortarfluxcollect_mappedvector3d->interface~mortarflip_3d_gpu proc~mortarfluxcollect_mappedvector3d->interface~mortargather_3d_gpu proc~updatehost_scalar3d UpdateHost_Scalar3D proc~updatehost_scalar3d->proc~gpucheck proc~updatehost_scalar3d->interface~hipmemcpy proc~write_mesh3d_t Write_Mesh3D_t proc~write_mesh3d_t->interface~writearray_hdf5 proc~write_mesh3d_t->interface~open_hdf5 interface~writeattribute_hdf5 WriteAttribute_HDF5 proc~write_mesh3d_t->interface~writeattribute_hdf5 proc~write_mesh3d_t->proc~close_hdf5 interface~boundaryflux_ecadvection2d_gpu boundaryflux_ecadvection2d_gpu proc~downloadoldwindow_dgmodel2d_t DownloadOldWindow_DGModel2D_t proc~updatedevice_twopointvector3d_t UpdateDevice_TwoPointVector3D_t proc~free_lagrange Free_Lagrange proc~free_lagrange->interface~hipfree proc~free_lagrange->proc~gpucheck proc~free_dgmodel2d_t Free_DGModel2D_t proc~stagesolutionfortransfer_dgmodel3d StageSolutionForTransfer_DGModel3D proc~stagesolutionfortransfer_dgmodel3d->interface~hipfree proc~stagesolutionfortransfer_dgmodel3d->proc~gpucheck proc~stagesolutionfortransfer_dgmodel3d->interface~hipmemcpy proc~stagesolutionfortransfer_dgmodel3d->interface~hipmalloc proc~writehdf5_mpi_vector2d_t WriteHDF5_MPI_Vector2D_t proc~writehdf5_mpi_vector2d_t->interface~writearray_hdf5 proc~writehdf5_mpi_vector2d_t->proc~creategroup_hdf5 proc~maxlevel_quadtreemesh2d MaxLevel_QuadTreeMesh2D proc~updatedevice_vector3d UpdateDevice_Vector3D proc~updatedevice_vector3d->proc~gpucheck proc~updatedevice_vector3d->interface~hipmemcpy proc~updatedevice_mesh3d_t UpdateDevice_Mesh3D_t proc~sideexchange_mappedvector3d SideExchange_MappedVector3D proc~sideexchange_mappedvector3d->interface~sideexchange_3d_gpu interface~halounpack_3d_gpu HaloUnpack_3D_gpu proc~sideexchange_mappedvector3d->interface~halounpack_3d_gpu proc~mappedgradient_mappedscalar3d MappedGradient_MappedScalar3D proc~mappedgradient_mappedscalar3d->interface~contravariantweight_3d_gpu proc~mappedgradient_mappedscalar3d->interface~vectordivergence_3d_gpu proc~mappedgradient_mappedscalar3d->interface~jacobianweight_3d_gpu proc~applytransferplan_dgmodel3d_t->proc~applytransferplanwindow proc~applytransferplanrange ApplyTransferPlanRange proc~applytransferplan_dgmodel3d_t->proc~applytransferplanrange proc~calculatemetricterms_geometry1d CalculateMetricTerms_Geometry1D proc~resize_scalar2d Resize_Scalar2D proc~resize_scalar2d->proc~ensuredevicebuffers_scalar2d proc~resize_scalar2d_t Resize_Scalar2D_t proc~resize_scalar2d->proc~resize_scalar2d_t proc~uploadgeometry_semhex UploadGeometry_SEMHex proc~setinteriorfromequation_mappedvector2d SetInteriorFromEquation_MappedVector2D proc~setinteriorfromequation_mappedvector2d->proc~gpucheck proc~setinteriorfromequation_mappedvector2d->interface~hipmemcpy proc~flux2d_model flux2d_Model interface~sourcemethod_lineareuler3d_gpu sourcemethod_LinearEuler3D_gpu proc~sourcemethod_lineareuler2d_pml sourcemethod_LinearEuler2D_PML proc~sourcemethod_lineareuler2d_pml->interface~sourcemethod_lineareuler2d_pml_gpu proc~derivative_scalar1d_t Derivative_Scalar1D_t proc~free_transferplan2d Free_TransferPlan2D proc~writehdf5_lagrange_t WriteHDF5_Lagrange_t proc~writehdf5_lagrange_t->interface~writearray_hdf5 proc~writehdf5_lagrange_t->proc~creategroup_hdf5 proc~writearray_hdf5_int32_r4_serial->h5dclose_f proc~writearray_hdf5_int32_r4_serial->h5dwrite_f proc~writearray_hdf5_int32_r4_serial->h5dcreate_f proc~writearray_hdf5_int32_r4_serial->h5screate_simple_f proc~writearray_hdf5_int32_r4_serial->h5sclose_f interface~pbc2d_nostress_esatmo2d_gpu pbc2d_nostress_esatmo2d_gpu proc~sideexchange_mappedscalar1d_t SideExchange_MappedScalar1D_t proc~updatedevice_twopointvector2d UpdateDevice_TwoPointVector2D proc~updatedevice_twopointvector2d->proc~gpucheck proc~updatedevice_twopointvector2d->interface~hipmemcpy proc~additionalinit_lineareuler3d AdditionalInit_LinearEuler3D proc~additionalinit_lineareuler3d_t AdditionalInit_LinearEuler3D_t proc~additionalinit_lineareuler3d->proc~additionalinit_lineareuler3d_t proc~setinteriorfromequation_mappedvector3d SetInteriorFromEquation_MappedVector3D proc~setinteriorfromequation_mappedvector3d->proc~gpucheck proc~setinteriorfromequation_mappedvector3d->interface~hipmemcpy proc~sourcemethod_dgmodel2d_t sourcemethod_DGModel2D_t proc~applyflip_mappedscalar3d_t ApplyFlip_MappedScalar3D_t proc~averagesides_scalar2d_t AverageSides_Scalar2D_t proc~updatehost_tensor2d_t UpdateHost_Tensor2D_t proc~init_dgmodel3d_t Init_DGModel3D_t proc~gradient_vector3d_t Gradient_Vector3D_t proc~updatehost_vector3d_t UpdateHost_Vector3D_t proc~calculatetendency_esatmo2d_t CalculateTendency_ESAtmo2D_t proc~init_vector3d_t Init_Vector3D_t proc~init_vector3d_t->equationparser proc~allgatherperelemreals~2->mpi_allgatherv proc~readattribute_hdf5_character->h5aclose_f proc~readattribute_hdf5_character->h5aread_f proc~readattribute_hdf5_character->h5aget_type_f proc~readattribute_hdf5_character->h5aopen_f proc~readattribute_hdf5_character->h5tclose_f proc~gridinterp_scalar1d GridInterp_Scalar1D proc~gridinterp_scalar1d->interface~matrixop_1d_gpu~2 proc~ensuredevicebuffers_tensor2d->ensuredevicebuffer proc~calculateentropy_dgmodel2d CalculateEntropy_DGModel2D proc~calculateentropy_dgmodel2d->proc~gpucheck proc~calculateentropy_dgmodel2d->interface~hipmemcpy proc~calculateentropy_dgmodel2d->mpi_allreduce proc~writehdf5_vector2d_t WriteHDF5_Vector2D_t proc~writehdf5_vector2d_t->interface~writearray_hdf5 proc~writehdf5_vector2d_t->proc~creategroup_hdf5 proc~writeattribute_hdf5_int32 WriteAttribute_HDF5_int32 interface~writeattribute_hdf5->proc~writeattribute_hdf5_int32 proc~mappeddgdivergence_mappedvector2d MappedDGDivergence_MappedVector2D proc~mappeddgdivergence_mappedvector2d->interface~contravariantprojection_2d_gpu proc~mappeddgdivergence_mappedvector2d->interface~jacobianweight_2d_gpu proc~mappeddgdivergence_mappedvector2d->interface~dg_boundarycontribution_2d_gpu interface~divergence_2d_gpu Divergence_2D_gpu proc~mappeddgdivergence_mappedvector2d->interface~divergence_2d_gpu proc~populateboundaries PopulateBoundaries proc~updatehost_scalar2d UpdateHost_Scalar2D proc~updatehost_scalar2d->proc~gpucheck proc~updatehost_scalar2d->interface~hipmemcpy proc~free_esatmo2d Free_ESAtmo2D proc~free_esatmo2d->interface~hipfree proc~free_esatmo2d->proc~gpucheck proc~free_esatmo2d->proc~free_ecdgmodel2d_t proc~gradient_vector3d Gradient_Vector3D proc~gradient_vector3d->interface~scalargradient_3d_gpu interface~hbc2d_radiation_linearshallowwater2d_gpu hbc2d_radiation_linearshallowwater2d_gpu proc~free_scalar2d Free_Scalar2D proc~free_scalar2d->interface~hipfree proc~free_scalar2d->proc~gpucheck proc~free_scalar2d_t Free_Scalar2D_t proc~free_scalar2d->proc~free_scalar2d_t proc~mpimortarexchangeasync_mappedscalar3d_t MPIMortarExchangeAsync_MappedScalar3D_t proc~mpimortarexchangeasync_mappedscalar3d_t->mpi_irecv proc~mpimortarexchangeasync_mappedscalar3d_t->mpi_isend proc~setsolutionfromeqn_dgmodel3d_t SetSolutionFromEqn_DGModel3D_t proc~finalizeindicator FinalizeIndicator proc~riemannflux3d_ecadvection3d_t riemannflux3d_ECAdvection3D_t proc~setdescription_dataobj SetDescription_DataObj proc~boundaryinterp_vector2d BoundaryInterp_Vector2D interface~boundaryinterp_2d_gpu BoundaryInterp_2D_gpu proc~boundaryinterp_vector2d->interface~boundaryinterp_2d_gpu proc~estimate_refinementindicator2d Estimate_RefinementIndicator2D proc~estimate_refinementindicator2d->interface~refinementindicator_2d_gpu proc~estimate_refinementindicator2d->interface~hipfree proc~estimate_refinementindicator2d->proc~gpucheck proc~estimate_refinementindicator2d->interface~hipmemcpy proc~estimate_refinementindicator2d->proc~finalizeindicator~2 proc~estimate_refinementindicator2d->proc~resolveenergyweights~2 proc~estimate_refinementindicator2d->interface~hipmalloc proc~estimate_refinementindicator2d->proc~resolveenergyscale~2 proc~estimate_refinementindicator2d->proc~checkestimatearguments~2 proc~boundaryinterp_tensor3d_t BoundaryInterp_Tensor3D_t proc~allgatherperelemints AllgatherPerElemInts proc~initforestfromdecomposedmesh->proc~allgatherperelemints proc~initforestfromdecomposedmesh->proc~allgatherperelemreals proc~additionalfree_model AdditionalFree_Model proc~boundaryinterp_vector2d_t BoundaryInterp_Vector2D_t proc~writehdf5_metadata WriteHDF5_Metadata proc~writehdf5_metadata->interface~writecharacter_hdf5 proc~writehdf5_metadata->proc~creategroup_hdf5 proc~calculateentropy_model CalculateEntropy_Model proc~readarray_hdf5_real_r3_parallel ReadArray_HDF5_real_r3_parallel proc~readarray_hdf5_real_r3_parallel->h5pclose_f proc~readarray_hdf5_real_r3_parallel->h5dopen_f proc~readarray_hdf5_real_r3_parallel->h5pset_dxpl_mpio_f proc~readarray_hdf5_real_r3_parallel->h5pcreate_f proc~readarray_hdf5_real_r3_parallel->h5dclose_f proc~readarray_hdf5_real_r3_parallel->h5screate_simple_f proc~readarray_hdf5_real_r3_parallel->h5sselect_hyperslab_f proc~readarray_hdf5_real_r3_parallel->h5dget_space_f proc~readarray_hdf5_real_r3_parallel->h5dread_f proc~readarray_hdf5_real_r3_parallel->h5sclose_f proc~readarray_hdf5_real_r3_parallel->h5tclose_f proc~readarray_hdf5_real_r3_parallel->h5dget_type_f proc~writearray_hdf5_int32_r2_serial->h5dclose_f proc~writearray_hdf5_int32_r2_serial->h5dwrite_f proc~writearray_hdf5_int32_r2_serial->h5dcreate_f proc~writearray_hdf5_int32_r2_serial->h5screate_simple_f proc~writearray_hdf5_int32_r2_serial->h5sclose_f proc~init_refinementindicator3d_t Init_RefinementIndicator3D_t proc~buildmodaltransform BuildModalTransform proc~init_refinementindicator3d_t->proc~buildmodaltransform interface~readarray_hdf5->proc~readarray_hdf5_real_r2_parallel interface~readarray_hdf5->proc~readarray_hdf5_real_r3_serial interface~readarray_hdf5->proc~readarray_hdf5_int32_r2_parallel interface~readarray_hdf5->proc~readarray_hdf5_real_r1_serial interface~readarray_hdf5->proc~readarray_hdf5_int32_r2_serial interface~readarray_hdf5->proc~readarray_hdf5_real_r4_serial interface~readarray_hdf5->proc~readarray_hdf5_real_r2_serial interface~readarray_hdf5->proc~readarray_hdf5_real_r3_parallel proc~readarray_hdf5_real_r1_parallel ReadArray_HDF5_real_r1_parallel interface~readarray_hdf5->proc~readarray_hdf5_real_r1_parallel proc~readarray_hdf5_real_r5_serial ReadArray_HDF5_real_r5_serial interface~readarray_hdf5->proc~readarray_hdf5_real_r5_serial proc~readarray_hdf5_int32_r1_serial ReadArray_HDF5_int32_r1_serial interface~readarray_hdf5->proc~readarray_hdf5_int32_r1_serial proc~readarray_hdf5_real_r4_parallel ReadArray_HDF5_real_r4_parallel interface~readarray_hdf5->proc~readarray_hdf5_real_r4_parallel proc~readarray_hdf5_int32_r1_parallel ReadArray_HDF5_int32_r1_parallel interface~readarray_hdf5->proc~readarray_hdf5_int32_r1_parallel proc~setpmlprofile_lineareuler2d_pml_t SetPMLProfile_LinearEuler2D_PML_t proc~init_mesh3d Init_Mesh3D proc~init_mesh3d->proc~gpucheck proc~init_mesh3d->interface~hipmalloc proc~registerbcmethod RegisterbcMethod proc~init_ecadvection2d Init_ECAdvection2D proc~init_ecadvection2d->proc~gpucheck proc~init_ecadvection2d->interface~hipmemcpy proc~init_ecadvection2d->proc~init_ecdgmodel2d_t proc~init_ecadvection2d->interface~hipmalloc interface~calculatetendency CalculateTendency proc~resize_tensor2d Resize_Tensor2D proc~resize_tensor2d->proc~resize_tensor2d_t proc~resize_tensor2d->proc~ensuredevicebuffers_tensor2d proc~migrateoldwindow_dgmodel3d_t->proc~exchangeoldwindowflat proc~flux2d_lineareuler2d_pml_t flux2d_LinearEuler2D_PML_t proc~sourcemethod_dgmodel2d sourcemethod_DGModel2D proc~sourcemethod_dgmodel2d->proc~gpucheck proc~sourcemethod_dgmodel2d->interface~hipmemcpy proc~diffusiveboundaryflux_esatmo3d DiffusiveBoundaryFlux_ESAtmo3D interface~diffusiveboundaryflux_esatmo3d_gpu diffusiveboundaryflux_esatmo3d_gpu proc~diffusiveboundaryflux_esatmo3d->interface~diffusiveboundaryflux_esatmo3d_gpu proc~riemannflux2d_lineareuler2d_pml_t riemannflux2d_LinearEuler2D_PML_t proc~divergence_twopointvector3d_t Divergence_TwoPointVector3D_t proc~checkestimatearguments CheckEstimateArguments proc~init_points_t Init_Points_t proc~init_vector3d Init_Vector3D proc~init_vector3d->proc~ensuredevicebuffers_vector3d proc~init_vector3d->equationparser proc~entropy_func_advection_diffusion_3d_t entropy_func_advection_diffusion_3d_t proc~gridinterp_vector3d_t GridInterp_Vector3D_t proc~migrateoldwindow_dgmodel2d MigrateOldWindow_DGModel2D proc~migrateoldwindow_dgmodel2d->proc~postoldwindowexchange proc~migrateoldwindow_dgmodel2d->interface~hipfree proc~migrateoldwindow_dgmodel2d->proc~gpucheck proc~finisholdwindowexchange FinishOldWindowExchange proc~migrateoldwindow_dgmodel2d->proc~finisholdwindowexchange proc~migrateoldwindow_dgmodel2d->interface~hipmalloc interface~migratewindowlocal_gpu MigrateWindowLocal_gpu proc~migrateoldwindow_dgmodel2d->interface~migratewindowlocal_gpu proc~migrateoldwindow_dgmodel2d->proc~ownedrun proc~calculatesolutiongradient_dgmodel2d_t CalculateSolutionGradient_DGModel2D_t proc~free_ecdgmodel2d_t->proc~free_dgmodel2d_t proc~updatedevice_mesh3d UpdateDevice_Mesh3D proc~updatedevice_mesh3d->proc~gpucheck proc~updatedevice_mesh3d->interface~hipmemcpy proc~updatedevice_mesh3d->interface~hipmalloc proc~setthresholds_refinementindicator3d_t SetThresholds_RefinementIndicator3D_t proc~mappeddgdivergence_mappedvector3d MappedDGDivergence_MappedVector3D interface~mappedcontravariantdivergence_3d_gpu MappedContravariantDivergence_3D_gpu proc~mappeddgdivergence_mappedvector3d->interface~mappedcontravariantdivergence_3d_gpu interface~dg_boundarycontribution_jacobianweight_3d_gpu DG_BoundaryContribution_JacobianWeight_3D_gpu proc~mappeddgdivergence_mappedvector3d->interface~dg_boundarycontribution_jacobianweight_3d_gpu proc~twopointfluxmethod_esatmo3d_t TwoPointFluxMethod_ESAtmo3D_t proc~writetecplot_dgmodel3d_t WriteTecplot_DGModel3D_t proc~writetecplot_dgmodel3d_t->proc~newunit proc~maparrays_tensor3d_t MapArrays_Tensor3D_t proc~maparrays_tensor3d_t->proc~ensurepool proc~free_semquad Free_SEMQuad proc~boundaryinterp_vector3d_t BoundaryInterp_Vector3D_t proc~sourcemethod_dgmodel3d_t sourcemethod_DGModel3D_t proc~corner_pair_for_side corner_pair_for_side proc~updatedevice_scalar3d UpdateDevice_Scalar3D proc~updatedevice_scalar3d->proc~gpucheck proc~updatedevice_scalar3d->interface~hipmemcpy proc~twopointflux3d_esatmo3d_t twopointflux3d_ESAtmo3D_t proc~twopointflux3d_esatmo3d_t->proc~log_mean proc~addthermalbubble_esatmo3d_t AddThermalBubble_ESAtmo3D_t proc~buildtransferplan~2 BuildTransferPlan proc~entropy_func_model entropy_func_Model proc~twopointflux2d_esatmo2d_t twopointflux2d_ESAtmo2D_t proc~twopointflux2d_esatmo2d_t->proc~log_mean~2 proc~addthermalbubble_esatmo2d_t AddThermalBubble_ESAtmo2D_t proc~free_refinementindicator3d_t Free_RefinementIndicator3D_t proc~exchangeoldwindow~2 ExchangeOldWindow proc~exchangeoldwindow~2->proc~exchangeoldwindowflat proc~calculatecontravariantbasis_semquad CalculateContravariantBasis_SEMQuad proc~free_mesh3d_t Free_Mesh3D_t proc~free_points_t Free_Points_t proc~setpoints_points_t SetPoints_Points_t proc~reportmetrics_dgmodel2d_t ReportMetrics_DGModel2D_t proc~setinteriorfromequation_mappedscalar3d_t SetInteriorFromEquation_MappedScalar3D_t proc~setsolutionfromchar_dgmodel3d_t SetSolutionFromChar_DGModel3D_t proc~resize_vector2d_t Resize_Vector2D_t proc~writearray_hdf5_real_r3_parallel->h5pclose_f proc~writearray_hdf5_real_r3_parallel->h5pset_dxpl_mpio_f proc~writearray_hdf5_real_r3_parallel->h5pcreate_f proc~writearray_hdf5_real_r3_parallel->h5dclose_f proc~writearray_hdf5_real_r3_parallel->h5dwrite_f proc~writearray_hdf5_real_r3_parallel->h5dcreate_f proc~writearray_hdf5_real_r3_parallel->h5screate_simple_f proc~writearray_hdf5_real_r3_parallel->h5sselect_hyperslab_f proc~writearray_hdf5_real_r3_parallel->h5sclose_f proc~applytransferplan_dgmodel3d ApplyTransferPlan_DGModel3D proc~applytransferplan_dgmodel3d->interface~hipfree proc~applytransferplan_dgmodel3d->proc~gpucheck proc~applytransferplan_dgmodel3d->interface~hipmemcpy proc~applytransferplan_dgmodel3d->proc~applytransferplan_dgmodel3d_t interface~transfersolution_3d_gpu TransferSolution_3D_gpu proc~applytransferplan_dgmodel3d->interface~transfersolution_3d_gpu proc~applytransferplan_dgmodel3d->interface~hipmalloc proc~hbc2d_radiation_lineareuler2d_pml_gpu_wrapper hbc2d_Radiation_LinearEuler2D_PML_GPU_wrapper interface~hbc2d_radiation_lineareuler2d_pml_gpu hbc2d_radiation_lineareuler2d_pml_gpu proc~hbc2d_radiation_lineareuler2d_pml_gpu_wrapper->interface~hbc2d_radiation_lineareuler2d_pml_gpu mpi_finalize mpi_finalize proc~releasempi->mpi_finalize mpi_finalized mpi_finalized proc~releasempi->mpi_finalized proc~init_scalar1d~2 Init_Scalar1D proc~init_scalar1d~2->proc~gpucheck proc~init_scalar1d~2->proc~gpuavailable proc~init_scalar1d~2->interface~hipmalloc proc~applytransferplan ApplyTransferPlan proc~applytransferplan->proc~applytransferplanrange proc~read_hohqmesh_mesh2d_t Read_HOHQMesh_Mesh2D_t proc~read_hohqmesh_mesh2d_t->proc~corner_pair_for_side proc~build_nodecoords_for_element build_nodeCoords_for_element proc~read_hohqmesh_mesh2d_t->proc~build_nodecoords_for_element proc~hbc2d_radiation_lineareuler2d_gpu_wrapper hbc2d_Radiation_LinearEuler2D_GPU_wrapper interface~hbc2d_radiation_lineareuler2d_gpu hbc2d_radiation_lineareuler2d_gpu proc~hbc2d_radiation_lineareuler2d_gpu_wrapper->interface~hbc2d_radiation_lineareuler2d_gpu proc~reportentropy_model ReportEntropy_Model proc~maxleveljump_quadtreemesh2d MaxLevelJump_QuadTreeMesh2D proc~divergence_twopointvector2d Divergence_TwoPointVector2D proc~divergence_twopointvector2d->interface~twopointvectordivergence_2d_gpu proc~sourcemethod_lineareuler2d sourcemethod_LinearEuler2D proc~sourcemethod_lineareuler2d->interface~sourcemethod_lineareuler2d_gpu interface~hipgetdevicecount hipGetDeviceCount proc~gpuavailable->interface~hipgetdevicecount proc~mpimortarfluxasync_mappedvector2d_t MPIMortarFluxAsync_MappedVector2D_t proc~mpimortarfluxasync_mappedvector2d_t->mpi_irecv proc~mpimortarfluxasync_mappedvector2d_t->mpi_isend proc~resize_mappedscalar3d_t->proc~resize_scalar3d_t proc~diffusivefluxmethod_esatmo2d_t DiffusiveFluxMethod_ESAtmo2D_t proc~uppercase UpperCase proc~updategrk3_dgmodel1d_t UpdateGRK3_DGModel1D_t proc~free_scalar1d~2 Free_Scalar1D proc~free_scalar1d~2->interface~hipfree proc~free_scalar1d~2->proc~gpucheck proc~mpiexchangeasync_mappedvector2d MPIExchangeAsync_MappedVector2D proc~mpiexchangeasync_mappedvector2d->proc~gpucheck interface~halopack_2d_gpu HaloPack_2D_gpu proc~mpiexchangeasync_mappedvector2d->interface~halopack_2d_gpu proc~mpiexchangeasync_mappedvector2d->interface~hipmalloc proc~mpiexchangeasync_mappedvector2d->mpi_irecv proc~mpiexchangeasync_mappedvector2d->mpi_isend proc~calculatemortarmatrices CalculateMortarMatrices proc~calculatemortarmatrices->proc~solvelinearsystems proc~calculatemortarmatrices->proc~legendrequadrature proc~curl_vector3d_t Curl_Vector3D_t proc~divergence_vector2d Divergence_Vector2D proc~divergence_vector2d->interface~vectordivergence_2d_gpu proc~setnumberofvariables_esatmo3d_t SetNumberOfVariables_ESAtmo3D_t proc~updatehost_refinementindicator3d_t UpdateHost_RefinementIndicator3D_t proc~riemannflux3d_lineareuler3d_t riemannflux3D_LinearEuler3D_t proc~countflagged_refinementindicator2d_t CountFlagged_RefinementIndicator2D_t proc~gridinterp_vector3d GridInterp_Vector3D proc~gridinterp_vector3d->interface~gridinterp_3d_gpu interface~hipmemcpy~2 hipMemcpy proc~boundaryflux_dgmodel1d BoundaryFlux_DGModel1D proc~boundaryflux_dgmodel1d->proc~gpucheck proc~boundaryflux_dgmodel1d->interface~hipmemcpy proc~mpiexchangeasync_mappedvector3d MPIExchangeAsync_MappedVector3D proc~mpiexchangeasync_mappedvector3d->proc~gpucheck proc~mpiexchangeasync_mappedvector3d->interface~hipmalloc proc~mpiexchangeasync_mappedvector3d->interface~halopack_3d_gpu proc~mpiexchangeasync_mappedvector3d->mpi_irecv proc~mpiexchangeasync_mappedvector3d->mpi_isend proc~setmetadata_esatmo3d_t SetMetadata_ESAtmo3D_t proc~lowstoragerk4_timeintegrator LowStorageRK4_timeIntegrator proc~readarray_hdf5_real_r1_parallel->h5pclose_f proc~readarray_hdf5_real_r1_parallel->h5dopen_f proc~readarray_hdf5_real_r1_parallel->h5pset_dxpl_mpio_f proc~readarray_hdf5_real_r1_parallel->h5pcreate_f proc~readarray_hdf5_real_r1_parallel->h5dclose_f proc~readarray_hdf5_real_r1_parallel->h5screate_simple_f proc~readarray_hdf5_real_r1_parallel->h5sselect_hyperslab_f proc~readarray_hdf5_real_r1_parallel->h5dget_space_f proc~readarray_hdf5_real_r1_parallel->h5dread_f proc~readarray_hdf5_real_r1_parallel->h5sclose_f proc~readarray_hdf5_real_r1_parallel->h5tclose_f proc~readarray_hdf5_real_r1_parallel->h5dget_type_f proc~sourcemethod_esatmo3d SourceMethod_ESAtmo3D interface~sourcemethod_esatmo3d_gpu sourcemethod_esatmo3d_gpu proc~sourcemethod_esatmo3d->interface~sourcemethod_esatmo3d_gpu proc~additionaloutput_model AdditionalOutput_Model proc~gradient_vector2d Gradient_Vector2D interface~scalargradient_2d_gpu ScalarGradient_2D_gpu proc~gradient_vector2d->interface~scalargradient_2d_gpu proc~derivative_scalar1d Derivative_Scalar1D proc~derivative_scalar1d->interface~matrixop_1d_gpu~2 proc~mappeddivergence_mappedvector3d MappedDivergence_MappedVector3D proc~mappeddivergence_mappedvector3d->interface~mappedcontravariantdivergence_3d_gpu proc~writehdf5_mpi_scalar2d_t WriteHDF5_MPI_Scalar2D_t proc~writehdf5_mpi_scalar2d_t->interface~writearray_hdf5 proc~writehdf5_mpi_scalar2d_t->proc~creategroup_hdf5 proc~write_geometry1d Write_Geometry1D proc~write_geometry1d->interface~writearray_hdf5 proc~write_geometry1d->proc~creategroup_hdf5 proc~write_geometry1d->interface~open_hdf5 proc~write_geometry1d->proc~close_hdf5 proc~averagesides_vector3d AverageSides_Vector3D proc~averagesides_vector3d->interface~average_gpu proc~free_mappedscalar3d Free_MappedScalar3D proc~free_mappedscalar3d->interface~hipfree proc~free_mappedscalar3d->proc~gpucheck proc~free_mappedscalar3d->proc~free_scalar3d_t proc~free_mappedscalar3d->mpi_request_free proc~free_mappedscalar3d->mpi_finalized proc~applyflip_mappedvector2d_t ApplyFlip_MappedVector2D_t proc~mortarfluxcollect_mappedvector3d_t MortarFluxCollect_MappedVector3D_t proc~mortarfluxcollect_mappedvector3d_t->proc~mortarfacemap acc acc proc~mortarfluxcollect_mappedvector3d_t->acc proc~mortarfluxcollect_mappedvector3d_t->tmp h5fclose_f h5fclose_f proc~close_hdf5->h5fclose_f h5close_f h5close_f proc~close_hdf5->h5close_f proc~sideexchange_mappedscalar3d_t SideExchange_MappedScalar3D_t proc~restrictfromchildren RestrictFromChildren proc~restrictfromchildren->tmp1 proc~restrictfromchildren->tmp2 up up proc~restrictfromchildren->up proc~flux3d_model flux3d_Model proc~init_mappedscalar3d Init_MappedScalar3D proc~init_mappedscalar3d->proc~ensuredevicebuffers_mappedscalar3d proc~stagesolutionfortransfer_dgmodel2d_t StageSolutionForTransfer_DGModel2D_t proc~init_scalar3d_t Init_Scalar3D_t proc~setmetadata_dgmodel3d_t SetMetadata_DGModel3D_t proc~free_tensor3d_t Free_Tensor3D_t proc~additionalinit_esatmo2d AdditionalInit_ESAtmo2D proc~additionalinit_esatmo2d_t AdditionalInit_ESAtmo2D_t proc~additionalinit_esatmo2d->proc~additionalinit_esatmo2d_t proc~fluxmethod_advection_diffusion_2d fluxmethod_advection_diffusion_2d proc~fluxmethod_advection_diffusion_2d->interface~fluxmethod_advection_diffusion_2d_gpu proc~applytransferplanwindow->proc~prolongtochildren proc~applytransferplanwindow->proc~restrictfromchildren proc~oc_internal oc_internal proc~datasetexists_hdf5->h5lexists_f proc~writearray_hdf5_real_r2_serial->h5dclose_f proc~writearray_hdf5_real_r2_serial->h5dwrite_f proc~writearray_hdf5_real_r2_serial->h5dcreate_f proc~writearray_hdf5_real_r2_serial->h5screate_simple_f proc~writearray_hdf5_real_r2_serial->h5sclose_f proc~calculateentropy_dgmodel2d_t CalculateEntropy_DGModel2D_t proc~calculateentropy_dgmodel2d_t->mpi_allreduce proc~twopointfluxmethod_ecdgmodel2d_t TwoPointFluxMethod_ECDGModel2D_t proc~mappedderivative_mappedscalar1d_t MappedDerivative_MappedScalar1D_t proc~calculatemetricterms_semquad CalculateMetricTerms_SEMQuad proc~incrementiocounter IncrementIOCounter proc~readattribute_hdf5_real->h5aclose_f proc~readattribute_hdf5_real->h5aread_f proc~readattribute_hdf5_real->h5aget_type_f proc~readattribute_hdf5_real->h5aopen_f proc~readattribute_hdf5_real->h5tclose_f proc~boundaryinterp_tensor2d_t BoundaryInterp_Tensor2D_t proc~source3d_model source3d_Model proc~updatehost_vector2d_t UpdateHost_Vector2D_t proc~applytransferplanrange->proc~applytransferplanwindow proc~setequation_vector3d_t SetEquation_Vector3D_t proc~setequation_vector3d_t->equationparser proc~init_domaindecomposition_t Init_DomainDecomposition_t proc~init_domaindecomposition_t->proc~acquirempi proc~init_domaindecomposition_t->mpi_comm_size proc~init_domaindecomposition_t->mpi_comm_rank proc~maparrays_scalar3d_t MapArrays_Scalar3D_t proc~maparrays_scalar3d_t->proc~ensurepool proc~free_lagrange_t Free_Lagrange_t proc~buildmodaltransform~2 BuildModalTransform proc~normalizedlegendre~2 NormalizedLegendre proc~buildmodaltransform~2->proc~normalizedlegendre~2 proc~invertmatrix~2 InvertMatrix proc~buildmodaltransform~2->proc~invertmatrix~2 proc~readarray_hdf5_real_r5_serial->h5dopen_f proc~readarray_hdf5_real_r5_serial->h5dclose_f proc~readarray_hdf5_real_r5_serial->h5dread_f proc~readarray_hdf5_real_r5_serial->h5kind_to_type proc~refineconnectivity~2 RefineConnectivity proc~hbc2d_nonormalflow_esatmo2d hbc2d_NoNormalFlow_ESAtmo2D proc~setunits_dataobj SetUnits_DataObj proc~buildgeometry_amrcontroller3d BuildGeometry_AMRController3D proc~buildgeometry_amrcontroller3d->proc~resolvegeomdebug~2 proc~verifygeometry~2 VerifyGeometry proc~buildgeometry_amrcontroller3d->proc~verifygeometry~2 proc~setsolutionfromeqn_dgmodel2d_t SetSolutionFromEqn_DGModel2D_t proc~associategeometry_mappedscalar3d_t AssociateGeometry_MappedScalar3D_t proc~evalscalar_3d_points_t EvalScalar_3D_Points_t proc~additionalfree_esatmo3d_t AdditionalFree_ESAtmo3D_t proc~mapboundaryconditions_dgmodel3d_t MapBoundaryConditions_DGModel3D_t proc~finisholdwindowexchange->mpi_waitall proc~leafcoords_octreemesh3d LeafCoords_OctreeMesh3D proc~leafcoords_octreemesh3d->proc~subdividenodecoords proc~determinant_tensor3d_t Determinant_Tensor3D_t proc~printtype_model PrintType_Model proc~readarray_hdf5_int32_r1_serial->h5dopen_f proc~readarray_hdf5_int32_r1_serial->h5dclose_f proc~readarray_hdf5_int32_r1_serial->h5dread_f proc~readarray_hdf5_int32_r1_serial->h5kind_to_type proc~free_mesh3d Free_Mesh3D proc~free_mesh3d->interface~hipfree proc~free_mesh3d->proc~gpucheck proc~updatesolution_dgmodel3d_t UpdateSolution_DGModel3D_t proc~updategrk4_dgmodel1d_t UpdateGRK4_DGModel1D_t proc~setinteriorfromequation_mappedscalar1d SetInteriorFromEquation_MappedScalar1D proc~setinteriorfromequation_mappedscalar1d->proc~gpucheck proc~setinteriorfromequation_mappedscalar1d->interface~hipmemcpy proc~boundaryinterp_scalar3d BoundaryInterp_Scalar3D interface~boundaryinterp_3d_gpu BoundaryInterp_3D_gpu proc~boundaryinterp_scalar3d->interface~boundaryinterp_3d_gpu proc~free_semhex Free_SEMHex proc~init_twopointvector2d_t Init_TwoPointVector2D_t proc~init_twopointvector2d_t->equationparser interface~hbc3d_mirror_ecadvection3d_gpu hbc3d_mirror_ecadvection3d_gpu proc~write_mesh1d Write_Mesh1D proc~write_mesh1d->interface~writearray_hdf5 proc~write_mesh1d->interface~open_hdf5 proc~write_mesh1d->interface~writeattribute_hdf5 proc~write_mesh1d->proc~close_hdf5 proc~boundaryflux_lineareuler2d boundaryflux_LinearEuler2D proc~boundaryflux_lineareuler2d->interface~boundaryflux_lineareuler2d_gpu proc~fluxmethod_dgmodel1d fluxmethod_DGModel1D proc~fluxmethod_dgmodel1d->proc~gpucheck proc~fluxmethod_dgmodel1d->interface~hipmemcpy proc~hbc2d_nonormalflow_esatmo2d_gpu_wrapper hbc2d_NoNormalFlow_ESAtmo2D_GPU_wrapper proc~hbc2d_nonormalflow_esatmo2d_gpu_wrapper->interface~hbc2d_nonormalflow_esatmo2d_gpu proc~mpimortarexchangeasync_mappedscalar2d MPIMortarExchangeAsync_MappedScalar2D proc~mpimortarexchangeasync_mappedscalar2d->mpi_irecv proc~mpimortarexchangeasync_mappedscalar2d->mpi_isend proc~hbc2d_mirror_ecadvection2d_gpu_wrapper hbc2d_Mirror_ECAdvection2D_GPU_wrapper proc~hbc2d_mirror_ecadvection2d_gpu_wrapper->interface~hbc2d_mirror_ecadvection2d_gpu interface~sourcemethod_linearshallowwater2d_gpu sourcemethod_LinearShallowWater2D_gpu proc~diffusivefluxmethod_esatmo3d DiffusiveFluxMethod_ESAtmo3D proc~diffusivefluxmethod_esatmo3d->interface~diffusiveflux_esatmo3d_gpu proc~divergence_vector3d Divergence_Vector3D proc~divergence_vector3d->interface~vectordivergence_3d_gpu proc~generatefrommesh_semhex GenerateFromMesh_SEMHex proc~sideexchangestart_mappedscalar2d SideExchangeStart_MappedScalar2D proc~sideexchangestart_mappedscalar2d->proc~gpucheck proc~sideexchangestart_mappedscalar2d->interface~halopack_2d_gpu proc~sideexchangestart_mappedscalar2d->interface~hipmalloc interface~sideexchange_2d_gpu SideExchange_2D_gpu proc~sideexchangestart_mappedscalar2d->interface~sideexchange_2d_gpu proc~sideexchangestart_mappedscalar2d->mpi_recv_init proc~sideexchangestart_mappedscalar2d->mpi_request_free proc~sideexchangestart_mappedscalar2d->mpi_startall proc~sideexchangestart_mappedscalar2d->mpi_send_init proc~setdiffusion_esatmo3d_t SetDiffusion_ESAtmo3D_t proc~init_twopointvector3d Init_TwoPointVector3D proc~init_twopointvector3d->proc~gpucheck proc~init_twopointvector3d->interface~hipmalloc proc~init_twopointvector3d->equationparser proc~domainboundaryid3d->proc~bilinearfacepoint3d interface~boundaryflux_lineareuler3d_gpu boundaryflux_LinearEuler3D_gpu proc~updatedevice_tensor3d UpdateDevice_Tensor3D proc~updatedevice_tensor3d->proc~gpucheck proc~updatedevice_tensor3d->interface~hipmemcpy proc~hbc2d_nonormalflow_ecadvection2d hbc2d_NoNormalFlow_ECAdvection2D proc~sideexchange_mappedscalar2d SideExchange_MappedScalar2D proc~flux3d_advection_diffusion_3d_t flux3d_advection_diffusion_3d_t proc~hbc2d_nonormalflow_advection_diffusion_2d_t hbc2d_NoNormalFlow_advection_diffusion_2d_t proc~pbc2d_nostress_esatmo2d pbc2d_NoStress_ESAtmo2D proc~setnumberofvariables_lineareuler2d_t SetNumberOfVariables_LinearEuler2D_t proc~qt_opposite qt_opposite proc~doublemortarmesh_mesh2d_t DoubleMortarMesh_Mesh2D_t proc~sourcemethod_linearshallowwater2d sourcemethod_LinearShallowWater2D proc~sourcemethod_linearshallowwater2d->interface~sourcemethod_linearshallowwater2d_gpu proc~reportmetrics_model ReportMetrics_Model proc~flux2d_linearshallowwater2d_t flux2d_LinearShallowWater2D_t proc~calculatebarycentricweights CalculateBarycentricWeights proc~pbc2d_nostress_advection_diffusion_2d_t pbc2d_NoStress_advection_diffusion_2d_t proc~init_amrcontroller3d Init_AMRController3D proc~initforestfromdecomposedmesh~2 InitForestFromDecomposedMesh proc~init_amrcontroller3d->proc~initforestfromdecomposedmesh~2 proc~additionalinit_ecadvection2d AdditionalInit_ECAdvection2D proc~additionalinit_ecadvection2d_t AdditionalInit_ECAdvection2D_t proc~additionalinit_ecadvection2d->proc~additionalinit_ecadvection2d_t proc~boundaryinterp_vector3d BoundaryInterp_Vector3D proc~boundaryinterp_vector3d->interface~boundaryinterp_3d_gpu proc~entropy_func_ecadvection2d_t entropy_func_ECAdvection2D_t interface~diffusiveflux_esatmo2d_gpu diffusiveflux_esatmo2d_gpu proc~writetecplot_dgmodel2d_t WriteTecplot_DGModel2D_t proc~writetecplot_dgmodel2d_t->proc~newunit proc~boundaryflux_dgmodel3d BoundaryFlux_DGModel3D proc~boundaryflux_dgmodel3d->proc~gpucheck proc~boundaryflux_dgmodel3d->interface~hipmemcpy proc~updategrk3_dgmodel1d UpdateGRK3_DGModel1D proc~updategrk3_dgmodel1d->interface~updategrk_gpu interface~twopointfluxmethod_ecadvection3d_gpu twopointfluxmethod_ecadvection3d_gpu proc~write_dgmodel2d_t Write_DGModel2D_t proc~write_dgmodel2d_t->proc~creategroup_hdf5 proc~write_dgmodel2d_t->interface~open_hdf5 proc~write_dgmodel2d_t->proc~close_hdf5 proc~calculatetendency_dgmodel2d_t CalculateTendency_DGModel2D_t proc~hbc3d_radiation_lineareuler3d_gpu_wrapper hbc3d_Radiation_LinearEuler3D_GPU_wrapper proc~hbc3d_radiation_lineareuler3d_gpu_wrapper->interface~hbc3d_radiation_lineareuler3d_gpu proc~gpuavailable~2 GPUAvailable interface~hipgetdevicecount~2 hipGetDeviceCount proc~gpuavailable~2->interface~hipgetdevicecount~2 proc~mapboundaryconditions_dgmodel2d_t MapBoundaryConditions_DGModel2D_t proc~writetecplot_semquad WriteTecplot_SEMQuad proc~writetecplot_semquad->proc~newunit proc~mpimortarexchangeasync_mappedvector3d MPIMortarExchangeAsync_MappedVector3D proc~mpimortarexchangeasync_mappedvector3d->mpi_irecv proc~mpimortarexchangeasync_mappedvector3d->mpi_isend proc~read_hopr_mesh3d_t Read_HOPr_Mesh3D_t proc~read_hopr_mesh3d_t->interface~readattribute_hdf5 proc~read_hopr_mesh3d_t->interface~open_hdf5 proc~read_hopr_mesh3d_t->interface~readarray_hdf5 proc~read_hopr_mesh3d_t->proc~close_hdf5 proc~setcoriolis_betaplane_linearshallowwater2d_t SetCoriolis_betaplane_LinearShallowWater2D_t proc~resize_mappedscalar2d Resize_MappedScalar2D proc~resize_mappedscalar2d->interface~hipfree proc~resize_mappedscalar2d->proc~gpucheck proc~ensuredevicebuffers_mappedscalar2d EnsureDeviceBuffers_MappedScalar2D proc~resize_mappedscalar2d->proc~ensuredevicebuffers_mappedscalar2d proc~resize_mappedscalar2d_t Resize_MappedScalar2D_t proc~resize_mappedscalar2d->proc~resize_mappedscalar2d_t proc~resize_mappedscalar2d->mpi_request_free proc~twopointfluxmethod_ecadvection3d TwoPointFluxMethod_ECAdvection3D proc~twopointfluxmethod_ecadvection3d->interface~twopointfluxmethod_ecadvection3d_gpu proc~hbc3d_nonormalflow_advection_diffusion_3d_t hbc3d_NoNormalFlow_advection_diffusion_3d_t interface~boundaryflux_esatmo2d_gpu boundaryflux_esatmo2d_gpu proc~boundaryflux_esatmo2d BoundaryFlux_ESAtmo2D proc~boundaryflux_esatmo2d->interface~boundaryflux_esatmo2d_gpu proc~entropy_func_lineareuler2d_t entropy_func_LinearEuler2D_t proc~init_tensor3d Init_Tensor3D proc~ensuredevicebuffers_tensor3d EnsureDeviceBuffers_Tensor3D proc~init_tensor3d->proc~ensuredevicebuffers_tensor3d proc~init_tensor3d->equationparser proc~pbc3d_nostress_advection_diffusion_3d_t pbc3d_NoStress_advection_diffusion_3d_t proc~calculatemetricterms_semhex CalculateMetricTerms_SEMHex proc~updategrk4_dgmodel3d UpdateGRK4_DGModel3D proc~updategrk4_dgmodel3d->interface~updategrk_calculatedsdt_gpu proc~updatedevice_scalar2d UpdateDevice_Scalar2D proc~updatedevice_scalar2d->proc~gpucheck proc~updatedevice_scalar2d->interface~hipmemcpy proc~associategeometry_mappedvector3d_t AssociateGeometry_MappedVector3D_t proc~calculatesolutiongradient_dgmodel3d_t CalculateSolutionGradient_DGModel3D_t proc~refineconnectivity RefineConnectivity proc~pretendencyhook_model PreTendencyHook_Model proc~mortarexchange_mappedscalar2d MortarExchange_MappedScalar2D proc~mortarexchange_mappedscalar2d->proc~gpucheck proc~mortarexchange_mappedscalar2d->interface~mortargather_2d_gpu proc~mortarexchange_mappedscalar2d->interface~mortarscatter_2d_gpu proc~mortarexchange_mappedscalar2d->interface~hipmalloc proc~mortarexchange_mappedscalar2d->interface~mortarflip_2d_gpu proc~exchangeoldwindowflat->proc~postoldwindowexchange proc~exchangeoldwindowflat->proc~finisholdwindowexchange proc~exchangeoldwindowflat->proc~ownedrun proc~oc_reflect oc_reflect proc~updatedevice_vector2d_t UpdateDevice_Vector2D_t proc~free_twopointvector2d_t Free_TwoPointVector2D_t proc~mortarfluxcollect_mappedvector2d_t MortarFluxCollect_MappedVector2D_t proc~generatefromnodecoords_semhex GenerateFromNodeCoords_SEMHex proc~sourcemethod_ecadvection3d SourceMethod_ECAdvection3D proc~sourcemethod_ecadvection3d->proc~gpucheck proc~sourcemethod_ecadvection3d->interface~hipmemcpy interface~updatesolution_calculatedsdt_gpu UpdateSolution_CalculateDSDt_gpu proc~init_refinementindicator3d Init_RefinementIndicator3D proc~init_refinementindicator3d->proc~gpucheck proc~init_refinementindicator3d->proc~init_refinementindicator3d_t proc~init_refinementindicator3d->interface~hipmalloc proc~uniformperiodicmesh_mesh3d_t UniformPeriodicMesh_Mesh3D_t proc~uniformperiodicmesh_mesh3d_t->proc~gid2eid proc~uniformperiodicmesh_mesh3d_t->proc~elementid proc~twopointfluxmethod_esatmo2d TwoPointFluxMethod_ESAtmo2D interface~twopointfluxmethod_esatmo2d_gpu twopointfluxmethod_esatmo2d_gpu proc~twopointfluxmethod_esatmo2d->interface~twopointfluxmethod_esatmo2d_gpu proc~boundaryflux_esatmo2d_t BoundaryFlux_ESAtmo2D_t proc~twopointflux2d_ecadvection2d_t twopointflux2d_ECAdvection2D_t proc~readarray_hdf5_real_r4_parallel->h5pclose_f proc~readarray_hdf5_real_r4_parallel->h5dopen_f proc~readarray_hdf5_real_r4_parallel->h5pset_dxpl_mpio_f proc~readarray_hdf5_real_r4_parallel->h5pcreate_f proc~readarray_hdf5_real_r4_parallel->h5dclose_f proc~readarray_hdf5_real_r4_parallel->h5screate_simple_f proc~readarray_hdf5_real_r4_parallel->h5sselect_hyperslab_f proc~readarray_hdf5_real_r4_parallel->h5dget_space_f proc~readarray_hdf5_real_r4_parallel->h5dread_f proc~readarray_hdf5_real_r4_parallel->h5sclose_f proc~readarray_hdf5_real_r4_parallel->h5tclose_f proc~readarray_hdf5_real_r4_parallel->h5dget_type_f proc~init_mesh2d_t Init_Mesh2D_t proc~reportusermetrics_model ReportUserMetrics_Model proc~init_dgmodel1d_t Init_DGModel1D_t proc~resolveenergyscale~2->mpi_allreduce proc~oc_subpos oc_subpos proc~free_domaindecomposition_t Free_DomainDecomposition_t proc~free_domaindecomposition_t->proc~releasempi proc~verifygeometry VerifyGeometry proc~hbc2d_nonormalflow_linearshallowwater2d_gpu_wrapper hbc2d_NoNormalFlow_LinearShallowWater2D_GPU_wrapper proc~hbc2d_nonormalflow_linearshallowwater2d_gpu_wrapper->interface~hbc2d_nonormalflow_linearshallowwater2d_gpu proc~setmetadata_dgmodel1d_t SetMetadata_DGModel1D_t proc~updategrk2_dgmodel3d_t UpdateGRK2_DGModel3D_t proc~riemannflux2d_linearshallowwater2d_t riemannflux2d_LinearShallowWater2D_t proc~updatedevice_refinementindicator3d_t UpdateDevice_RefinementIndicator3D_t proc~hbc2d_radiation_lineareuler2d hbc2d_Radiation_LinearEuler2D proc~pbc2d_nostress_esatmo2d_gpu_wrapper pbc2d_NoStress_ESAtmo2D_GPU_wrapper proc~pbc2d_nostress_esatmo2d_gpu_wrapper->interface~pbc2d_nostress_esatmo2d_gpu proc~mappeddggradient_mappedscalar2d_t MappedDGGradient_MappedScalar2D_t proc~prestephook_model PreStepHook_Model proc~qt_internal qt_internal proc~setsolutionfromchar_dgmodel2d_t SetSolutionFromChar_DGModel2D_t proc~read_hohqmesh_mesh3d_t Read_HOHQMesh_Mesh3D_t proc~read_hohqmesh_mesh3d_t->proc~build_nodecoords_for_hex proc~init_ecdgmodel3d_t Init_ECDGModel3D_t proc~init_ecdgmodel3d_t->proc~init_dgmodel3d_t proc~updategrk4_dgmodel1d UpdateGRK4_DGModel1D proc~updategrk4_dgmodel1d->interface~updategrk_gpu proc~free_dgmodel2d Free_DGModel2D proc~free_dgmodel2d->interface~hipfree proc~free_dgmodel2d->proc~gpucheck proc~free_dgmodel2d->proc~free_dgmodel2d_t proc~diffusiveboundaryflux_esatmo3d_t DiffusiveBoundaryFlux_ESAtmo3D_t proc~dissociategeometry_mappedvector3d_t DissociateGeometry_MappedVector3D_t interface~updatesolution_gpu UpdateSolution_gpu proc~mappedgradient_mappedscalar2d_t MappedGradient_MappedScalar2D_t proc~ensurecapacity_octreemesh3d EnsureCapacity_OctreeMesh3D proc~setnumberofvariables_lineareuler3d_t SetNumberOfVariables_LinearEuler3D_t proc~sideexchangefinish_mappedscalar3d SideExchangeFinish_MappedScalar3D proc~sideexchangefinish_mappedscalar3d->interface~halounpack_3d_gpu proc~sideexchangefinish_mappedscalar3d->mpi_waitall proc~twopointflux3d_ecdgmodel3d_t twopointflux3d_ECDGModel3D_t proc~free_twopointvector3d Free_TwoPointVector3D proc~free_twopointvector3d->interface~hipfree proc~free_twopointvector3d->proc~gpucheck proc~applyflip_mappedscalar2d_t ApplyFlip_MappedScalar2D_t proc~setequation_vector2d_t SetEquation_Vector2D_t proc~setequation_vector2d_t->equationparser proc~setmetadata_lineareuler3d_t SetMetadata_LinearEuler3D_t proc~applyindicatorsettings_amrcontroller3d ApplyIndicatorSettings_AMRController3D proc~fluxmethod_lineareuler2d fluxmethod_LinearEuler2D interface~fluxmethod_lineareuler2d_gpu fluxmethod_LinearEuler2D_gpu proc~fluxmethod_lineareuler2d->interface~fluxmethod_lineareuler2d_gpu interface~boundaryflux_ecadvection3d_gpu boundaryflux_ecadvection3d_gpu proc~leafcoords_quadtreemesh2d LeafCoords_QuadTreeMesh2D proc~leafcoords_quadtreemesh2d->proc~subdividenodecoords~2 proc~allgatherperelemints->mpi_allgatherv proc~generatedecomposition_domaindecomposition_t GenerateDecomposition_DomainDecomposition_t proc~updatehost_twopointvector2d_t UpdateHost_TwoPointVector2D_t proc~calculateinterpolationmatrix CalculateInterpolationMatrix proc~calculateinterpolationmatrix->interface~almostequal proc~free_refinementindicator3d Free_RefinementIndicator3D proc~free_refinementindicator3d->interface~hipfree proc~free_refinementindicator3d->proc~gpucheck proc~free_refinementindicator3d->proc~free_refinementindicator3d_t proc~calculatesolutiongradient_dgmodel3d CalculateSolutionGradient_DGModel3D proc~halokeysort->proc~haloswap proc~halosiftdown HaloSiftDown proc~halokeysort->proc~halosiftdown proc~locatepoints_2d_points LocatePoints_2D_Points proc~boundaryinterp_scalar2d BoundaryInterp_Scalar2D proc~boundaryinterp_scalar2d->interface~boundaryinterp_2d_gpu proc~flux2d_lineareuler2d_t flux2d_LinearEuler2D_t proc~mpimortarfluxasync_mappedvector3d_t MPIMortarFluxAsync_MappedVector3D_t proc~mpimortarfluxasync_mappedvector3d_t->mpi_irecv proc~mpimortarfluxasync_mappedvector3d_t->mpi_isend proc~averagesides_scalar2d AverageSides_Scalar2D proc~averagesides_scalar2d->interface~average_gpu proc~forwardstep_model ForwardStep_Model timer timer proc~forwardstep_model->timer proc~calculatetendency_esatmo3d CalculateTendency_ESAtmo3D proc~calculatetendency_esatmo3d->interface~calculatedsdt_gpu proc~calculatetendency_esatmo3d->interface~ecdgsurfacecontribution_3d_gpu proc~calculatetendency_esatmo3d->interface~accumulatefield_gpu proc~setinteriorfromequation_mappedscalar2d_t SetInteriorFromEquation_MappedScalar2D_t proc~almostequal_r64 AlmostEqual_r64 interface~almostequal->proc~almostequal_r64 proc~mappeddivergence_mappedtwopointvector3d_t MappedDivergence_MappedTwoPointVector3D_t proc~boundaryflux_ecadvection2d BoundaryFlux_ECAdvection2D proc~boundaryflux_ecadvection2d->interface~boundaryflux_ecadvection2d_gpu proc~resize_mappedvector2d_t->proc~resize_vector2d_t proc~mappeddgderivative_mappedscalar1d_t MappedDGDerivative_MappedScalar1D_t proc~normalizedlegendre NormalizedLegendre proc~sourcemethod_lineareuler2d_t sourcemethod_LinearEuler2D_t proc~updatedevice_twopointvector2d_t UpdateDevice_TwoPointVector2D_t proc~estimate_refinementindicator3d_t Estimate_RefinementIndicator3D_t proc~estimate_refinementindicator3d_t->proc~resolveenergyweights proc~estimate_refinementindicator3d_t->proc~resolveenergyscale proc~estimate_refinementindicator3d_t->proc~finalizeindicator proc~estimate_refinementindicator3d_t->proc~checkestimatearguments proc~estimate_refinementindicator3d_t->uhat proc~estimate_refinementindicator3d_t->tmp proc~read_dgmodel2d_t Read_DGModel2D_t proc~read_dgmodel2d_t->interface~open_hdf5 proc~read_dgmodel2d_t->interface~readarray_hdf5 proc~read_dgmodel2d_t->proc~close_hdf5 proc~read_dgmodel2d_t->proc~datasetexists_hdf5 proc~faceneighbor_octreemesh3d FaceNeighbor_OctreeMesh3D proc~faceneighbor_octreemesh3d->proc~oc_opposite proc~faceneighbor_octreemesh3d->proc~oc_internal proc~faceneighbor_octreemesh3d->proc~oc_reflect proc~faceneighbor_octreemesh3d->proc~oc_subpos proc~faceneighbor_octreemesh3d->proc~faceneighbor_octreemesh3d proc~uniformstructuredmesh_mesh3d_t UniformStructuredMesh_Mesh3D_t proc~uniformstructuredmesh_mesh3d_t->proc~elementid proc~init_mesh2d Init_Mesh2D proc~init_mesh2d->proc~gpucheck proc~init_mesh2d->interface~hipmalloc proc~setinteriorfromequation_mappedvector3d_t SetInteriorFromEquation_MappedVector3D_t proc~setelemtorank_domaindecomposition_t SetElemToRank_DomainDecomposition_t proc~setelemtorank_domaindecomposition_t->proc~domaindecomp proc~setelemtorank_domaindecomposition_t->proc~elemtorank proc~free_esatmo3d Free_ESAtmo3D proc~free_esatmo3d->interface~hipfree proc~free_esatmo3d->proc~gpucheck proc~free_ecdgmodel3d_t Free_ECDGModel3D_t proc~free_esatmo3d->proc~free_ecdgmodel3d_t proc~init_scalar2d_t Init_Scalar2D_t proc~riemannflux3d_advection_diffusion_3d_t riemannflux3d_advection_diffusion_3d_t proc~poststephook_model PostStepHook_Model proc~updatehost_twopointvector3d UpdateHost_TwoPointVector3D proc~updatehost_twopointvector3d->proc~gpucheck proc~updatehost_twopointvector3d->interface~hipmemcpy proc~dissociategeometry_mappedscalar3d_t DissociateGeometry_MappedScalar3D_t proc~applytransferplan~2 ApplyTransferPlan proc~applytransferplan~2->proc~applytransferplanrange~2 proc~sideexchange_mappedvector2d_t SideExchange_MappedVector2D_t proc~calculateentropy_dgmodel3d CalculateEntropy_DGModel3D proc~calculateentropy_dgmodel3d->proc~gpucheck proc~calculateentropy_dgmodel3d->interface~hipmemcpy proc~calculateentropy_dgmodel3d->mpi_allreduce proc~boundaryflux_esatmo3d_t BoundaryFlux_ESAtmo3D_t proc~locatepoints_3d_points LocatePoints_3D_Points proc~init_quadtreemesh2d Init_QuadTreeMesh2D proc~ensuredevicebuffers_mappedscalar2d->ensuredevicebuffer ensuredevicebuffers_scalar2d ensuredevicebuffers_scalar2d proc~ensuredevicebuffers_mappedscalar2d->ensuredevicebuffers_scalar2d proc~ensuredevicebuffers_tensor3d->ensuredevicebuffer proc~free_octreemesh3d Free_OctreeMesh3D proc~applyflip_mappedvector3d_t ApplyFlip_MappedVector3D_t proc~write_mesh2d_t Write_Mesh2D_t proc~write_mesh2d_t->interface~writearray_hdf5 proc~write_mesh2d_t->interface~open_hdf5 proc~write_mesh2d_t->interface~writeattribute_hdf5 proc~write_mesh2d_t->proc~close_hdf5 proc~sourcemethod_dgmodel1d sourcemethod_DGModel1D proc~sourcemethod_dgmodel1d->proc~gpucheck proc~sourcemethod_dgmodel1d->interface~hipmemcpy proc~updatesolution_dgmodel2d_t UpdateSolution_DGModel2D_t proc~setname_metadata SetName_Metadata proc~writehdf5_mpi_scalar3d_t WriteHDF5_MPI_Scalar3D_t proc~writehdf5_mpi_scalar3d_t->interface~writearray_hdf5 proc~writehdf5_mpi_scalar3d_t->proc~creategroup_hdf5 proc~downloadoldwindow_dgmodel3d DownloadOldWindow_DGModel3D proc~downloadoldwindow_dgmodel3d->proc~gpucheck proc~downloadoldwindow_dgmodel3d->interface~hipmemcpy interface~gradientnormal_1d_gpu GradientNormal_1D_gpu proc~halosiftdown->proc~haloswap proc~boundaryflux_advection_diffusion_3d boundaryflux_advection_diffusion_3d interface~boundaryflux_advection_diffusion_3d_gpu boundaryflux_advection_diffusion_3d_gpu proc~boundaryflux_advection_diffusion_3d->interface~boundaryflux_advection_diffusion_3d_gpu interface~halounpack_2d_gpu HaloUnpack_2D_gpu proc~determinant_tensor2d_t Determinant_Tensor2D_t proc~mpimortarexchangeasync_mappedscalar3d MPIMortarExchangeAsync_MappedScalar3D proc~mpimortarexchangeasync_mappedscalar3d->mpi_irecv proc~mpimortarexchangeasync_mappedscalar3d->mpi_isend interface~fluxmethod_advection_diffusion_3d_gpu fluxmethod_advection_diffusion_3d_gpu proc~free_quadtreemesh2d Free_QuadTreeMesh2D proc~twopointfluxmethod_ecadvection2d TwoPointFluxMethod_ECAdvection2D proc~twopointfluxmethod_ecadvection2d->interface~twopointfluxmethod_ecadvection2d_gpu proc~riemannflux3d_model riemannflux3d_Model proc~legendregauss LegendreGauss proc~legendregauss->proc~legendrepolynomial proc~free_ecdgmodel3d_t->proc~free_dgmodel3d_t proc~init_vector2d Init_Vector2D proc~ensuredevicebuffers_vector2d EnsureDeviceBuffers_Vector2D proc~init_vector2d->proc~ensuredevicebuffers_vector2d proc~init_vector2d->equationparser proc~resize_tensor3d Resize_Tensor3D proc~resize_tensor3d->proc~resize_tensor3d_t proc~resize_tensor3d->proc~ensuredevicebuffers_tensor3d proc~init_scalar1d_t Init_Scalar1D_t proc~additionalfree_esatmo2d_t AdditionalFree_ESAtmo2D_t proc~init_esatmo2d Init_ESAtmo2D proc~init_esatmo2d->proc~gpucheck proc~init_esatmo2d->interface~hipmemcpy proc~init_esatmo2d->proc~init_ecdgmodel2d_t proc~init_esatmo2d->interface~hipmalloc proc~updatedevice_twopointvector3d UpdateDevice_TwoPointVector3D proc~updatedevice_twopointvector3d->proc~gpucheck proc~updatedevice_twopointvector3d->interface~hipmemcpy proc~writehdf5_scalar2d_t WriteHDF5_Scalar2D_t proc~writehdf5_scalar2d_t->interface~writearray_hdf5 proc~writehdf5_scalar2d_t->proc~creategroup_hdf5 proc~additionalinit_lineareuler2d_t AdditionalInit_LinearEuler2D_t proc~updategrk3_dgmodel3d_t UpdateGRK3_DGModel3D_t proc~applytransferplanrange~2->proc~applytransferplanwindow~2 proc~calculatesolutiongradient_dgmodel1d CalculateSolutionGradient_DGModel1D proc~calculatesolutiongradient_dgmodel1d->interface~gradientnormal_1d_gpu proc~legendrequadrature->proc~legendregausslobatto proc~legendrequadrature->proc~legendregauss proc~writeattribute_hdf5_int32->h5aclose_f h5awrite_f h5awrite_f proc~writeattribute_hdf5_int32->h5awrite_f proc~writeattribute_hdf5_int32->h5sclose_f h5acreate_f h5acreate_f proc~writeattribute_hdf5_int32->h5acreate_f h5screate_f h5screate_f proc~writeattribute_hdf5_int32->h5screate_f interface~diffusiveboundaryflux_esatmo2d_gpu diffusiveboundaryflux_esatmo2d_gpu proc~qt_reflect qt_reflect proc~updatesolution_dgmodel2d UpdateSolution_DGModel2D proc~updatesolution_dgmodel2d->interface~updatesolution_gpu proc~mortarexchange_mappedvector3d_t MortarExchange_MappedVector3D_t proc~mortarexchange_mappedvector3d_t->proc~mortarfacemap proc~mortarexchange_mappedvector3d_t->acc proc~mortarexchange_mappedvector3d_t->tmp proc~free_vector2d Free_Vector2D proc~free_vector2d->interface~hipfree proc~free_vector2d->proc~free_vector2d_t proc~free_vector2d->proc~gpucheck proc~updatedevice_points UpdateDevice_Points proc~updatedevice_points->interface~hipfree proc~updatedevice_points->proc~gpucheck proc~updatedevice_points->interface~hipmemcpy proc~updatedevice_points->interface~hipmalloc proc~sideexchange_mappedscalar3d SideExchange_MappedScalar3D proc~calculateentropy_dgmodel3d_t CalculateEntropy_DGModel3D_t proc~calculateentropy_dgmodel3d_t->mpi_allreduce proc~divergence_twopointvector2d_t Divergence_TwoPointVector2D_t proc~writetecplot_semhex WriteTecplot_SEMHex proc~writetecplot_semhex->proc~newunit proc~riemannflux2d_ecadvection2d_t riemannflux2d_ECAdvection2D_t proc~hbc3d_radiation_lineareuler3d hbc3d_Radiation_LinearEuler3D proc~init_dgmodel3d Init_DGModel3D proc~init_dgmodel3d->proc~gpucheck proc~init_dgmodel3d->interface~hipmemcpy proc~init_dgmodel3d->proc~init_dgmodel3d_t proc~init_dgmodel3d->interface~hipmalloc proc~additionalfree_linearshallowwater2d_t AdditionalFree_LinearShallowWater2D_t proc~mapboundaryconditions_dgmodel1d_t MapBoundaryConditions_DGModel1D_t proc~mpiexchangeasync_mappedvector3d_t MPIExchangeAsync_MappedVector3D_t proc~mpiexchangeasync_mappedvector3d_t->mpi_irecv proc~mpiexchangeasync_mappedvector3d_t->mpi_isend proc~nextgeombuffer_amrcontroller3d NextGeomBuffer_AMRController3D proc~setboundarycondition_dgmodel3d_t setboundarycondition_DGModel3D_t proc~diagnosegeostrophicvelocity_linearshallowwater2d_t DiagnoseGeostrophicVelocity_LinearShallowWater2D_t proc~source1d_model source1d_Model proc~averagesides_scalar3d_t AverageSides_Scalar3D_t proc~writearray_hdf5_real_r3_serial->h5dclose_f proc~writearray_hdf5_real_r3_serial->h5dwrite_f proc~writearray_hdf5_real_r3_serial->h5dcreate_f proc~writearray_hdf5_real_r3_serial->h5screate_simple_f proc~writearray_hdf5_real_r3_serial->h5sclose_f proc~simplemortarmesh_mesh2d_t SimpleMortarMesh_Mesh2D_t proc~sourcemethod_ecadvection2d SourceMethod_ECAdvection2D proc~sourcemethod_ecadvection2d->proc~gpucheck proc~sourcemethod_ecadvection2d->interface~hipmemcpy proc~free_ecadvection3d Free_ECAdvection3D proc~free_ecadvection3d->interface~hipfree proc~free_ecadvection3d->proc~gpucheck proc~free_ecadvection3d->proc~free_ecdgmodel3d_t proc~ensurescratch_semhex EnsureScratch_SEMHex proc~free_tensor3d Free_Tensor3D proc~free_tensor3d->interface~hipfree proc~free_tensor3d->proc~gpucheck proc~free_tensor3d->proc~free_tensor3d_t proc~migrateoldwindow_dgmodel3d MigrateOldWindow_DGModel3D proc~migrateoldwindow_dgmodel3d->proc~postoldwindowexchange proc~migrateoldwindow_dgmodel3d->interface~hipfree proc~migrateoldwindow_dgmodel3d->proc~gpucheck proc~migrateoldwindow_dgmodel3d->proc~finisholdwindowexchange proc~migrateoldwindow_dgmodel3d->interface~hipmalloc proc~migrateoldwindow_dgmodel3d->interface~migratewindowlocal_gpu proc~migrateoldwindow_dgmodel3d->proc~ownedrun proc~free_mappedscalar2d Free_MappedScalar2D proc~free_mappedscalar2d->interface~hipfree proc~free_mappedscalar2d->proc~gpucheck proc~free_mappedscalar2d->proc~free_scalar2d_t proc~free_mappedscalar2d->mpi_request_free proc~free_mappedscalar2d->mpi_finalized proc~gridinterp_scalar2d GridInterp_Scalar2D proc~gridinterp_scalar2d->interface~gridinterp_2d_gpu proc~regrid_dgmodel2d Regrid_DGModel2D proc~regrid_dgmodel2d->interface~hipfree proc~regrid_dgmodel2d->proc~regrid_dgmodel2d_t proc~regrid_dgmodel2d->proc~gpucheck proc~regrid_dgmodel2d->interface~hipmemcpy proc~regrid_dgmodel2d->interface~hipmalloc proc~invertmatrix InvertMatrix proc~sideexchange_mappedvector2d SideExchange_MappedVector2D proc~sideexchange_mappedvector2d->interface~halounpack_2d_gpu proc~sideexchange_mappedvector2d->interface~sideexchange_2d_gpu proc~setmetadata_dgmodel2d_t SetMetadata_DGModel2D_t proc~restrictfromchildren~2 RestrictFromChildren proc~applytransferplanwindow~2->proc~restrictfromchildren~2 proc~prolongtochildren~2 ProlongToChildren proc~applytransferplanwindow~2->proc~prolongtochildren~2 interface~mappedtwopointvectordivergence_2d_gpu MappedTwoPointVectorDivergence_2D_gpu proc~nextgeombuffer_amrcontroller2d NextGeomBuffer_AMRController2D proc~gridinterp_scalar3d_t GridInterp_Scalar3D_t proc~uniformrefinemesh UniformRefineMesh proc~uniformrefinemesh->proc~subdividenodecoords proc~uniformrefinemesh->proc~refineconnectivity proc~dissociategeometry_mappedtwopointvector3d_t DissociateGeometry_MappedTwoPointVector3D_t proc~verifywindowedapply VerifyWindowedApply proc~verifywindowedapply->proc~applytransferplanwindow~2 proc~sphericalsoundwave_lineareuler2d_t SphericalSoundWave_LinearEuler2D_t proc~updatehost_refinementindicator3d UpdateHost_RefinementIndicator3D proc~updatehost_refinementindicator3d->proc~gpucheck proc~updatehost_refinementindicator3d->interface~hipmemcpy proc~ensurecapacity_quadtreemesh2d EnsureCapacity_QuadTreeMesh2D proc~forwardshift ForwardShift proc~free_mesh2d_t Free_Mesh2D_t proc~updatesolution_dgmodel3d UpdateSolution_DGModel3D proc~updatesolution_dgmodel3d->interface~updatesolution_calculatedsdt_gpu proc~calculatetendency_ecdgmodel2d CalculateTendency_ECDGModel2D proc~calculatetendency_ecdgmodel2d->interface~calculatedsdt_gpu proc~calculatetendency_ecdgmodel2d->interface~ecdgsurfacecontribution_2d_gpu proc~writehdf5_vector3d_t WriteHDF5_Vector3D_t proc~writehdf5_vector3d_t->interface~writearray_hdf5 proc~writehdf5_vector3d_t->proc~creategroup_hdf5 proc~riemannflux2d_lineareuler2d_t riemannflux2d_LinearEuler2D_t proc~writearray_hdf5_real_r1_serial->h5dclose_f proc~writearray_hdf5_real_r1_serial->h5dwrite_f proc~writearray_hdf5_real_r1_serial->h5dcreate_f proc~writearray_hdf5_real_r1_serial->h5screate_simple_f proc~writearray_hdf5_real_r1_serial->h5sclose_f proc~setmetadata_linearshallowwater2d_t SetMetadata_LinearShallowWater2D_t proc~init_tensor2d_t Init_Tensor2D_t proc~init_tensor2d_t->equationparser proc~diracdelta_2d_points_t DiracDelta_2D_Points_t proc~updategrk3_dgmodel2d_t UpdateGRK3_DGModel2D_t proc~divergence_twopointvector3d Divergence_TwoPointVector3D proc~divergence_twopointvector3d->interface~twopointvectordivergence_3d_gpu proc~calculatetendency_dgmodel1d CalculateTendency_DGModel1D proc~calculatetendency_dgmodel1d->interface~calculatedsdt_gpu proc~hbc3d_mirror_ecadvection3d_gpu_wrapper hbc3d_Mirror_ECAdvection3D_GPU_wrapper proc~hbc3d_mirror_ecadvection3d_gpu_wrapper->interface~hbc3d_mirror_ecadvection3d_gpu proc~fluxmethod_dgmodel3d_t fluxmethod_DGModel3D_t proc~euler_timeintegrator Euler_timeIntegrator proc~calculatetendency_ecdgmodel2d_t CalculateTendency_ECDGModel2D_t proc~additionalinit_advection_diffusion_2d_t AdditionalInit_advection_diffusion_2d_t proc~build_nodecoords_for_element->proc~chebyshevquadrature proc~mortarexchange_mappedvector3d MortarExchange_MappedVector3D proc~mortarexchange_mappedvector3d->proc~gpucheck proc~mortarexchange_mappedvector3d->interface~hipmalloc proc~mortarexchange_mappedvector3d->interface~mortarflip_3d_gpu proc~mortarexchange_mappedvector3d->interface~mortarscatter_3d_gpu proc~mortarexchange_mappedvector3d->interface~mortargather_3d_gpu proc~gridinterp_vector2d_t GridInterp_Vector2D_t proc~uniformrefinemesh~2 UniformRefineMesh proc~uniformrefinemesh~2->proc~subdividenodecoords~2 proc~uniformrefinemesh~2->proc~refineconnectivity~2 proc~resolvegeomdebug ResolveGeomDebug proc~sphericalsoundwave_lineareuler3d_t SphericalSoundWave_LinearEuler3D_t proc~associategeometry_mappedvector2d_t AssociateGeometry_MappedVector2D_t proc~setdiffusion_esatmo2d_t SetDiffusion_ESAtmo2D_t proc~mappedderivative_mappedscalar1d MappedDerivative_MappedScalar1D proc~mappedderivative_mappedscalar1d->interface~jacobianweight_1d_gpu proc~init_dgmodel2d Init_DGModel2D proc~init_dgmodel2d->proc~init_dgmodel2d_t proc~init_dgmodel2d->proc~gpucheck proc~init_dgmodel2d->interface~hipmemcpy proc~init_dgmodel2d->interface~hipmalloc proc~mortarexchange_mappedscalar3d_t MortarExchange_MappedScalar3D_t proc~mortarexchange_mappedscalar3d_t->proc~mortarfacemap proc~mortarexchange_mappedscalar3d_t->acc proc~mortarexchange_mappedscalar3d_t->tmp proc~initforestfromdecomposedmesh~2->proc~allgatherperelemints~2 proc~initforestfromdecomposedmesh~2->proc~allgatherperelemreals~2 proc~initglobal_quadtreemesh2d InitGlobal_QuadTreeMesh2D proc~calculatetendency_dgmodel3d CalculateTendency_DGModel3D proc~settimeintegrator_withchar SetTimeIntegrator_withChar proc~settimeintegrator_withchar->proc~uppercase proc~read_hopr_mesh2d_t Read_HOPr_Mesh2D_t proc~read_hopr_mesh2d_t->interface~readattribute_hdf5 proc~read_hopr_mesh2d_t->interface~open_hdf5 proc~read_hopr_mesh2d_t->interface~readarray_hdf5 proc~read_hopr_mesh2d_t->proc~close_hdf5 proc~restrictfromchildren~2->tmp proc~restrictfromchildren~2->up proc~write_dgmodel1d_t Write_DGModel1D_t proc~write_dgmodel1d_t->proc~creategroup_hdf5 proc~write_dgmodel1d_t->interface~open_hdf5 proc~write_dgmodel1d_t->proc~close_hdf5 proc~writearray_hdf5_real_r4_parallel->h5pclose_f proc~writearray_hdf5_real_r4_parallel->h5pset_dxpl_mpio_f proc~writearray_hdf5_real_r4_parallel->h5pcreate_f proc~writearray_hdf5_real_r4_parallel->h5dclose_f proc~writearray_hdf5_real_r4_parallel->h5dwrite_f proc~writearray_hdf5_real_r4_parallel->h5dcreate_f proc~writearray_hdf5_real_r4_parallel->h5screate_simple_f proc~writearray_hdf5_real_r4_parallel->h5sselect_hyperslab_f proc~writearray_hdf5_real_r4_parallel->h5sclose_f proc~diffusiveboundaryflux_esatmo2d DiffusiveBoundaryFlux_ESAtmo2D proc~diffusiveboundaryflux_esatmo2d->interface~diffusiveboundaryflux_esatmo2d_gpu proc~hbc2d_radiation_linearshallowwater2d_gpu_wrapper hbc2d_Radiation_LinearShallowWater2D_GPU_wrapper proc~hbc2d_radiation_linearshallowwater2d_gpu_wrapper->interface~hbc2d_radiation_linearshallowwater2d_gpu proc~init_lagrange~2 Init_Lagrange proc~init_lagrange~2->proc~uniformpoints proc~init_lagrange~2->proc~gpucheck proc~init_lagrange~2->interface~hipmemcpy proc~init_lagrange~2->proc~chebyshevquadrature proc~init_lagrange~2->proc~gpuavailable proc~init_lagrange~2->interface~hipmalloc proc~init_lagrange~2->proc~legendrequadrature proc~additionalinit_lineareuler2d_pml AdditionalInit_LinearEuler2D_PML proc~additionalinit_lineareuler2d_pml->proc~additionalinit_lineareuler2d_pml_t proc~downloadoldwindow_dgmodel2d DownloadOldWindow_DGModel2D proc~downloadoldwindow_dgmodel2d->proc~gpucheck proc~downloadoldwindow_dgmodel2d->interface~hipmemcpy proc~maparrays_scalar2d_t MapArrays_Scalar2D_t proc~maparrays_scalar2d_t->proc~ensurepool proc~qt_subpos qt_subpos proc~associategeometry_mappedtwopointvector3d_t AssociateGeometry_MappedTwoPointVector3D_t proc~writearray_hdf5_real_r4_serial->h5dclose_f proc~writearray_hdf5_real_r4_serial->h5dwrite_f proc~writearray_hdf5_real_r4_serial->h5dcreate_f proc~writearray_hdf5_real_r4_serial->h5screate_simple_f proc~writearray_hdf5_real_r4_serial->h5sclose_f proc~diffusivefluxmethod_esatmo2d DiffusiveFluxMethod_ESAtmo2D proc~diffusivefluxmethod_esatmo2d->interface~diffusiveflux_esatmo2d_gpu proc~divergence_vector3d_t Divergence_Vector3D_t proc~mappeddivergence_mappedvector3d_t MappedDivergence_MappedVector3D_t proc~hbc2d_nonormalflow_lineareuler2d hbc2d_NoNormalFlow_LinearEuler2D proc~updatedevice_mesh2d_t UpdateDevice_Mesh2D_t proc~sourcemethod_lineareuler2d_pml_t sourcemethod_LinearEuler2D_PML_t proc~init_scalar1d Init_Scalar1D proc~init_scalar1d->proc~gpucheck proc~init_scalar1d->proc~gpuavailable proc~init_scalar1d->interface~hipmalloc proc~regrid_dgmodel3d Regrid_DGModel3D proc~regrid_dgmodel3d->proc~regrid_dgmodel3d_t proc~regrid_dgmodel3d->interface~hipfree proc~regrid_dgmodel3d->proc~gpucheck proc~regrid_dgmodel3d->interface~hipmemcpy proc~regrid_dgmodel3d->interface~hipmalloc proc~init_esatmo3d Init_ESAtmo3D proc~init_esatmo3d->proc~gpucheck proc~init_esatmo3d->interface~hipmemcpy proc~init_esatmo3d->interface~hipmalloc proc~init_esatmo3d->proc~init_ecdgmodel3d_t proc~twopointfluxmethod_esatmo2d_t TwoPointFluxMethod_ESAtmo2D_t proc~updatedevice_scalar3d_t UpdateDevice_Scalar3D_t proc~fluxmethod_lineareuler3d fluxmethod_LinearEuler3D proc~fluxmethod_lineareuler3d->interface~fluxmethod_lineareuler3d_gpu proc~calculatetendency_dgmodel1d_t CalculateTendency_DGModel1D_t proc~free_lagrange~2 Free_Lagrange proc~free_lagrange~2->interface~hipfree proc~free_lagrange~2->proc~gpucheck proc~calculateentropy_dgmodel1d CalculateEntropy_DGModel1D proc~calculateentropy_dgmodel1d->proc~gpucheck proc~calculateentropy_dgmodel1d->interface~hipmemcpy proc~free_scalar1d Free_Scalar1D proc~free_scalar1d->interface~hipfree proc~free_scalar1d->proc~gpucheck proc~setgradientboundarycondition_dgmodel1d setgradientboundarycondition_DGModel1D proc~setgradientboundarycondition_dgmodel1d->proc~setgradientboundarycondition_dgmodel1d_t proc~setgradientboundarycondition_dgmodel1d->proc~gpucheck proc~setgradientboundarycondition_dgmodel1d->interface~hipmemcpy proc~mpimortarexchangeasync_mappedvector2d MPIMortarExchangeAsync_MappedVector2D proc~mpimortarexchangeasync_mappedvector2d->mpi_irecv proc~mpimortarexchangeasync_mappedvector2d->mpi_isend proc~updatehost_scalar3d_t UpdateHost_Scalar3D_t proc~init_mappedscalar2d Init_MappedScalar2D proc~init_mappedscalar2d->proc~ensuredevicebuffers_mappedscalar2d proc~entropy_func_advection_diffusion_2d_t entropy_func_advection_diffusion_2d_t proc~setnumberofvariables_linearshallowwater2d_t SetNumberOfVariables_LinearShallowWater2D_t proc~mappeddivergence_mappedvector2d_t MappedDivergence_MappedVector2D_t proc~dissociategeometry_mappedtwopointvector2d_t DissociateGeometry_MappedTwoPointVector2D_t proc~ensuredevicebuffers_vector2d->ensuredevicebuffer proc~additionalinit_ecadvection3d AdditionalInit_ECAdvection3D proc~additionalinit_ecadvection3d->proc~additionalinit_ecadvection3d_t proc~updatedevice_refinementindicator3d UpdateDevice_RefinementIndicator3D proc~updatedevice_refinementindicator3d->proc~gpucheck proc~updatedevice_refinementindicator3d->interface~hipmemcpy proc~boundaryflux_lineareuler3d boundaryflux_LinearEuler3D proc~boundaryflux_lineareuler3d->interface~boundaryflux_lineareuler3d_gpu proc~setsolutionfromeqn_dgmodel1d_t SetSolutionFromEqn_DGModel1D_t proc~riemannflux1d_model riemannflux1d_Model proc~free_scalar1d_t Free_Scalar1D_t proc~entropy_func_lineareuler3d_t entropy_func_LinearEuler3D_t proc~prolongtochildren~2->tmp proc~init_refinementindicator2d_t->proc~buildmodaltransform~2 proc~updategrk2_dgmodel2d_t UpdateGRK2_DGModel2D_t proc~associategeometry_mappedtwopointvector2d_t AssociateGeometry_MappedTwoPointVector2D_t interface~fluxmethod_advection_diffusion_1d_gpu fluxmethod_advection_diffusion_1d_gpu proc~fluxmethod_advection_diffusion_3d fluxmethod_advection_diffusion_3d proc~fluxmethod_advection_diffusion_3d->interface~fluxmethod_advection_diffusion_3d_gpu proc~stagesolutionfortransfer_dgmodel2d StageSolutionForTransfer_DGModel2D proc~stagesolutionfortransfer_dgmodel2d->interface~hipfree proc~stagesolutionfortransfer_dgmodel2d->proc~gpucheck proc~stagesolutionfortransfer_dgmodel2d->interface~hipmemcpy proc~stagesolutionfortransfer_dgmodel2d->interface~hipmalloc proc~setgradientboundarycondition_dgmodel3d_t setgradientboundarycondition_DGModel3D_t proc~gradient_scalar2d Gradient_Scalar2D proc~gradient_scalar2d->interface~scalargradient_2d_gpu proc~mappeddivergence_mappedvector2d MappedDivergence_MappedVector2D proc~mappeddivergence_mappedvector2d->interface~contravariantprojection_2d_gpu proc~mappeddivergence_mappedvector2d->interface~jacobianweight_2d_gpu proc~mappeddivergence_mappedvector2d->interface~divergence_2d_gpu proc~allgatherperelemreals->mpi_allgatherv proc~emitmesh~2->proc~invflip3d proc~readarray_hdf5_int32_r1_parallel->h5pclose_f proc~readarray_hdf5_int32_r1_parallel->h5dopen_f proc~readarray_hdf5_int32_r1_parallel->h5pset_dxpl_mpio_f proc~readarray_hdf5_int32_r1_parallel->h5pcreate_f proc~readarray_hdf5_int32_r1_parallel->h5dclose_f proc~readarray_hdf5_int32_r1_parallel->h5screate_simple_f proc~readarray_hdf5_int32_r1_parallel->h5sselect_hyperslab_f proc~readarray_hdf5_int32_r1_parallel->h5dget_space_f proc~readarray_hdf5_int32_r1_parallel->h5dread_f proc~readarray_hdf5_int32_r1_parallel->h5sclose_f proc~readarray_hdf5_int32_r1_parallel->h5tclose_f proc~readarray_hdf5_int32_r1_parallel->h5dget_type_f proc~updategrk2_dgmodel3d UpdateGRK2_DGModel3D proc~updategrk2_dgmodel3d->interface~updategrk_calculatedsdt_gpu proc~free_amrcontroller3d Free_AMRController3D proc~setinteriorfromequation_mappedscalar2d SetInteriorFromEquation_MappedScalar2D proc~setinteriorfromequation_mappedscalar2d->proc~gpucheck proc~setinteriorfromequation_mappedscalar2d->interface~hipmemcpy proc~sourcemethod_esatmo2d SourceMethod_ESAtmo2D proc~sourcemethod_esatmo2d->interface~sourcemethod_esatmo2d_gpu proc~calculatetendency_esatmo3d_t CalculateTendency_ESAtmo3D_t proc~updatesolution_dgmodel1d UpdateSolution_DGModel1D proc~updatesolution_dgmodel1d->interface~updatesolution_gpu proc~fluxmethod_linearshallowwater2d fluxmethod_LinearShallowWater2D proc~fluxmethod_linearshallowwater2d->interface~fluxmethod_linearshallowwater2d_gpu proc~updategrk4_dgmodel3d_t UpdateGRK4_DGModel3D_t proc~calculatecontravariantbasis_semhex CalculateContravariantBasis_SEMHex proc~sideexchange_mappedscalar1d SideExchange_MappedScalar1D proc~sideexchange_mappedscalar1d->proc~gpucheck proc~sideexchange_mappedscalar1d->interface~hipmemcpy proc~setboundarycondition_dgmodel2d_t setboundarycondition_DGModel2D_t proc~setcoriolis_fplane_linearshallowwater2d_t SetCoriolis_fplane_LinearShallowWater2D_t proc~averagesides_vector2d_t AverageSides_Vector2D_t proc~setthresholds_refinementindicator2d_t SetThresholds_RefinementIndicator2D_t proc~mpimortarexchangeasync_mappedvector2d_t MPIMortarExchangeAsync_MappedVector2D_t proc~mpimortarexchangeasync_mappedvector2d_t->mpi_irecv proc~mpimortarexchangeasync_mappedvector2d_t->mpi_isend proc~updategrk2_dgmodel2d UpdateGRK2_DGModel2D proc~updategrk2_dgmodel2d->interface~updategrk_gpu proc~dissociategeometry_mappedvector2d_t DissociateGeometry_MappedVector2D_t proc~sourcemethod_dgmodel3d sourcemethod_DGModel3D proc~sourcemethod_dgmodel3d->proc~gpucheck proc~sourcemethod_dgmodel3d->interface~hipmemcpy proc~source2d_model source2d_Model proc~free_amrcontroller2d Free_AMRController2D proc~mortarexchange_mappedvector2d_t MortarExchange_MappedVector2D_t proc~boundaryinterp_scalar3d_t BoundaryInterp_Scalar3D_t proc~flux1d_model flux1d_Model proc~flux2d_advection_diffusion_2d_t flux2d_advection_diffusion_2d_t proc~averagesides_vector3d_t AverageSides_Vector3D_t proc~resetboundaryconditiontype_mesh2d_t ResetBoundaryConditionType_Mesh2D_t proc~riemannflux2d_model riemannflux2d_Model proc~mpimortarfluxasync_mappedvector3d MPIMortarFluxAsync_MappedVector3D proc~mpimortarfluxasync_mappedvector3d->mpi_irecv proc~mpimortarfluxasync_mappedvector3d->mpi_isend proc~sideexchangefinish_mappedscalar2d SideExchangeFinish_MappedScalar2D proc~sideexchangefinish_mappedscalar2d->interface~halounpack_2d_gpu proc~sideexchangefinish_mappedscalar2d->mpi_waitall proc~sideexchange_mappedvector3d_t SideExchange_MappedVector3D_t proc~countflagged_refinementindicator3d_t CountFlagged_RefinementIndicator3D_t proc~gradient_scalar3d_t Gradient_Scalar3D_t proc~writehdf5_mpi_vector3d_t WriteHDF5_MPI_Vector3D_t proc~writehdf5_mpi_vector3d_t->interface~writearray_hdf5 proc~writehdf5_mpi_vector3d_t->proc~creategroup_hdf5 proc~mpimortarexchangeasync_mappedvector3d_t MPIMortarExchangeAsync_MappedVector3D_t proc~mpimortarexchangeasync_mappedvector3d_t->mpi_irecv proc~mpimortarexchangeasync_mappedvector3d_t->mpi_isend proc~boundaryflux_linearshallowwater2d boundaryflux_LinearShallowWater2D proc~boundaryflux_linearshallowwater2d->interface~boundaryflux_linearshallowwater2d_gpu proc~mappeddgdivergence_mappedvector3d_t MappedDGDivergence_MappedVector3D_t proc~faceneighbor_quadtreemesh2d FaceNeighbor_QuadTreeMesh2D proc~faceneighbor_quadtreemesh2d->proc~qt_opposite proc~faceneighbor_quadtreemesh2d->proc~qt_internal proc~faceneighbor_quadtreemesh2d->proc~qt_reflect proc~faceneighbor_quadtreemesh2d->proc~qt_subpos proc~faceneighbor_quadtreemesh2d->proc~faceneighbor_quadtreemesh2d proc~mappeddggradient_mappedscalar3d_t MappedDGGradient_MappedScalar3D_t proc~sourcemethod_lineareuler3d sourcemethod_LinearEuler3D proc~sourcemethod_lineareuler3d->interface~sourcemethod_lineareuler3d_gpu proc~planwindows PlanWindows proc~mpiexchangeasync_mappedscalar2d_t MPIExchangeAsync_MappedScalar2D_t proc~mpiexchangeasync_mappedscalar2d_t->mpi_irecv proc~mpiexchangeasync_mappedscalar2d_t->mpi_isend proc~sideexchange_mappedscalar2d_t SideExchange_MappedScalar2D_t proc~init_mesh1d Init_Mesh1D proc~calculatederivativematrix CalculateDerivativeMatrix proc~entropy_func_advection_diffusion_1d_t entropy_func_advection_diffusion_1d_t proc~gradient_vector2d_t Gradient_Vector2D_t proc~updatehost_scalar1d_t UpdateHost_Scalar1D_t proc~setnumberofvariables_esatmo2d_t SetNumberOfVariables_ESAtmo2D_t proc~free_bclist Free_BCList proc~init_bclist Init_BCList proc~free_bclist->proc~init_bclist proc~estimate_refinementindicator3d Estimate_RefinementIndicator3D proc~estimate_refinementindicator3d->proc~resolveenergyweights proc~estimate_refinementindicator3d->proc~resolveenergyscale proc~estimate_refinementindicator3d->interface~hipfree proc~estimate_refinementindicator3d->proc~gpucheck proc~estimate_refinementindicator3d->interface~hipmemcpy proc~estimate_refinementindicator3d->interface~refinementindicator_3d_gpu proc~estimate_refinementindicator3d->proc~finalizeindicator proc~estimate_refinementindicator3d->proc~checkestimatearguments proc~estimate_refinementindicator3d->interface~hipmalloc proc~setmetadata_esatmo2d_t SetMetadata_ESAtmo2D_t proc~updatehost_refinementindicator2d_t UpdateHost_RefinementIndicator2D_t proc~hbc2d_nonormalflow_lineareuler2d_pml hbc2d_NoNormalFlow_LinearEuler2D_PML proc~calculatetendency_dgmodel2d CalculateTendency_DGModel2D proc~calculatetendency_dgmodel2d->interface~calculatedsdt_gpu proc~init_ecadvection3d Init_ECAdvection3D proc~init_ecadvection3d->proc~gpucheck proc~init_ecadvection3d->interface~hipmemcpy proc~init_ecadvection3d->interface~hipmalloc proc~init_ecadvection3d->proc~init_ecdgmodel3d_t proc~resize_vector2d Resize_Vector2D proc~resize_vector2d->proc~resize_vector2d_t proc~resize_vector2d->proc~ensuredevicebuffers_vector2d proc~exchangeoldwindow ExchangeOldWindow proc~exchangeoldwindow->proc~exchangeoldwindowflat proc~riemannflux2d_esatmo2d_t riemannflux2d_ESAtmo2D_t proc~diracdelta_3d_points_t DiracDelta_3D_Points_t proc~updategrk2_dgmodel1d UpdateGRK2_DGModel1D proc~updategrk2_dgmodel1d->interface~updategrk_gpu proc~additionalinit_lineareuler2d AdditionalInit_LinearEuler2D proc~additionalinit_lineareuler2d->proc~additionalinit_lineareuler2d_t proc~hbc2d_nonormalflow_linearshallowwater2d hbc2d_NoNormalFlow_LinearShallowWater2D proc~resetboundaryconditiontype_mesh1d ResetBoundaryConditionType_Mesh1D proc~refinenode_quadtreemesh2d RefineNode_QuadTreeMesh2D proc~fluxmethod_dgmodel3d fluxmethod_DGModel3D proc~fluxmethod_dgmodel3d->proc~gpucheck proc~fluxmethod_dgmodel3d->interface~hipmemcpy proc~init_dgmodel1d Init_DGModel1D proc~init_dgmodel1d->proc~gpucheck proc~init_dgmodel1d->interface~hipmemcpy proc~init_dgmodel1d->interface~hipmalloc proc~init_dgmodel1d->proc~init_dgmodel1d_t proc~calculatetendency_dgmodel3d_t CalculateTendency_DGModel3D_t proc~fluxmethod_dgmodel2d fluxmethod_DGModel2D proc~fluxmethod_dgmodel2d->proc~gpucheck proc~fluxmethod_dgmodel2d->interface~hipmemcpy proc~adapt_amrcontroller2d Adapt_AMRController2D proc~adapt_amrcontroller2d->proc~applytransferplan_dgmodel2d_t proc~adapt_amrcontroller2d->proc~verifymigration proc~adapt_amrcontroller2d->proc~emitmesh proc~adapt_amrcontroller2d->proc~migrateoldwindow_dgmodel2d_t proc~adapt_amrcontroller2d->proc~downloadoldwindow_dgmodel2d_t proc~adapt_amrcontroller2d->proc~buildtransferplan~2 proc~adapt_amrcontroller2d->proc~allgatherperelemints proc~adapt_amrcontroller2d->proc~verifywindowedapply proc~adapt_amrcontroller2d->proc~resolvegeomdebug proc~adapt_amrcontroller2d->proc~allgatherperelemreals proc~adapt_amrcontroller2d->proc~planwindows proc~resize_mappedscalar2d_t->proc~resize_scalar2d_t proc~updatedevice_scalar1d_t UpdateDevice_Scalar1D_t proc~buildmodaltransform->proc~normalizedlegendre proc~buildmodaltransform->proc~invertmatrix proc~uniformblockmesh_mesh1d UniformBlockMesh_Mesh1D proc~uniformblockmesh_mesh1d->proc~uniformpoints interface~self_bcmethod SELF_bcMethod proc~updatehost_scalar1d UpdateHost_Scalar1D proc~updatehost_scalar1d->proc~gpucheck proc~updatehost_scalar1d->interface~hipmemcpy proc~free_mesh2d Free_Mesh2D proc~free_mesh2d->interface~hipfree proc~free_mesh2d->proc~gpucheck proc~fluxmethod_advection_diffusion_1d fluxmethod_advection_diffusion_1d proc~fluxmethod_advection_diffusion_1d->interface~fluxmethod_advection_diffusion_1d_gpu proc~setinteriorfromequation_mappedvector2d_t SetInteriorFromEquation_MappedVector2D_t proc~setgradientboundarycondition_dgmodel2d_t setgradientboundarycondition_DGModel2D_t proc~entropy_func_linearshallowwater2d_t entropy_func_LinearShallowWater2D_t proc~reportmetrics_dgmodel3d_t ReportMetrics_DGModel3D_t proc~free_mesh1d Free_Mesh1D proc~twopointfluxmethod_ecdgmodel3d_t TwoPointFluxMethod_ECDGModel3D_t proc~resize_mappedvector3d_t->proc~resize_vector3d_t proc~boundaryflux_ecadvection3d BoundaryFlux_ECAdvection3D proc~boundaryflux_ecadvection3d->interface~boundaryflux_ecadvection3d_gpu proc~buildgeometry_amrcontroller2d BuildGeometry_AMRController2D proc~buildgeometry_amrcontroller2d->proc~verifygeometry proc~buildgeometry_amrcontroller2d->proc~resolvegeomdebug proc~dissociategeometry_mappedscalar2d_t DissociateGeometry_MappedScalar2D_t proc~associategeometry_mappedscalar2d_t AssociateGeometry_MappedScalar2D_t
Help