HyPar
1.0
Finite-Difference Hyperbolic-Parabolic PDE Solver on Cartesian Grids
|
▼ include | |
▶ physicalmodels | |
burgers.h | |
euler1d.h | 1D Euler Equations (inviscid, compressible flows) |
euler1d_gpu.h | |
euler2d.h | |
fpdoublewell.h | |
fppowersystem.h | |
fppowersystem1bus.h | Fokker-Planck Model for 1-Bus Power System |
fppowersystem3bus.h | 3-Bus Power System model |
linearadr.h | Linear Advection-Diffusion-Reaction model |
navierstokes2d.h | 2D Navier Stokes equations (compressible flows) |
navierstokes3d.h | 3D Navier Stokes equations (compressible flows) |
numa2d.h | |
numa3d.h | |
shallowwater1d.h | 1D Shallow Water Equations |
shallowwater2d.h | 2D Shallow Water Equations |
vlasov.h | Vlasov Equation |
arrayfunctions.h | Contains macros and function definitions for common array operations |
arrayfunctions_gpu.h | Contains function definitions for common array operations on GPU |
bandedmatrix.h | Data structure and some function declarations for banded block matrices |
basic.h | Some basic definitions and macros |
basic_gpu.h | |
boundaryconditions.h | Containts the structures and definitions for boundary condition implementation |
common.h | Some common functions used here and there |
common_cpp.h | Some common functions used here and there (C++ declarations) |
ensemble_simulations.h | Ensemble simulation class |
firstderivative.h | Definitions for the functions computing the first derivative |
hypar.h | Contains structure definition for hypar |
immersedboundaries.h | Structures and function definitions for immersed boundaries |
interpolation.h | Definitions for the functions computing the interpolated value of the primitive at the cell interfaces from the cell-centered values |
io.h | Function declarations for file I/O functions |
io_cpp.h | Function declarations for file I/O functions |
librom_interface.h | LibROM interface class |
limiters.h | Definitions for limiter functions used in MUSCL-type reconstruction schemes |
math_ops.h | Contains macros for common mathematical functions |
mathfunctions.h | Contains function definitions for common mathematical functions |
mathfunctions_cpp.h | Contains function definitions for common mathematical functions for C++ code |
matmult_native.h | Contains macros and function definitions for common matrix multiplication |
matops.h | Contains macros and function definitions for common matrix operations |
mpivars.h | MPI related function definitions |
mpivars_cpp.h | C++ declarations for MPI-related functions |
mpivars_struct.h | MPI related structure |
petscinterface.h | |
petscinterface_struct.h | Contains structure that defines the interface for time integration with PETSc (https://petsc.org/release/) |
plotfuncs.h | Function declarations for plotting functions |
plotfuncs_cpp.h | Function declarations for plotting functions |
rom_object.h | Base class for a libROM object |
rom_object_dmd.h | Dynamic Mode Decomposition ROM object |
secondderivative.h | Definitions for the functions computing the second derivative |
simulation.h | Base class for simulation and declarations for C functions |
simulation_library.h | |
simulation_object.h | Simulation object |
single_simulation.h | Single simulation class |
sparse_grids_simulation.h | |
std_vec_ops.h | Contains some vector ops |
timeintegration.h | Contains function declarations for time integration |
timeintegration_cpp.h | Contains C++ function declarations for time integration |
timeintegration_struct.h | Contains structures for time integration |
tridiagLU.h | Header file for TridiagLU |
▼ src | |
▶ ArrayFunctions | |
ArrayImplementations.c | Implementation of array functions |
ArrayImplementations_GPU.cu | |
▶ BandedMatrix | |
BandedMatrixDestroy.c | Destroy a banded matrix object |
BandedMatrixInitialize.c | Initialize a banded matrix object |
BandedMatrixPreallocate.c | Preallocate memory for a banded matrix object |
▶ BoundaryConditions | |
BCCleanup.c | Function to clean up boundary-conditions related variables |
BCDirichlet.c | Dirichlet boundary conditions |
BCExtrapolate.c | Extrapolation boundary condition |
BCInitialize.c | Initialize boundary-conditions-related function pointers |
BCIO.c | I/O functions for boundary conditions that need to read in data |
BCNoFlux.c | No-flux boundary condition (specific to Numa2D and Numa3D) |
BCNoslipWall.c | No-slip wall boundary conditions (can also handle moving walls) |
BCPeriodic.c | Periodic boundary conditions |
BCPeriodic_GPU.cu | |
BCReflect.c | Reflection boundary condition |
BCSlipWall.c | Slip-wall boundary conditions |
BCSlipWall_GPU.cu | |
BCSponge.c | Sponge boundary condition |
BCSubsonicAmbivalent.c | Subsonic "ambivalent" boundary conditions (specific to Euler/Navier-Stokes systems) |
BCSubsonicInflow.c | Subsonic inflow boundary conditions (specific to Euler/Navier-Stokes systems) |
BCSubsonicOutflow.c | Subsonic outflow boundary conditions (specific to Euler/Navier-Stokes systems) |
BCSupersonicInflow.c | Supersonic inflow boundary conditions (specific to Euler/Navier-Stokes systems) |
BCSupersonicOutflow.c | Supersonic outflow boundary conditions (specific to Euler/Navier-Stokes systems) |
BCSWSlipWall.c | Slip-wall boundary conditions for shallow water equations |
BCThermalNoslipWall.c | Thermal no-slip-wall boundary conditions |
BCThermalSlipWall.c | Thermal slip-wall boundary conditions |
BCTurbulentSupersonicInflow.c | Turbulent supersonic inflow boundary condition (specific to the 3D Navier-Stokes system) |
▶ CommonFunctions | |
CommonFunctions.c | Some common functions used here and there |
ParallelReduction_GPU.cu | |
▶ FirstDerivative | |
FirstDerivativeFirstOrder.c | First order approximation to the first derivative |
FirstDerivativeFourthOrder.c | Fourth order finite-difference approximation to the first derivative |
FirstDerivativeFourthOrder_GPU.cu | |
FirstDerivativeSecondOrder.c | Second order finite-difference approximation to first derivative |
FirstDerivativeSecondOrderNoGhosts.c | Second order finite-difference approximation to first derivative |
▶ HyParFunctions | |
ApplyBoundaryConditions.c | Apply physical boundary conditions to domain |
ApplyIBConditions.c | Apply immersed boundary conditions |
BoundaryIntegral.c | Compute the flux integral over the physical boundary |
CalculateConservationError.c | Compute the conservation error |
CalculateError.c | Computes the error in the solution |
CalculateROMDiff.c | Computes the diff between PDE and ROM solutions |
ComputeRHSOperators.c | Compute the matrices representing the right-hand-side Jacobians |
ExactSolution.c | Read in exact solution, if available |
HyperbolicFunction.c | Compute the hyperbolic term of the governing equations |
HyperbolicFunction_GPU.cu | |
IncrementFilename.c | Functions for incrementing filename indices |
NonLinearInterpolation.c | Compute the coefficients of a non-linear interpolation method (such as WENO, CRWENO) |
ParabolicFunctionCons1Stage.c | Evaluate the parabolic term using a conservative spatial discretization |
ParabolicFunctionNC1.5Stage.c | Evaluate the parabolic term using a "1.5"-stage discretization |
ParabolicFunctionNC1Stage.c | Evaluate the parabolic term using a 1-stage finite-difference discretization |
ParabolicFunctionNC2Stage.c | Evaluate the parabolic term using a 2-stage finite difference discretization |
ParabolicFunctionNC2Stage_GPU.cu | |
SourceFunction.c | Evaluate the source term |
VolumeIntegral.c | Compute the volume integral of the solution |
▶ ImmersedBoundaries | |
IBAssembleGlobalFacetData.c | Assemble a local array with some facet var to a global one |
IBCleanup.c | Clean up immersed boundaries-related allocations |
IBComputeBoundingBox.c | Compute bounding box for an immersed body |
IBComputeFacetVar.c | Compute the interpolated value of a provided variable on immersed body surface |
IBComputeNormalGradient.c | Compute normal gradient of a provided variable on immersed body surface |
IBCreateFacetMapping.c | Create facet mapping |
IBIdentifyBody.c | Identify grid points inside immersed body |
IBIdentifyBoundary.c | Identiy the boundary nodes of the immersed body |
IBIdentifyMode.c | Identify 2D/3D mode for immersed body simulations |
IBInterpCoeffs.c | Compute interpolation nodes and coefficients for immersed boundary points |
IBNearestFacetNormal.c | Find the nearest facet for immersed boundary points |
IBReadBodySTL.c | Reads 3D body surface from STL file |
IBWriteBodySTL.c | Writes a 3D body surface to STL file |
▶ InterpolationFunctions | |
CompactSchemeCleanup.c | Cleans up allocations specific to compact finite-difference methods |
CompactSchemeInitialize.c | Initializes the compact schemes |
Interp1PrimFifthOrderCompactUpwind.c | 5th order compact upwind scheme (component-wise application to vectors) |
Interp1PrimFifthOrderCompactUpwindChar.c | Characteristic-based 5th order Compact Upwind Scheme |
Interp1PrimFifthOrderCRWENO.c | CRWENO5 Scheme (Component-wise application to vectors) |
Interp1PrimFifthOrderCRWENOChar.c | Characteristic-based CRWENO5 Scheme |
Interp1PrimFifthOrderHCWENO.c | Hybrid compact-WENO5 Scheme (Component-wise application to vectors) |
Interp1PrimFifthOrderHCWENOChar.c | Characteristic-based hybrid compact-WENO5 Scheme |
Interp1PrimFifthOrderUpwind.c | 5th order upwind scheme (Component-wise application to vectors) |
Interp1PrimFifthOrderUpwindChar.c | Characteristic-based Fifth-order Upwind Scheme |
Interp1PrimFifthOrderWENO.c | WENO5 Scheme (Component-wise application to vectors) |
Interp1PrimFifthOrderWENO_GPU.cu | |
Interp1PrimFifthOrderWENOChar.c | Characteristic-based WENO5 Scheme |
Interp1PrimFirstOrderUpwind.c | First order upwind Scheme (Component-wise application to vectors) |
Interp1PrimFirstOrderUpwindChar.c | Characteristic-based first order upwind scheme |
Interp1PrimFourthOrderCentral.c | 4th order central scheme (component-wise application to vectors) |
Interp1PrimFourthOrderCentralChar.c | Characteristic-based fourth order central scheme |
Interp1PrimSecondOrderCentral.c | 2nd order central scheme (component-wise application to vectors) |
Interp1PrimSecondOrderCentralChar.c | Characteristic-based second order central scheme |
Interp1PrimSecondOrderMUSCL.c | 2nd order MUSCL scheme (component-wise application to vectors) |
Interp1PrimSecondOrderMUSCLChar.c | Characteristic-based 2nd-order MUSCL scheme |
Interp1PrimThirdOrderMUSCL.c | 3rd order MUSCL scheme with Koren's limiter (component-wise application to vectors) |
Interp1PrimThirdOrderMUSCLChar.c | Characteristic-based 3rd-order MUSCL scheme with Koren's limiter |
Interp2PrimSecondOrder.c | 2nd order interpolation of the 2nd primitive |
MUSCLInitialize.c | Initialize the 2nd or 3rd order MUSCL scheme |
WENOCleanup.c | Cleans up allocations specific to WENO-type methods |
WENOFifthOrderCalculateWeights.c | Functions to compute the nonlinear weights for WENO-type schemes |
WENOFifthOrderCalculateWeights_GPU.cu | |
WENOFifthOrderInitializeWeights.c | Initialize the arrays for nonlinear weights of WENO-type schemes |
WENOInitialize.c | Initializes the WENO-type schemes |
▶ IOFunctions | |
ReadArray.c | Read in a vector field from file |
ReadArraywInterp.c | Read in a vector field from file |
WriteArray.c | Write a vector field, stored as an array, to file |
WriteBinary.c | Write a vector field and its grid to a binary file |
WriteTecplot2D.c | Write a vector field and its grid to a 2D Tecplot file |
WriteTecplot3D.c | Write a vector field and its grid to a 3D Tecplot file |
WriteText.c | Write a vector field and its grid to a text file |
▶ LimiterFunctions | |
LimiterGeneralizedMinMod.c | Generalized MinMod limiter |
LimiterMinMod.c | MinMod limiter |
LimiterSuperBee.c | Superbee limiter |
LimiterVanLeer.c | Van Leer limiter |
▶ MathFunctions | |
FillGhostCells.c | |
FindInterval.c | Find grid point indices corresponding to a spatial interval |
InterpolateGlobalnDVar.c | Functions to interpolate from one grid to another |
TrilinearInterpolation.c | Compute coefficients for trilinear interpolation |
▶ MPIFunctions | |
MPIBroadcast.c | Functions to broadcast over all MPI ranks |
MPICommunicators.c | Functions to create and destroy MPI subcommunicators |
MPIExchangeBoundaries1D.c | Exchange data and fill ghost points for a 1D array |
MPIExchangeBoundariesnD.c | Exchange data and fill in ghost points for an n-dimensional array |
MPIExchangeBoundariesnD_GPU.cu | |
MPIGatherArray1D.c | Gathers local 1D arrays to a global 1D array |
MPIGatherArraynD.c | Gather an n-dimensional array in to a global array |
MPIGetArrayDatanD.c | Send a part of a local array to another MPI rank |
MPIGetFilename.c | Get filename indexed by MPI rank |
MPIIOGroups.c | Create I/O groups of MPI ranks |
MPILocalDomainLimits.c | Compute local domain limites of a MPI rank |
MPIMax.c | Functions to compute the maximum over all MPI ranks |
MPIMin.c | Functions to compute the minimum over all MPI ranks |
MPIPartition1D.c | Compute the local size |
MPIPartitionArray1D.c | Partition an essentially 1D array |
MPIPartitionArraynD.c | Partition a global n-dimensional array |
MPIRank1D.c | Compute the 1D rank |
MPIRanknD.c | Compute the n-dimensional rank |
MPISum.c | Functions to compute the sum across MPI ranks |
▶ PETScFunctions | |
PetscCleanup.cpp | |
PetscComputePreconMatIMEX.cpp | Contains the function to assemble the preconditioning matrix |
PetscComputePreconMatImpl.cpp | Contains the function to assemble the preconditioning matrix |
PetscCreatePointList.cpp | |
PetscError.cpp | Compute time integration error estimates, if available |
PetscGlobalDOF.cpp | Compute the global DOF index for all the grid points |
PetscIFunctionIMEX.cpp | Compute the implicitly-treated part of the right-hand-side for IMEX time integration |
PetscIFunctionImpl.cpp | Compute the right-hand-side for implicit time integration |
PetscIJacobian.cpp | Contains the functions required for Jacobian computations for implicit time-integration |
PetscIJacobianIMEX.cpp | Contains the functions required for Jacobian computations for IMEX time-integration |
PetscJacobianMatNonzeroEntriesImpl.cpp | Contains the function to set nonzero entries of the Jacobian matrix |
PetscPostStage.cpp | Post-time-integration-stage function |
PetscPostTimeStep.cpp | Post-time-step function |
PetscPreStage.cpp | Pre-time-integration-stage function |
PetscPreTimeStep.cpp | Pre-time-step function |
PetscRegisterTIMethods.cpp | Register a custom time-integration method |
PetscRHSFunctionExpl.cpp | Function to compute the right-hand-side for explicit time integration |
PetscRHSFunctionIMEX.cpp | Compute the explicitly-treated part of the right-hand side for IMEX time integration |
PetscSetInitialGuessROM.cpp | Compute an initial guess for implicit solves using a reduced-order model |
TransferFromPETSc.cpp | Copy from PETSc vector to HyPar array |
TransferToPETSc.cpp | Copy from a HyPar array to a PETSc vector |
▶ PhysicalModels | |
▶ Burgers | |
BurgersAdvection.c | Contains the function to compute the hyperbolic flux for the Burgers equations over the domain |
BurgersCleanup.c | Contains the function to clean up the Burgers physics module |
BurgersComputeCFL.c | Contains the function to compute maximum CFL over the domain for the Burgers equation |
BurgersInitialize.c | Initialize the Burgers module |
BurgersUpwind.c | Contains functions to compute the upwind flux at grid interfaces for the Burgers equations |
▶ Euler1D | |
Euler1DCleanup.c | Contains the function to clean up the 1D Euler physics module |
Euler1DComputeCFL.c | Contains the function to compute maximum CFL over the domain for the 1D Euler equations physical model |
Euler1DEigen.c | Contains the functions to compute left and right eigenvectors for the 1D Euler equations |
Euler1DFlux.c | Contains the functions to compute the hyperbolic flux for the 1D Euler equations over the domain |
Euler1DFunctions.c | Miscellaneous functions for the 1D Euler equations |
Euler1DGravityField.c | Contains the function to compute the gravitational field |
Euler1DInitialize.c | Initialize the 1D Euler equations module |
Euler1DJacobian.c | Contains the functions compute flux Jacobians for the 1D Euler system |
Euler1DModifiedSolution.c | Contains the function to compute the modified solution for a balanced discretization scheme |
Euler1DPreStep.c | Contains the 1D Euler-specific function to be called at the beginning of each time step |
Euler1DSource.c | Contains the functions to compute the gravitation source terms for the 1D Euler equations |
Euler1DSourceUpwind.c | Contains functions to compute the "upwind" source term at an interface (for a balanced finite-difference discretization of the 1D Euler equations with gravitational source terms) |
Euler1DUpwind.c | Contains functions to compute the upwind flux at grid interfaces for the 1D Euler equations |
▶ Euler2D | |
Euler2DCleanup.c | |
Euler2DComputeCFL.c | |
Euler2DEigen.c | |
Euler2DFlux.c | |
Euler2DFunctions.c | |
Euler2DInitialize.c | |
Euler2DUpwind.c | |
▶ FPDoubleWell | |
FPDoubleWellAdvection.c | |
FPDoubleWellCleanup.c | |
FPDoubleWellComputeCFL.c | |
FPDoubleWellComputeDiffNumber.c | |
FPDoubleWellDiffusion.c | |
FPDoubleWellInitialize.c | |
FPDoubleWellPostStep.c | |
FPDoubleWellPrintStep.c | |
FPDoubleWellUpwind.c | |
▶ FPPowerSystem | |
FPPowerSystemAdvection.c | |
FPPowerSystemCleanup.c | |
FPPowerSystemComputeCFL.c | |
FPPowerSystemComputeDiffNumber.c | |
FPPowerSystemDiffusion.c | |
FPPowerSystemFunctions.c | |
FPPowerSystemInitialize.c | |
FPPowerSystemPostStep.c | |
FPPowerSystemPrintStep.c | |
FPPowerSystemUpwind.c | |
▶ FPPowerSystem1Bus | |
FPPowerSystem1BusAdvection.c | |
FPPowerSystem1BusCleanup.c | |
FPPowerSystem1BusComputeCFL.c | |
FPPowerSystem1BusComputeDiffNumber.c | |
FPPowerSystem1BusDiffusion.c | |
FPPowerSystem1BusFunctions.c | |
FPPowerSystem1BusInitialize.c | |
FPPowerSystem1BusPostStep.c | |
FPPowerSystem1BusPrintStep.c | |
FPPowerSystem1BusUpwind.c | |
▶ FPPowerSystem3Bus | |
FPPowerSystem3BusAdvection.c | Function to compute the advection term for the FPPowerSystem3Bus system |
FPPowerSystem3BusCleanup.c | Function to clean up allocations for the FPPowerSystem3Bus system |
FPPowerSystem3BusComputeCFL.c | Function to compute the maximum CFL for the FPPowerSystem3Bus system |
FPPowerSystem3BusComputeDiffNumber.c | Function to compute the maximum diffusion number |
FPPowerSystem3BusDiffusion.c | Compute the dissipative term for the FPPowerSystem3Bus system |
FPPowerSystem3BusFunctions.c | Miscellaneous functions for the 3-bus power system model |
FPPowerSystem3BusInitialize.c | Function to initialize the 3-bus power system model |
FPPowerSystem3BusUpwind.c | Upwinding function for the 3-bus power system model |
▶ LinearADR | |
LinearADRAdvection.c | Function to evaluate the advection term in the linear advection-diffusion-reaction model |
LinearADRAdvectionField.c | Contains the function to read in a non-constant advection field |
LinearADRCleanup.c | Clean up the linear advection-diffusion-reaction model |
LinearADRComputeCFL.c | Compute the maximum CFL |
LinearADRComputeDiffNumber.c | Compute the diffusion number |
LinearADRDiffusion.c | Function to evaluate the diffusion term in the linear advection-diffusion-reaction model |
LinearADRInitialize.c | Initialize the linear advection-diffusion-reaction module |
LinearADRJacobian.c | Function to compute the hyperbolic flux Jacobian for the linear advection-diffusion-reaction system |
LinearADRReaction.c | Function to evaluate the reaction term in the linear advection-diffusion-reaction model |
LinearADRUpwind.c | Evaluate the upwind flux for the linear advection-diffusion-reaction model |
LinearADRWriteAdvField.c | Write out the advection field to file |
▶ NavierStokes2D | |
NavierStokes2DCleanup.c | Clean up the 2D Navier Stokes module |
NavierStokes2DComputeCFL.c | Compute the maximum CFL |
NavierStokes2DEigen.c | Contains the functions to compute left and right eigenvectors for the 2D Navier Stokes equations |
NavierStokes2DFlux.c | Functions to compute the hyperbolic flux for 2D Navier-Stokes equations |
NavierStokes2DFlux_GPU.cu | |
NavierStokes2DFunctions.c | Miscellaneous functions for the 2D Navier Stokes equations |
NavierStokes2DGravityField.c | Function to compute the hydrostatically balanced pressure and density variation functions |
NavierStokes2DInitialize.c | Initialization of the physics-related variables and function pointers for the 2D Navier-Stokes system |
NavierStokes2DInitialize_GPU.c | Initialization of the physics-related variables and function pointers for the 2D Navier-Stokes system |
NavierStokes2DJacobian.c | Contains the functions compute flux Jacobians for the 2D Navier-Stokes system |
NavierStokes2DModifiedSolution.c | Compute the modified solution for the well-balanced treatment of gravitational source terms |
NavierStokes2DModifiedSolution_GPU.cu | |
NavierStokes2DParabolicFunction.c | Compute the viscous terms for the 2D Navier Stokes equations |
NavierStokes2DParabolicFunction_GPU.cu | |
NavierStokes2DPreStep.c | Pre-step function for 2D Navier Stokes equations |
NavierStokes2DPreStep_GPU.cu | |
NavierStokes2DSource.c | Compute the gravitational source term for the 2D Navier Stokes system |
NavierStokes2DSource_GPU.cu | |
NavierStokes2DUpwind.c | Contains functions to compute the upwind flux at grid interfaces for the 2D Navier Stokes equations |
NavierStokes2DUpwind_GPU.cu | |
▶ NavierStokes3D | |
NavierStokes3DCleanup.c | Clean up the 3D Navier Stokes module |
NavierStokes3DCleanup_GPU.c | Clean up the 3D Navier Stokes module in the GPU memory |
NavierStokes3DComputeCFL.c | Compute the maximum CFL |
NavierStokes3DEigen.c | Contains the functions to compute left and right eigenvectors for the 3D Navier Stokes equations |
NavierStokes3DFlux.c | Functions to compute the hyperbolic flux for 3D Navier-Stokes equations |
NavierStokes3DFlux_GPU.cu | |
NavierStokes3DFunctions.c | Miscellaneous functions for the 3D Navier Stokes equations |
NavierStokes3DGravityField.c | Function to compute the hydrostatically balanced pressure and density variation functions |
NavierStokes3DIBForces.c | Compute aerodynamic forces on immersed body, if present |
NavierStokes3DImmersedBoundary.c | Immersed boundary treatment for 3D Navier-Stokes equations |
NavierStokes3DInitialize.c | Initialization of the physics-related variables and function pointers for the 3D Navier-Stokes system |
NavierStokes3DInitialize_GPU.c | Initialization of the physics-related variables and function pointers for the 2D Navier-Stokes system |
NavierStokes3DJacobian.c | Contains the functions compute flux Jacobians for the 3D Navier-Stokes system |
NavierStokes3DModifiedSolution.c | Compute the modified solution for the well-balanced treatment of gravitational source terms |
NavierStokes3DModifiedSolution_GPU.cu | |
NavierStokes3DParabolicFunction.c | Compute the viscous terms for the 3D Navier Stokes equations |
NavierStokes3DParabolicFunction_GPU.cu | |
NavierStokes3DPreStep.c | Pre-step function for 3D Navier Stokes equations |
NavierStokes3DPreStep_GPU.cu | |
NavierStokes3DSource.c | Compute the gravitational source term for the 3D Navier Stokes system |
NavierStokes3DSource_GPU.cu | |
NavierStokes3DUpwind.c | Contains functions to compute the upwind flux at grid interfaces for the 3D Navier Stokes equations |
NavierStokes3DUpwind_GPU.cu | |
▶ Numa2D | |
Numa2DCleanup.c | |
Numa2DComputeCFL.c | |
Numa2DFlux.c | |
Numa2DFunctions.c | |
Numa2DInitialize.c | |
Numa2DParabolicFunction.c | |
Numa2DSource.c | |
Numa2DUpwind.c | |
▶ Numa3D | |
Numa3DCleanup.c | |
Numa3DComputeCFL.c | |
Numa3DFlux.c | |
Numa3DFunctions.c | |
Numa3DInitialize.c | |
Numa3DSource.c | |
Numa3DUpwind.c | |
▶ ShallowWater1D | |
ShallowWater1DCleanup.c | Contains the function to clean up the 1D shallow water physics module |
ShallowWater1DComputeCFL.c | Contains the function to compute maximum CFL over the domain for the 1D shallow water equations physical model |
ShallowWater1DEigen.c | Contains the functions to compute left and right eigenvectors for the 1D shallow water equations |
ShallowWater1DFlux.c | Contains the functions to compute the hyperbolic flux for the 1D shallow water equations over the domain |
ShallowWater1DFunctions.c | Miscellaneous functions for the 1D shallow water equations |
ShallowWater1DInitialize.c | Initialize the 1D shallow water equations module |
ShallowWater1DJacobian.c | Contains the functions compute flux Jacobians for the 1D shallow water system |
ShallowWater1DModifiedSolution.c | Contains the function to compute the modified solution for a balanced discretization scheme |
ShallowWater1DSource.c | Contains the functions to compute the source terms for the 1D shallow water equations |
ShallowWater1DSourceUpwind.c | Contains functions to compute the "upwind" source term at an interface (for a balanced finite-difference discretization of the 1D shallow water equations) |
ShallowWater1DTopography.c | Contains the function to set the bottom topography |
ShallowWater1DUpwind.c | Contains functions to compute the upwind flux at grid interfaces for the 1D shallow water equations |
ShallowWater1DWriteTopography.c | Function to write out the topography |
▶ ShallowWater2D | |
ShallowWater2DCleanup.c | Contains the function to clean up the 2D shallow water physics module |
ShallowWater2DComputeCFL.c | Contains the function to compute maximum CFL over the domain for the 2D shallow water equations physical model |
ShallowWater2DEigen.c | Contains the functions to compute left and right eigenvectors for the 2D shallow water equations |
ShallowWater2DFlux.c | Contains the functions to compute the hyperbolic flux for the 2D shallow water equations over the domain |
ShallowWater2DFunctions.c | Miscellaneous functions for the 2D shallow water equations |
ShallowWater2DInitialize.c | Initialize the 2D shallow water equations module |
ShallowWater2DJacobian.c | Contains the functions compute flux Jacobians for the 2D shallow water system |
ShallowWater2DModifiedSolution.c | Contains the function to compute the modified solution for a balanced discretization scheme |
ShallowWater2DSource.c | Contains the functions to compute the source terms for the 2D shallow water equations |
ShallowWater2DSourceUpwind.c | Contains functions to compute the "upwind" source term at an interface (for a balanced finite-difference discretization of the 2D shallow water equations) |
ShallowWater2DTopography.c | Contains the function to set the bottom topography |
ShallowWater2DUpwind.c | Contains functions to compute the upwind flux at grid interfaces for the 2D shallow water equations |
ShallowWater2DWriteTopography.c | Function to write out the topography |
▶ Vlasov | |
VlasovAdvection.c | Contains the function to compute the hyperbolic flux for the Vlasov equations over the domain |
VlasovAdvectionCoeff.c | Returns the advection coefficient at a given grid index |
VlasovCleanup.c | Contains the function to clean up the Vlasov physics module |
VlasovComputeCFL.c | Contains the function to compute maximum CFL over the domain for the Vlasov equations |
VlasovEField.c | Contains the function to compute the electric field |
VlasovFunctions.c | Misc. functions for the Vlasov equations |
VlasovInitialize.c | Initialize the Vlasov module |
VlasovPlotSpatialField.c | Plot out the field to file |
VlasovUpwind.c | Contains functions to compute the upwind flux at grid interfaces for the Vlasov equations |
VlasovWriteEFieldAndPotential.c | Write out the electric field and potential to file |
VlasovWriteSpatialField.c | Write out the field to file |
▶ PlottingFunctions | |
PlotArray.c | Plot a vector field, stored as an array, and save to file |
plotSolution.py | |
▶ ROM | |
DMDROMObject.cpp | Member functions of the class DMDROMObject |
libROMInterface.cpp | Functions that implement interface with libROM |
▶ SecondDerivative | |
SecondDerivativeFourthOrder.c | 4th order discretization of the second derivative |
SecondDerivativeSecondOrder.c | 2nd order discretization of the second derivative |
SecondDerivativeSecondOrderNoGhosts.c | 2nd order discretization of the second derivative |
▶ Simulation | |
Cleanup.c | Clean up and free memory after simulation is complete |
CombineSolutions.c | Functions to combine solutions on multiple grids on a target grid |
EnsembleSimulationsDefine.cpp | Define an ensemble simulation object |
Initialize.c | Initialization function |
InitializeBoundaries.c | Initialize the boundary implementation |
InitializeImmersedBoundaries.c | Initialize the immersed boundary implementation |
InitializePhysics.c | Initialize the physical model |
InitializePhysicsData.c | Read in any arrays/data that physics model wants |
InitializeSolvers.c | Initialize all solvers |
InitialSolution.c | Read in initial solution from file |
OutputROMSolution.cpp | Write out the solution to file |
OutputSolution.cpp | Write out the solution to file |
ReadInputs.c | Read the input parameters from solver.inp |
SimulationWriteErrors.c | Write errors for each simulation |
SingleSimulationDefine.cpp | Define a single simulation object |
Solve.cpp | |
SolvePETSc.cpp | Integrate in time using PETSc |
WriteInputs.c | |
▶ SparseGrids | |
SparseGridsCalculateError.cpp | Calculate errors if an exact solution is provided |
SparseGridsCombinationTechnique.cpp | Functions to implement the combination technique |
SparseGridsDefine.cpp | Define a single simulation object |
SparseGridsFillGhostCells.cpp | Fill the ghost cells of a solution |
SparseGridsInitializationWrapup.cpp | Wrap up all initializations |
SparseGridsInitialize.cpp | Initialize all the stuff needed for a sparse grids simulation |
SparseGridsInitialSolution.cpp | Read in initial solution and intepolate it to the sparse grids |
SparseGridsInterpolate.cpp | Functions to interpolate from one grid to another |
SparseGridsInterpolateGrid.cpp | |
SparseGridsMiscFuncs.cpp | Miscellaneous functions needed for a sparse grids simulation |
SparseGridsOutputSolution.cpp | Output the solution to file |
SparseGridsSanityChecks.cpp | Sanity checks for sparse grids simulations |
SparseGridsSetSolverParameters.cpp | Set the solver parameters of a simulation object |
SparseGridsSolve.cpp | Run a sparse grids simulation |
SparseGridsWriteErrors.cpp | Write errors for the simulation |
▶ TimeIntegration | |
TimeCleanup.c | Clean up time integration |
TimeError.c | Compute time integration error |
TimeExplicitRKCleanup.c | Clean up explicit Runge-Kutta time integrator |
TimeExplicitRKInitialize.c | Initialize explicit Runge-Kutta time integrators |
TimeForwardEuler.c | Forward Euler method |
TimeGetAuxSolutions.c | Returns any "auxiliary" solutions |
TimeGLMGEE.c | General Linear Methods with Global Error Estimators |
TimeGLMGEECleanup.c | Clean up the _GLM_GEE_ time integrator |
TimeGLMGEEInitialize.c | Initialize the _GLM_GEE_ time integrator |
TimeInitialize.c | Initialize time integration |
TimePostStep.c | Post-time-step function |
TimePreStep.c | Pre-time-step function |
TimePrintStep.c | Print to screen |
TimeRHSFunctionExplicit.c | Right-hand-side computation for explicit time integration |
TimeRK.c | Explicit Runge-Kutta method |
TimeStep.c | Advance one time step |
▶ TridiagLU | |
blocktridiagIterJacobi.c | Solve a block tridiagonal system with the Jacobi method |
blocktridiagLU.c | Solve block tridiagonal systems using the LU decomposition method |
tridiagIterJacobi.c | Solve tridiagonal systems of equations with the point Jacobi method |
tridiagLU.c | Solve tridiagonal systems of equation using parallel LU decomposition |
tridiagLUGS.c | Solve tridiagonal systems of equations in parallel using "gather-and-solve" |
tridiagLUInit.c | Initialize the tridiagLU solver |
tridiagScaLPK.c | Wrapper function to solve tridiagonal systems using ScaLAPACK's pddtsv |
main.cpp |