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