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

Mutate the forest from a per-leaf flag array (indexed over the current leaves in this%leaf order, e.g. the flag array produced by SELF_RefinementIndicator_2D):

Read more…
AdditionalFree_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine
AdditionalFree_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine
AdditionalFree_LinearEuler2D_PML_tself_LinearEuler2D_PML_tSubroutine
AdditionalFree_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
AdditionalFree_ModelSELF_ModelSubroutine
AdditionalInit_advection_diffusion_2d_tself_advection_diffusion_2d_tSubroutine

Register boundary conditions for the advection-diffusion model. Hyperbolic: mirror (no-normal-flow) wall condition on the solution. Parabolic: no-stress condition that zeros the normal gradient at the boundary, giving zero diffusive flux through walls. This is stable with the Bassi-Rebay (BR1) method.

AdditionalInit_advection_diffusion_3d_tself_advection_diffusion_3d_tSubroutine

Register boundary conditions for the advection-diffusion model. Hyperbolic: mirror (no-normal-flow) wall condition on the solution. Parabolic: no-stress condition that zeros the normal gradient at the boundary, giving zero diffusive flux through walls. This is stable with the Bassi-Rebay (BR1) method.

AdditionalInit_ECAdvection2DSELF_ECAdvection2DSubroutine
AdditionalInit_ECAdvection2D_tSELF_ECAdvection2D_tSubroutine
AdditionalInit_ECAdvection3DSELF_ECAdvection3DSubroutine
AdditionalInit_ECAdvection3D_tSELF_ECAdvection3D_tSubroutine
AdditionalInit_ESAtmo2DSELF_ESAtmo2DSubroutine
AdditionalInit_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine
AdditionalInit_ESAtmo3DSELF_ESAtmo3DSubroutine
AdditionalInit_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine
AdditionalInit_LinearEuler2Dself_LinearEuler2DSubroutine
AdditionalInit_LinearEuler2D_PMLself_LinearEuler2D_PMLSubroutine
AdditionalInit_LinearEuler2D_PML_tself_LinearEuler2D_PML_tSubroutine
AdditionalInit_LinearEuler2D_tself_LinearEuler2D_tSubroutine

Register the (CPU) no-normal-flow and radiation boundary conditions. GPU builds call this parent and then overwrite both registrations with the device kernels in AdditionalInit_LinearEuler2D.

AdditionalInit_LinearEuler3Dself_LinearEuler3DSubroutine
AdditionalInit_LinearEuler3D_tself_LinearEuler3D_tSubroutine

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

AdditionalInit_LinearShallowWater2Dself_LinearShallowWater2DSubroutine
AdditionalInit_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
AdditionalInit_ModelSELF_ModelSubroutine
AdditionalOutput_ModelSELF_ModelSubroutine
AddThermalBubble_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

Adds a pressure-balanced warm bubble perturbation.

Read more…
AddThermalBubble_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

Adds a pressure-balanced warm bubble perturbation.

Read more…
AllgatherPerElemIntsSELF_AMRController_2DSubroutine

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

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
ApplyTransferPlanSELF_TransferPlan_2DSubroutine

Execute a transfer plan on nodal element data: uNew(:,:,li,:) receives old element data copied, prolonged (exact interpolation), or restricted (conservative L2 projection) according to plan entry li. interp must be the solution interpolant the data lives on (its mortar operators drive the transfer). Runs once per adaptation epoch - not a per-time-step hot path - so clarity is preferred over fused loops here.

ApplyTransferPlan_DGModel2DSELF_DGModel2DSubroutine

Apply the transfer plan on the device (Stage 6a), writing solution%interior_gpu directly and moving no solution data across the PCIe/xGMI link.

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…
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 decomposed-mesh (AMR Stage 5) entry point: each rank passes its own contiguous range of the new element ordering and a gathered global old solution, and fills exactly its rank-local storage.

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

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

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

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

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
ClampCellSELF_Points_tFunction

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

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

CreateGroup_HDF5SELF_HDF5Subroutine
Curl_Vector3D_tSELF_Vector_3D_tSubroutine
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
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…
ECDGSurfaceContribution_2D_gpuSELF_GPUInterfacesInterface
ECDGSurfaceContribution_3D_gpuSELF_GPUInterfacesInterface
elementidSELF_Mesh_3D_tFunction
ElemToRankSELF_DomainDecomposition_tSubroutine
EmitMeshSELF_AdaptiveMesh_2DSubroutine

Build outMesh (a conforming-or-mortar Mesh2D_t) from a 2:1-balanced forest. baseMesh is the mesh the forest was initialised from (supplies BC metadata and the communicator; on nRanks > 1 the forest must be rank-replicated so every rank emits identical global tables). The forest must already be balanced (MaxLevelJump <= 1); EmitMesh does not mutate it.

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

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_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 and energy ratios, writes the indicator and flag on device, then copies both back to the host so the (host-side) mesh-adaptation logic can consume them directly.

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

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

FinalizeMPIExchangeAsyncSELF_DomainDecomposition_tSubroutine
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_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_PointsSELF_PointsSubroutine
Free_Points_tSELF_Points_tSubroutine
Free_QuadTreeMesh2DSELF_QuadTreeMesh_2DSubroutine
Free_RefinementIndicator2DSELF_RefinementIndicator_2DSubroutine
Free_RefinementIndicator2D_tSELF_RefinementIndicator_2D_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_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_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, and background density.

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) and background density (variable 5) are copied from the interior side so the Riemann solver sees a consistent c and rho0 (impedance-matched, non-reflecting outflow).

hbc2d_radiation_lineareuler2d_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) and background density (variable 6) are copied from the interior side so the Riemann solver sees a consistent c and rho0.

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.

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

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

Allocate the interior array for a 2-D two-point vector field. The interior array has rank 6 with layout (n,i,j,nEl,nVar,idir).

Read more…
Init_TwoPointVector3DSELF_TwoPointVector_3DSubroutine
Init_TwoPointVector3D_tSELF_TwoPointVector_3D_tSubroutine

Allocate the interior array for a 3-D two-point vector field. The interior array has rank 7 with layout (n,i,j,k,nEl,nVar,idir).

Read more…
Init_Vector2DSELF_Vector_2DSubroutine
Init_Vector2D_tSELF_Vector_2D_tSubroutine
Init_Vector3DSELF_Vector_3DSubroutine
Init_Vector3D_tSELF_Vector_3D_tSubroutine
InitForestFromDecomposedMeshSELF_AMRController_2DSubroutine

Build a rank-replicated forest over a decomposed base mesh: allgather the global node coordinates, side table, and material ids (by the decomposition's contiguous element ownership) and initialize the forest from the global tables. Collective over the mesh communicator; runs once, at controller initialization.

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

JacobianWeight_1D_gpuSELF_MappedScalar_1DInterface
JacobianWeight_2D_gpuSELF_GPUInterfacesInterface
JacobianWeight_3D_gpuSELF_GPUInterfacesInterface
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_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_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.

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
MatrixOp_1D_gpuSELF_Scalar_1DInterface
MatrixOp_1D_gpuSELF_GPUInterfacesInterface
MaxLevel_QuadTreeMesh2DSELF_QuadTreeMesh_2DFunction

Highest refinement level among the active leaves.

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.

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

MortarFlip_2D_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…
MortarFluxScatter_2D_gpuSELF_GPUInterfacesInterface
MortarGather_2D_gpuSELF_GPUInterfacesInterface
MortarScatter_2D_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_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.

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.

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…
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
Open_HDF5SELF_HDF5Interface
Open_HDF5_parallelSELF_HDF5Subroutine
Open_HDF5_serialSELF_HDF5Subroutine
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.

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.

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.

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.

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

RefineConnectivitySELF_RefinementPrimitives_2DSubroutine

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

Read more…
RefinementIndicator_2D_gpuSELF_GPUInterfacesInterface
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…
ReleaseMPISELF_DomainDecomposition_tSubroutine

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

Read more…
ReportEntropy_ModelSELF_ModelSubroutine

Base method for reporting the entropy of a model to stdout. Only override this procedure if additional reporting is needed. Alternatively, if you think additional reporting would be valuable for all models, open a pull request with modifications to this base method.

ReportMetrics_DGModel2D_tSELF_DGModel2D_tSubroutine

Base method for reporting the entropy of a model to stdout. Only override this procedure if additional reporting is needed. Alternatively, if you think additional reporting would be valuable for all models, open a pull request with modifications to this base method.

ReportMetrics_DGModel3D_tSELF_DGModel3D_tSubroutine

Base method for reporting the entropy of a model to stdout. Only override this procedure if additional reporting is needed. Alternatively, if you think additional reporting would be valuable for all models, open a pull request with modifications to this base method.

ReportMetrics_ModelSELF_ModelSubroutine

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

ReportUserMetrics_ModelSELF_ModelSubroutine

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

ResetBoundaryConditionType_Mesh1DSELF_Mesh_1DSubroutine

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

Read more…
ResetBoundaryConditionType_Mesh2D_tSELF_Mesh_2D_tSubroutine

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

Read more…
ResetBoundaryConditionType_Mesh3D_tSELF_Mesh_3D_tSubroutine

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

Read more…
Resize_MappedScalar2DSELF_MappedScalar_2DSubroutine

Rebind to a new element count, reusing host pools and device buffers where they fit (AMR Stage 6b), and without uploading zeros the way Init does.

Read more…
Resize_MappedScalar2D_tSELF_MappedScalar_2D_tSubroutine

Rebind to a new element count, reusing storage where it fits (AMR Stage 6b). The mortar staging buffer is sized by mesh%nMortars rather than nElem, and nMortars changes with the mesh independently of the element count, so it is invalidated here and lazily re-created at the correct size by the next mortar exchange.

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

Read the Stage 6c geometry debug switches once.

RestrictFromChildrenSELF_SolutionTransfer_2DSubroutine

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

rewindSELF_BoundaryConditionsSubroutine
riemannflux1d_advection_diffusion_1d_tself_advection_diffusion_1d_tFunction
riemannflux1d_Burgers1D_tself_Burgers1D_tFunction
riemannflux1d_ModelSELF_ModelFunction
riemannflux2d_advection_diffusion_2d_tself_advection_diffusion_2d_tFunction
riemannflux2d_ECAdvection2D_tSELF_ECAdvection2D_tFunction

Local Lax-Friedrichs (Rusanov) Riemann flux for linear advection. Entropy-stable: provides symmetric dissipation at element interfaces. Uses the per-face spectral radius lambda = |u.n|, matching upwind (Godunov) for linear advection: tangential faces (u.n=0) contribute zero flux, avoiding spurious dissipation across element interfaces whose face normal is perpendicular to the velocity.

riemannflux2d_ESAtmo2D_tSELF_ESAtmo2D_tFunction

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

Read more…
riemannflux2d_LinearEuler2D_PML_tself_LinearEuler2D_PML_tFunction

Impedance-matched Riemann flux for acoustic variables 1-4, with zero flux returned for the auxiliary variables 5-7. The acoustic formula is identical to the parent LinearEuler2D model; see riemannflux2d_LinearEuler2D_t for the derivation.

riemannflux2d_LinearEuler2D_tself_LinearEuler2D_tFunction

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

Read more…
riemannflux2d_LinearShallowWater2D_tself_LinearShallowWater2D_tFunction
riemannflux2d_ModelSELF_ModelFunction
riemannflux3d_advection_diffusion_3d_tself_advection_diffusion_3d_tFunction
riemannflux3d_ECAdvection3D_tSELF_ECAdvection3D_tFunction

Local Lax-Friedrichs (Rusanov) Riemann flux for linear advection. Uses the per-face spectral radius lambda = |u.n|, matching upwind (Godunov) for linear advection: tangential faces (u.n=0) contribute zero flux, avoiding spurious dissipation across element interfaces whose face normal is perpendicular to the velocity.

riemannflux3d_ESAtmo3D_tSELF_ESAtmo3D_tFunction

Local Lax-Friedrichs (Rusanov) Riemann flux.

Read more…
riemannflux3D_LinearEuler3D_tself_LinearEuler3D_tFunction

Impedance-matched (characteristic/Godunov) Riemann flux, identical in form to the 2-D model's. The interface states are resolved with the per-side acoustic impedances Z = rho0*c (each side using its own background density rho0 and sound speed c), so material interfaces in a heterogeneous field are handled with the physically correct transmission/reflection:

Read more…
riemannflux3d_ModelSELF_ModelFunction
ScalarGradient_2D_gpuSELF_GPUInterfacesInterface
ScalarGradient_3D_gpuSELF_GPUInterfacesInterface
SELF_bcMethodSELF_BoundaryConditionsInterface
SELF_timeIntegratorSELF_ModelInterface
setboundarycondition_DGModel1DSELF_DGModel1DSubroutine

Apply boundary conditions for the solution on GPU. Syncs boundary data from device, applies host-side BC dispatch (periodic defaults + registered BCs), then syncs back to device.

setboundarycondition_DGModel1D_tSELF_DGModel1D_tSubroutine

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

setboundarycondition_DGModel2D_tSELF_DGModel2D_tSubroutine

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

setboundarycondition_DGModel3D_tSELF_DGModel3D_tSubroutine

Apply registered boundary conditions for the solution.

SetCoriolis_betaplane_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
SetCoriolis_fplane_LinearShallowWater2D_tself_LinearShallowWater2D_tSubroutine
SetDescription_DataObjSELF_DataSubroutine

Set the description of the ivar-th variable

SetDescription_MetadataSELF_MetadataSubroutine
SetDiffusion_ESAtmo2D_tSELF_ESAtmo2D_tSubroutine

Set the constant-coefficient Laplacian diffusion coefficients (kinematic momentum diffusivity and thermal diffusivity, both in m^2/s) and the dimensionless SIPG jump penalty. Setting nu or kappa > 0 enables the gradient pipeline so that the diffusive flux methods receive solutionGradient.

Read more…
SetDiffusion_ESAtmo3D_tSELF_ESAtmo3D_tSubroutine

Set the constant-coefficient Laplacian diffusion coefficients (kinematic momentum diffusivity and thermal diffusivity, both in m^2/s) and the dimensionless SIPG jump penalty. Setting nu or kappa > 0 enables the gradient pipeline so that the diffusive flux methods receive solutionGradient.

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

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.

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…
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
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_LinearEuler3D_tself_LinearEuler3D_tSubroutine
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…
SubdivideNodeCoordsSELF_RefinementPrimitives_2DSubroutine

Isoparametric subdivision of one element's geometry node coordinates into its four children. The parent geometry is the degree-nGeo Lagrange interpolant through parentCoords (sampled at geomInterp's control points, i.e. the mesh geometry nodes); each child node coordinate is that interpolant evaluated at the corresponding point of the parent reference square. Exact for any polynomial geometry of degree <= nGeo and for any control-node type, so straight-sided and curved (isoparametric) elements are both handled without approximation.

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

Push the geometry the solver kernels read to the device. Mirrors the uploads that GenerateFromMesh's own path performs, for use when geometry was assembled by element copy rather than generated (AMR Stage 6c).

Read more…
UpperCaseSELF_SupportRoutinesFunction
VectorDivergence_2D_gpuSELF_GPUInterfacesInterface
VectorDivergence_3D_gpuSELF_GPUInterfacesInterface
VerifyGeometrySELF_AMRController_2DSubroutine

Generate the geometry the original way and report, per quantity, the largest discrepancy against the incrementally built one. Diagnostic only; gated by SELF_AMR_GEOM_VERIFY.

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