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_3DSubroutine

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_2DSubroutine

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

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.

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

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.

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

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.

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…
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…
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_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.

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.

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

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.

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_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…
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…
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_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.

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.

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_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…
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…
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_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.

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.

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_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…
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…
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

ReportUnmappedBoundaries_DGModel1D_tSELF_DGModel1D_tSubroutine

Warn, once, about domain endpoints whose bcid has no registered boundary condition. MapBoundaryConditions establishes the count; ForwardStep calls this.

Read more…
ReportUnmappedBoundaries_DGModel2D_tSELF_DGModel2D_tSubroutine

Warn, once, about mesh boundary edges whose bcid has no registered boundary condition. MapBoundaryConditions establishes the count; ForwardStep calls this.

Read more…
ReportUnmappedBoundaries_DGModel3D_tSELF_DGModel3D_tSubroutine

Warn, once, about mesh boundary faces whose bcid has no registered boundary condition. MapBoundaryConditions establishes the count; ForwardStep calls this.

Read more…
ReportUnmappedBoundaries_ModelSELF_ModelSubroutine

Reports mesh boundary faces that carry a boundary condition id for which no boundary condition has been registered. The exterior state on such a face is never written by any boundary condition method, so the Riemann solver consumes whatever extBoundary last held.

Read more…
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_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.

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.

RestrictFromChildrenSELF_SolutionTransfer_2DSubroutine

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

RestrictFromChildrenSELF_SolutionTransfer_3DSubroutine

Restrict (L2-project) the solution on eight 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_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…
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…
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_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…
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…
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.

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.

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