├── .clang-tidy ├── .codespell-ignore-words ├── .codespellrc ├── .editorconfig ├── .gitattributes ├── .github ├── pull_request_template.md └── workflows │ ├── apps.yml │ ├── ascent.yml │ ├── bittree.yml │ ├── cache-cleanup-notes.md │ ├── catalyst.yml │ ├── check_changes.yml │ ├── clang.yml │ ├── cleanup-cache-postpr.yml │ ├── cleanup-cache.yml │ ├── codeql.yml │ ├── codeql │ └── codeql-config.yml │ ├── codespell.yml │ ├── cuda.yml │ ├── dependencies │ ├── dependencies.sh │ ├── dependencies_ccache.sh │ ├── dependencies_clang-tidy-apt-llvm.sh │ ├── dependencies_clang-tidy.sh │ ├── dependencies_clang.sh │ ├── dependencies_codeplay.sh │ ├── dependencies_dpcpp.sh │ ├── dependencies_gcc.sh │ ├── dependencies_hip.sh │ ├── dependencies_llvm_cuda11_clang15.sh │ ├── dependencies_mac.sh │ ├── dependencies_nofortran.sh │ ├── dependencies_nvcc.sh │ ├── dependencies_nvhpc.sh │ ├── documentation.sh │ └── ubuntu_free_disk_space.sh │ ├── docker │ └── sensei │ │ ├── Dockerfile │ │ ├── build-container.sh │ │ ├── install_deps.sh │ │ ├── install_sensei.sh │ │ ├── install_vtk_minimal.sh │ │ ├── tools.sh │ │ └── vtk_use_mpi.patch │ ├── docs.yml │ ├── gcc.yml │ ├── hip.yml │ ├── hypre.yml │ ├── intel.yml │ ├── macos.yml │ ├── petsc.yml │ ├── post-pr.yml │ ├── sensei.yml │ ├── smoke.yml │ ├── style.yml │ ├── style │ ├── check_tabs.sh │ ├── check_trailing_whitespaces.sh │ └── doxygen.sh │ ├── sundials.yml │ └── windows.yml ├── .gitignore ├── .gitmodules ├── .mailmap ├── .zenodo.json ├── CHANGES ├── CITATION ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Docs ├── Doxygen │ ├── customdoxygen.css │ ├── doxygen.conf │ ├── footer.html │ ├── header.html │ ├── main.dox │ └── resize_AMReX_logo.png ├── Migration │ └── Migration.md ├── Notes │ ├── Readme.io │ ├── Readme.profiling │ └── Readme.typecheck ├── README.md ├── Readme.sphinx └── sphinx_documentation │ ├── Makefile │ └── source │ ├── AMReX_Profiling_Tools.rst │ ├── AMReX_Profiling_Tools_Chapter.rst │ ├── AmrCore.rst │ ├── AmrCore │ └── figs │ │ ├── Adv1.png │ │ ├── Adv2.png │ │ ├── Adv3.png │ │ ├── Adv4.png │ │ ├── Adv5.png │ │ ├── flowchart.odg │ │ ├── flowchart.png │ │ ├── subcycling.png │ │ └── subcycling.tex │ ├── AmrCore_Chapter.rst │ ├── AmrLevel.rst │ ├── AmrLevel_Chapter.rst │ ├── Basics.rst │ ├── Basics │ ├── amrgrids.png │ ├── cc_growbox.png │ ├── cc_tilebox.png │ ├── cc_validbox.png │ ├── ec_growbox.png │ ├── ec_tilebox.png │ ├── ec_validbox.png │ ├── figs │ │ ├── flowchart.odg │ │ └── flowchart.png │ └── indextypes.png │ ├── Basics_Chapter.rst │ ├── BuildingAMReX.rst │ ├── BuildingAMReX_Chapter.rst │ ├── Debugging.rst │ ├── DualGrid.rst │ ├── EB.rst │ ├── EB │ ├── EB_example.fig │ ├── EB_example.png │ ├── areas_and_volumes.fig │ ├── areas_and_volumes.png │ ├── eb_fluxes.fig │ ├── eb_fluxes.png │ ├── redist.fig │ └── redist.png │ ├── EB_Chapter.rst │ ├── External_Frameworks_Chapter.rst │ ├── External_Profiling_Tools.rst │ ├── External_Profiling_Tools_Chapter.rst │ ├── FFT.rst │ ├── FFT_Chapter.rst │ ├── Faq.rst │ ├── ForkJoin.rst │ ├── Fortran.rst │ ├── Fortran_Chapter.rst │ ├── GPU.rst │ ├── GPU │ ├── Streams.png │ ├── Streams.pptx │ ├── gpu_1.png │ ├── gpu_2.png │ └── gpu_3.png │ ├── GPU_Chapter.rst │ ├── GettingStarted.rst │ ├── GettingStarted_Chapter.rst │ ├── Governance.rst │ ├── GridCreation.rst │ ├── IO.rst │ ├── IO_Chapter.rst │ ├── Introduction.rst │ ├── LinearSolvers.rst │ ├── LinearSolvers │ ├── refluxfreecoarsefine.png │ └── refluxfreecoarsefine.svg │ ├── LinearSolvers_Chapter.rst │ ├── LoadBalancing.rst │ ├── ManagingGridHierarchy_Chapter.rst │ ├── Particle.rst │ ├── Particle │ ├── neighbor_list.png │ ├── neighbor_list.tex │ ├── neighbor_particles.png │ ├── neighbor_particles.tex │ ├── particle_arrays.png │ └── particle_arrays.tex │ ├── Particle_Chapter.rst │ ├── Post_Processing.rst │ ├── Post_Processing_Chapter.rst │ ├── Profiling │ └── figs │ │ ├── commtopo.png │ │ ├── mpi.png │ │ ├── msgsizes.png │ │ ├── papi.png │ │ ├── summary.png │ │ └── timings.png │ ├── Python_Chapter.rst │ ├── Regression_Testing_Chapter.rst │ ├── RuntimeParameters.rst │ ├── SUNDIALS_top.rst │ ├── Testing.rst │ ├── TimeIntegration_Chapter.rst │ ├── Visualization.rst │ ├── Visualization │ ├── Amrvis_2d.png │ ├── Amrvis_3d.png │ ├── ParaView.png │ ├── ParaView_filegroup.png │ ├── ParaView_particles.png │ ├── ParaView_series_reload.png │ ├── ParaView_vectorfield.png │ ├── VisIt_2D.png │ ├── VisIt_3D.png │ ├── rt_2048_paraview_000500.png │ ├── rt_2048_visit_000500.png │ ├── sensei_amrex_arch_sm_824.png │ ├── write_series_file.sh │ ├── yt_Nyx_density_slice.png │ └── yt_Nyx_density_vol_rend.png │ ├── Visualization_Chapter.rst │ ├── _static │ └── theme_overrides.css │ ├── conf.py │ ├── figs │ ├── ex_fsnapshot_resize.png │ ├── fork_join_tasks.png │ └── nested_fork_join_tasks.png │ └── index.rst ├── GNUmakefile.in ├── GOVERNANCE.rst ├── INSTALL ├── LICENSE ├── NOTICE ├── README.md ├── Src ├── Amr │ ├── AMReX_Amr.H │ ├── AMReX_Amr.cpp │ ├── AMReX_AmrFwd.H │ ├── AMReX_AmrLevel.H │ ├── AMReX_AmrLevel.cpp │ ├── AMReX_AuxBoundaryData.H │ ├── AMReX_AuxBoundaryData.cpp │ ├── AMReX_Derive.H │ ├── AMReX_Derive.cpp │ ├── AMReX_Extrapolater.H │ ├── AMReX_Extrapolater.cpp │ ├── AMReX_LevelBld.H │ ├── AMReX_PROB_AMR_F.H │ ├── AMReX_StateData.H │ ├── AMReX_StateData.cpp │ ├── AMReX_StateDescriptor.H │ ├── AMReX_StateDescriptor.cpp │ ├── AMReX_extrapolater_1D_K.H │ ├── AMReX_extrapolater_2D_K.H │ ├── AMReX_extrapolater_3D_K.H │ ├── AMReX_extrapolater_K.H │ ├── CMakeLists.txt │ └── Make.package ├── AmrCore │ ├── AMReX_AmrCore.H │ ├── AMReX_AmrCore.cpp │ ├── AMReX_AmrCoreFwd.H │ ├── AMReX_AmrMesh.H │ ├── AMReX_AmrMesh.cpp │ ├── AMReX_AmrParGDB.H │ ├── AMReX_AmrParticles.H │ ├── AMReX_Cluster.H │ ├── AMReX_Cluster.cpp │ ├── AMReX_ErrorList.H │ ├── AMReX_ErrorList.cpp │ ├── AMReX_FillPatchUtil.H │ ├── AMReX_FillPatchUtil.cpp │ ├── AMReX_FillPatchUtil_1d.F90 │ ├── AMReX_FillPatchUtil_2d.F90 │ ├── AMReX_FillPatchUtil_3d.F90 │ ├── AMReX_FillPatchUtil_F.H │ ├── AMReX_FillPatchUtil_I.H │ ├── AMReX_FillPatcher.H │ ├── AMReX_FluxReg_1D_C.H │ ├── AMReX_FluxReg_2D_C.H │ ├── AMReX_FluxReg_3D_C.H │ ├── AMReX_FluxReg_C.H │ ├── AMReX_FluxRegister.H │ ├── AMReX_FluxRegister.cpp │ ├── AMReX_InterpBase.H │ ├── AMReX_InterpBase.cpp │ ├── AMReX_InterpFaceReg_1D_C.H │ ├── AMReX_InterpFaceReg_2D_C.H │ ├── AMReX_InterpFaceReg_3D_C.H │ ├── AMReX_InterpFaceReg_C.H │ ├── AMReX_InterpFaceRegister.H │ ├── AMReX_InterpFaceRegister.cpp │ ├── AMReX_Interp_1D_C.H │ ├── AMReX_Interp_2D_C.H │ ├── AMReX_Interp_3D_C.H │ ├── AMReX_Interp_C.H │ ├── AMReX_Interpolater.H │ ├── AMReX_Interpolater.cpp │ ├── AMReX_MFInterp_1D_C.H │ ├── AMReX_MFInterp_2D_C.H │ ├── AMReX_MFInterp_3D_C.H │ ├── AMReX_MFInterp_C.H │ ├── AMReX_MFInterpolater.H │ ├── AMReX_MFInterpolater.cpp │ ├── AMReX_TagBox.H │ ├── AMReX_TagBox.cpp │ ├── CMakeLists.txt │ └── Make.package ├── Base │ ├── AMReX.H │ ├── AMReX.cpp │ ├── AMReX_ANSIEscCode.H │ ├── AMReX_Algorithm.H │ ├── AMReX_Any.H │ ├── AMReX_Arena.H │ ├── AMReX_Arena.cpp │ ├── AMReX_Array.H │ ├── AMReX_Array4.H │ ├── AMReX_ArrayLim.H │ ├── AMReX_AsyncOut.H │ ├── AMReX_AsyncOut.cpp │ ├── AMReX_BArena.H │ ├── AMReX_BArena.cpp │ ├── AMReX_BCRec.H │ ├── AMReX_BCRec.cpp │ ├── AMReX_BCUtil.H │ ├── AMReX_BCUtil.cpp │ ├── AMReX_BC_TYPES.H │ ├── AMReX_BLBackTrace.H │ ├── AMReX_BLBackTrace.cpp │ ├── AMReX_BLFort.H │ ├── AMReX_BLProfiler.H │ ├── AMReX_BLProfiler.cpp │ ├── AMReX_BLProfiler_F.F90 │ ├── AMReX_BLassert.H │ ├── AMReX_BLutil_F.F90 │ ├── AMReX_BackgroundThread.H │ ├── AMReX_BackgroundThread.cpp │ ├── AMReX_BaseFab.H │ ├── AMReX_BaseFab.cpp │ ├── AMReX_BaseFabUtility.H │ ├── AMReX_BaseFwd.H │ ├── AMReX_BlockMutex.H │ ├── AMReX_BlockMutex.cpp │ ├── AMReX_Box.H │ ├── AMReX_Box.cpp │ ├── AMReX_BoxArray.H │ ├── AMReX_BoxArray.cpp │ ├── AMReX_BoxDomain.H │ ├── AMReX_BoxDomain.cpp │ ├── AMReX_BoxIterator.H │ ├── AMReX_BoxIterator.cpp │ ├── AMReX_BoxList.H │ ├── AMReX_BoxList.cpp │ ├── AMReX_CArena.H │ ├── AMReX_CArena.cpp │ ├── AMReX_CONSTANTS.H │ ├── AMReX_COORDSYS_1D_C.H │ ├── AMReX_COORDSYS_2D_C.H │ ├── AMReX_COORDSYS_3D_C.H │ ├── AMReX_COORDSYS_C.H │ ├── AMReX_CTOParallelForImpl.H │ ├── AMReX_ConstexprFor.H │ ├── AMReX_CoordSys.H │ ├── AMReX_CoordSys.cpp │ ├── AMReX_CudaGraph.H │ ├── AMReX_CuptiTrace.H │ ├── AMReX_CuptiTrace.cpp │ ├── AMReX_DataAllocator.H │ ├── AMReX_Demangle.H │ ├── AMReX_Dim3.H │ ├── AMReX_DistributionMapping.H │ ├── AMReX_DistributionMapping.cpp │ ├── AMReX_Enum.H │ ├── AMReX_Exception.H │ ├── AMReX_Extension.H │ ├── AMReX_FACopyDescriptor.H │ ├── AMReX_FArrayBox.H │ ├── AMReX_FArrayBox.cpp │ ├── AMReX_FBI.H │ ├── AMReX_FEIntegrator.H │ ├── AMReX_FPC.H │ ├── AMReX_FPC.cpp │ ├── AMReX_FabArray.H │ ├── AMReX_FabArrayBase.H │ ├── AMReX_FabArrayBase.cpp │ ├── AMReX_FabArrayCommI.H │ ├── AMReX_FabArrayUtility.H │ ├── AMReX_FabConv.H │ ├── AMReX_FabConv.cpp │ ├── AMReX_FabDataType.H │ ├── AMReX_FabFactory.H │ ├── AMReX_FilCC_1D_C.H │ ├── AMReX_FilCC_2D_C.H │ ├── AMReX_FilCC_3D_C.H │ ├── AMReX_FilCC_C.H │ ├── AMReX_FilCC_C.cpp │ ├── AMReX_FilFC_1D_C.H │ ├── AMReX_FilFC_2D_C.H │ ├── AMReX_FilFC_3D_C.H │ ├── AMReX_FilFC_C.H │ ├── AMReX_FilFC_C.cpp │ ├── AMReX_FilND_C.H │ ├── AMReX_FilND_C.cpp │ ├── AMReX_FileSystem.H │ ├── AMReX_FileSystem.cpp │ ├── AMReX_ForkJoin.H │ ├── AMReX_ForkJoin.cpp │ ├── AMReX_Functional.H │ ├── AMReX_Geometry.H │ ├── AMReX_Geometry.cpp │ ├── AMReX_Gpu.H │ ├── AMReX_GpuAllocators.H │ ├── AMReX_GpuAssert.H │ ├── AMReX_GpuAsyncArray.H │ ├── AMReX_GpuAsyncArray.cpp │ ├── AMReX_GpuAtomic.H │ ├── AMReX_GpuBuffer.H │ ├── AMReX_GpuComplex.H │ ├── AMReX_GpuContainers.H │ ├── AMReX_GpuControl.H │ ├── AMReX_GpuControl.cpp │ ├── AMReX_GpuDevice.H │ ├── AMReX_GpuDevice.cpp │ ├── AMReX_GpuElixir.H │ ├── AMReX_GpuElixir.cpp │ ├── AMReX_GpuError.H │ ├── AMReX_GpuKernelInfo.H │ ├── AMReX_GpuLaunch.H │ ├── AMReX_GpuLaunch.nolint.H │ ├── AMReX_GpuLaunchFunctsC.H │ ├── AMReX_GpuLaunchFunctsG.H │ ├── AMReX_GpuLaunchGlobal.H │ ├── AMReX_GpuLaunchMacrosC.H │ ├── AMReX_GpuLaunchMacrosC.nolint.H │ ├── AMReX_GpuLaunchMacrosG.H │ ├── AMReX_GpuLaunchMacrosG.nolint.H │ ├── AMReX_GpuMemory.H │ ├── AMReX_GpuPrint.H │ ├── AMReX_GpuQualifiers.H │ ├── AMReX_GpuRange.H │ ├── AMReX_GpuReduce.H │ ├── AMReX_GpuTypes.H │ ├── AMReX_GpuUtility.H │ ├── AMReX_GpuUtility.cpp │ ├── AMReX_IArrayBox.H │ ├── AMReX_IArrayBox.cpp │ ├── AMReX_INT.H │ ├── AMReX_IOFormat.H │ ├── AMReX_IndexType.H │ ├── AMReX_IndexType.cpp │ ├── AMReX_IntConv.H │ ├── AMReX_IntConv.cpp │ ├── AMReX_IntVect.H │ ├── AMReX_IntVect.cpp │ ├── AMReX_IntegratorBase.H │ ├── AMReX_LUSolver.H │ ├── AMReX_LayoutData.H │ ├── AMReX_Lazy.H │ ├── AMReX_Lazy.cpp │ ├── AMReX_Loop.H │ ├── AMReX_Loop.nolint.H │ ├── AMReX_MFCopyDescriptor.H │ ├── AMReX_MFCopyDescriptor.cpp │ ├── AMReX_MFIter.H │ ├── AMReX_MFIter.cpp │ ├── AMReX_MFParallelFor.H │ ├── AMReX_MFParallelForC.H │ ├── AMReX_MFParallelForG.H │ ├── AMReX_MPMD.H │ ├── AMReX_MPMD.cpp │ ├── AMReX_Machine.H │ ├── AMReX_Machine.cpp │ ├── AMReX_MakeType.H │ ├── AMReX_Math.H │ ├── AMReX_MemPool.H │ ├── AMReX_MemPool.cpp │ ├── AMReX_MemProfiler.H │ ├── AMReX_MemProfiler.cpp │ ├── AMReX_Morton.H │ ├── AMReX_MultiFab.H │ ├── AMReX_MultiFab.cpp │ ├── AMReX_MultiFabUtil.H │ ├── AMReX_MultiFabUtil.cpp │ ├── AMReX_MultiFabUtilI.H │ ├── AMReX_MultiFabUtil_1D_C.H │ ├── AMReX_MultiFabUtil_2D_C.H │ ├── AMReX_MultiFabUtil_3D_C.H │ ├── AMReX_MultiFabUtil_C.H │ ├── AMReX_MultiFabUtil_nd_C.H │ ├── AMReX_NFiles.H │ ├── AMReX_NFiles.cpp │ ├── AMReX_NonLocalBC.H │ ├── AMReX_NonLocalBC.cpp │ ├── AMReX_NonLocalBCImpl.H │ ├── AMReX_OpenMP.H │ ├── AMReX_OpenMP.cpp │ ├── AMReX_Orientation.H │ ├── AMReX_Orientation.cpp │ ├── AMReX_PArena.H │ ├── AMReX_PArena.cpp │ ├── AMReX_PCI.H │ ├── AMReX_PODVector.H │ ├── AMReX_PODVector.cpp │ ├── AMReX_ParReduce.H │ ├── AMReX_ParallelContext.H │ ├── AMReX_ParallelContext.cpp │ ├── AMReX_ParallelDescriptor.H │ ├── AMReX_ParallelDescriptor.cpp │ ├── AMReX_ParallelDescriptor_F.F90 │ ├── AMReX_ParallelReduce.H │ ├── AMReX_ParmParse.H │ ├── AMReX_ParmParse.cpp │ ├── AMReX_Partition.H │ ├── AMReX_Periodicity.H │ ├── AMReX_Periodicity.cpp │ ├── AMReX_PhysBCFunct.H │ ├── AMReX_PhysBCFunct.cpp │ ├── AMReX_PlotFileDataImpl.H │ ├── AMReX_PlotFileDataImpl.cpp │ ├── AMReX_PlotFileUtil.H │ ├── AMReX_PlotFileUtil.cpp │ ├── AMReX_Print.H │ ├── AMReX_REAL.H │ ├── AMReX_RKIntegrator.H │ ├── AMReX_Random.H │ ├── AMReX_Random.cpp │ ├── AMReX_RandomEngine.H │ ├── AMReX_RealBox.H │ ├── AMReX_RealBox.cpp │ ├── AMReX_RealVect.H │ ├── AMReX_RealVect.cpp │ ├── AMReX_Reduce.H │ ├── AMReX_RungeKutta.H │ ├── AMReX_SPACE.H │ ├── AMReX_Scan.H │ ├── AMReX_Slopes_K.H │ ├── AMReX_SmallMatrix.H │ ├── AMReX_Stack.H │ ├── AMReX_String.H │ ├── AMReX_String.cpp │ ├── AMReX_TableData.H │ ├── AMReX_TagParallelFor.H │ ├── AMReX_ThirdPartyProfiling.H │ ├── AMReX_TimeIntegrator.H │ ├── AMReX_TinyProfiler.H │ ├── AMReX_TinyProfiler.cpp │ ├── AMReX_Tuple.H │ ├── AMReX_TypeList.H │ ├── AMReX_TypeTraits.H │ ├── AMReX_Utility.H │ ├── AMReX_Utility.cpp │ ├── AMReX_ValLocPair.H │ ├── AMReX_Vector.H │ ├── AMReX_VectorIO.H │ ├── AMReX_VectorIO.cpp │ ├── AMReX_Version.cpp │ ├── AMReX_VisMF.H │ ├── AMReX_VisMF.cpp │ ├── AMReX_VisMFBuffer.H │ ├── AMReX_acc_mod.F90 │ ├── AMReX_bc_types.fi │ ├── AMReX_bc_types_mod.F90 │ ├── AMReX_ccse-mpi.H │ ├── AMReX_constants_mod.f90 │ ├── AMReX_error_fi.cpp │ ├── AMReX_error_mod.F90 │ ├── AMReX_filcc_f.H │ ├── AMReX_filcc_mod.F90 │ ├── AMReX_fort_mod.F90 │ ├── AMReX_iMultiFab.H │ ├── AMReX_iMultiFab.cpp │ ├── AMReX_io_mod.F90 │ ├── AMReX_mempool_mod.F90 │ ├── AMReX_omp_mod.F90 │ ├── AMReX_parmparse_fi.cpp │ ├── AMReX_parmparse_mod.F90 │ ├── AMReX_parstream.H │ ├── AMReX_parstream.cpp │ ├── AMReX_string_mod.F90 │ ├── CMakeLists.txt │ ├── Make.package │ └── Parser │ │ ├── AMReX_IParser.H │ │ ├── AMReX_IParser.cpp │ │ ├── AMReX_IParser_Exe.H │ │ ├── AMReX_IParser_Exe.cpp │ │ ├── AMReX_IParser_Y.H │ │ ├── AMReX_IParser_Y.cpp │ │ ├── AMReX_Parser.H │ │ ├── AMReX_Parser.cpp │ │ ├── AMReX_Parser_Exe.H │ │ ├── AMReX_Parser_Exe.cpp │ │ ├── AMReX_Parser_Y.H │ │ ├── AMReX_Parser_Y.cpp │ │ ├── GNUmakefile │ │ ├── README │ │ ├── amrex_iparser.l │ │ ├── amrex_iparser.lex.cpp │ │ ├── amrex_iparser.lex.h │ │ ├── amrex_iparser.lex.nolint.H │ │ ├── amrex_iparser.tab.cpp │ │ ├── amrex_iparser.tab.h │ │ ├── amrex_iparser.tab.nolint.H │ │ ├── amrex_iparser.y │ │ ├── amrex_parser.l │ │ ├── amrex_parser.lex.cpp │ │ ├── amrex_parser.lex.h │ │ ├── amrex_parser.lex.nolint.H │ │ ├── amrex_parser.tab.cpp │ │ ├── amrex_parser.tab.h │ │ ├── amrex_parser.tab.nolint.H │ │ └── amrex_parser.y ├── Boundary │ ├── AMReX_BndryData.H │ ├── AMReX_BndryRegister.H │ ├── AMReX_BoundCond.H │ ├── AMReX_BoundaryFwd.H │ ├── AMReX_EdgeFluxRegister.H │ ├── AMReX_EdgeFluxRegister.cpp │ ├── AMReX_FabSet.H │ ├── AMReX_InterpBndryData.H │ ├── AMReX_InterpBndryData_1D_K.H │ ├── AMReX_InterpBndryData_2D_K.H │ ├── AMReX_InterpBndryData_3D_K.H │ ├── AMReX_InterpBndryData_K.H │ ├── AMReX_LOUtil_K.H │ ├── AMReX_LO_BCTYPES.H │ ├── AMReX_LO_BCTYPES.cpp │ ├── AMReX_LO_UTIL.F90 │ ├── AMReX_Mask.H │ ├── AMReX_Mask.cpp │ ├── AMReX_MultiMask.H │ ├── AMReX_MultiMask.cpp │ ├── AMReX_YAFluxRegister.H │ ├── AMReX_YAFluxRegister_1D_K.H │ ├── AMReX_YAFluxRegister_2D_K.H │ ├── AMReX_YAFluxRegister_3D_K.H │ ├── AMReX_YAFluxRegister_K.H │ ├── AMReX_lo_bctypes_mod.F90 │ ├── CMakeLists.txt │ ├── Make.package │ └── OpenSource.txt ├── CMakeLists.txt ├── EB │ ├── AMReX_EB2.H │ ├── AMReX_EB2.cpp │ ├── AMReX_EB2_2D_C.H │ ├── AMReX_EB2_2D_C.cpp │ ├── AMReX_EB2_3D_C.H │ ├── AMReX_EB2_3D_C.cpp │ ├── AMReX_EB2_C.H │ ├── AMReX_EB2_GeometryShop.H │ ├── AMReX_EB2_Graph.H │ ├── AMReX_EB2_IF.H │ ├── AMReX_EB2_IF_AllRegular.H │ ├── AMReX_EB2_IF_Base.H │ ├── AMReX_EB2_IF_Box.H │ ├── AMReX_EB2_IF_Complement.H │ ├── AMReX_EB2_IF_Cylinder.H │ ├── AMReX_EB2_IF_DevicePtr.H │ ├── AMReX_EB2_IF_Difference.H │ ├── AMReX_EB2_IF_Ellipsoid.H │ ├── AMReX_EB2_IF_Extrusion.H │ ├── AMReX_EB2_IF_Intersection.H │ ├── AMReX_EB2_IF_Lathe.H │ ├── AMReX_EB2_IF_Parser.H │ ├── AMReX_EB2_IF_Plane.H │ ├── AMReX_EB2_IF_Polynomial.H │ ├── AMReX_EB2_IF_Rotation.H │ ├── AMReX_EB2_IF_Scale.H │ ├── AMReX_EB2_IF_Sphere.H │ ├── AMReX_EB2_IF_Spline.H │ ├── AMReX_EB2_IF_Torus.H │ ├── AMReX_EB2_IF_Translation.H │ ├── AMReX_EB2_IF_Union.H │ ├── AMReX_EB2_IndexSpaceI.H │ ├── AMReX_EB2_IndexSpace_STL.H │ ├── AMReX_EB2_IndexSpace_STL.cpp │ ├── AMReX_EB2_IndexSpace_chkpt_file.H │ ├── AMReX_EB2_IndexSpace_chkpt_file.cpp │ ├── AMReX_EB2_Level.H │ ├── AMReX_EB2_Level.cpp │ ├── AMReX_EB2_Level_STL.H │ ├── AMReX_EB2_Level_STL.cpp │ ├── AMReX_EB2_Level_chkpt_file.H │ ├── AMReX_EB2_Level_chkpt_file.cpp │ ├── AMReX_EB2_MultiGFab.H │ ├── AMReX_EB2_MultiGFab.cpp │ ├── AMReX_EB2_ND_C.cpp │ ├── AMReX_EBAmrUtil.H │ ├── AMReX_EBAmrUtil.cpp │ ├── AMReX_EBCellFlag.H │ ├── AMReX_EBCellFlag.cpp │ ├── AMReX_EBData.H │ ├── AMReX_EBDataCollection.H │ ├── AMReX_EBDataCollection.cpp │ ├── AMReX_EBFArrayBox.H │ ├── AMReX_EBFArrayBox.cpp │ ├── AMReX_EBFabFactory.H │ ├── AMReX_EBFabFactory.cpp │ ├── AMReX_EBFluxRegister.H │ ├── AMReX_EBFluxRegister.cpp │ ├── AMReX_EBFluxRegister_2D_C.H │ ├── AMReX_EBFluxRegister_3D_C.H │ ├── AMReX_EBFluxRegister_C.H │ ├── AMReX_EBFluxRegister_nd.F90 │ ├── AMReX_EBInterpolater.H │ ├── AMReX_EBInterpolater.cpp │ ├── AMReX_EBMFInterpolater.H │ ├── AMReX_EBMFInterpolater.cpp │ ├── AMReX_EBMultiFabUtil.H │ ├── AMReX_EBMultiFabUtil.cpp │ ├── AMReX_EBMultiFabUtil_2D_C.H │ ├── AMReX_EBMultiFabUtil_3D_C.H │ ├── AMReX_EBMultiFabUtil_C.H │ ├── AMReX_EBSupport.H │ ├── AMReX_EBToPVD.H │ ├── AMReX_EBToPVD.cpp │ ├── AMReX_EB_FluxRedistribute.cpp │ ├── AMReX_EB_LeastSquares_2D_K.H │ ├── AMReX_EB_LeastSquares_3D_K.H │ ├── AMReX_EB_Redistribution.H │ ├── AMReX_EB_Redistribution.cpp │ ├── AMReX_EB_RedistributionApply.cpp │ ├── AMReX_EB_STL_utils.H │ ├── AMReX_EB_STL_utils.cpp │ ├── AMReX_EB_Slopes_2D_K.H │ ├── AMReX_EB_Slopes_3D_K.H │ ├── AMReX_EB_Slopes_K.H │ ├── AMReX_EB_StateRedistItracker.cpp │ ├── AMReX_EB_StateRedistSlopeLimiter_K.H │ ├── AMReX_EB_StateRedistUtils.cpp │ ├── AMReX_EB_StateRedistribute.cpp │ ├── AMReX_EB_chkpt_file.H │ ├── AMReX_EB_chkpt_file.cpp │ ├── AMReX_EB_triGeomOps_K.H │ ├── AMReX_EB_utils.H │ ├── AMReX_EB_utils.cpp │ ├── AMReX_MultiCutFab.H │ ├── AMReX_MultiCutFab.cpp │ ├── AMReX_WriteEBSurface.H │ ├── AMReX_WriteEBSurface.cpp │ ├── AMReX_algoim.H │ ├── AMReX_algoim.cpp │ ├── AMReX_algoim_K.H │ ├── AMReX_distFcnElement.H │ ├── AMReX_distFcnElement.cpp │ ├── AMReX_ebcellflag_mod.F90 │ ├── CMakeLists.txt │ └── Make.package ├── Extern │ ├── Bittree │ │ ├── AMReX_Bittree.H │ │ ├── AMReX_Bittree.cpp │ │ ├── CMakeLists.txt │ │ └── Make.package │ ├── Conduit │ │ ├── AMReX_Conduit_Blueprint.H │ │ ├── AMReX_Conduit_Blueprint.cpp │ │ ├── AMReX_Conduit_Blueprint_ParticlesI.H │ │ ├── CMakeLists.txt │ │ └── Make.package │ ├── HDF5 │ │ ├── AMReX_ParticleHDF5.H │ │ ├── AMReX_ParticleUtilHDF5.H │ │ ├── AMReX_ParticlesHDF5.H │ │ ├── AMReX_PlotFileUtilHDF5.H │ │ ├── AMReX_PlotFileUtilHDF5.cpp │ │ ├── AMReX_WriteBinaryParticleDataHDF5.H │ │ ├── CMakeLists.txt │ │ └── Make.package │ ├── HYPRE │ │ ├── AMReX_Habec_2D_K.H │ │ ├── AMReX_Habec_3D_K.H │ │ ├── AMReX_Habec_K.H │ │ ├── AMReX_Hypre.H │ │ ├── AMReX_Hypre.cpp │ │ ├── AMReX_HypreABecLap.H │ │ ├── AMReX_HypreABecLap.cpp │ │ ├── AMReX_HypreABecLap2.H │ │ ├── AMReX_HypreABecLap2.cpp │ │ ├── AMReX_HypreABecLap3.H │ │ ├── AMReX_HypreABecLap3.cpp │ │ ├── AMReX_HypreIJIface.H │ │ ├── AMReX_HypreIJIface.cpp │ │ ├── AMReX_HypreMLABecLap.H │ │ ├── AMReX_HypreMLABecLap.cpp │ │ ├── AMReX_HypreMLABecLap_2D_K.H │ │ ├── AMReX_HypreMLABecLap_3D_K.H │ │ ├── AMReX_HypreMLABecLap_K.H │ │ ├── AMReX_HypreNodeLap.H │ │ ├── AMReX_HypreNodeLap.cpp │ │ ├── AMReX_HypreSolver.H │ │ ├── CMakeLists.txt │ │ └── Make.package │ ├── PETSc │ │ ├── AMReX_PETSc.H │ │ ├── AMReX_PETSc.cpp │ │ ├── CMakeLists.txt │ │ └── Make.package │ ├── ProfParser │ │ ├── AMReX_AVGDOWN_1D.F │ │ ├── AMReX_AVGDOWN_2D.F │ │ ├── AMReX_AVGDOWN_3D.F │ │ ├── AMReX_AVGDOWN_F.H │ │ ├── AMReX_BLProfStats.H │ │ ├── AMReX_BLProfStats.cpp │ │ ├── AMReX_BLProfUtilities.H │ │ ├── AMReX_BLProfUtilities.cpp │ │ ├── AMReX_BLWritePlotFile.H │ │ ├── AMReX_BLWritePlotFile.cpp │ │ ├── AMReX_CommProfStats.H │ │ ├── AMReX_CommProfStats.cpp │ │ ├── AMReX_ProfParserBatch.cpp │ │ ├── AMReX_RegionsProfStats.H │ │ ├── AMReX_RegionsProfStats.cpp │ │ ├── BLProfParser.l │ │ ├── BLProfParser.y │ │ ├── CMakeLists.txt │ │ └── Make.package │ ├── SENSEI │ │ ├── AMReX_AmrDataAdaptor.H │ │ ├── AMReX_AmrDataAdaptor.cpp │ │ ├── AMReX_AmrInSituBridge.H │ │ ├── AMReX_AmrInSituBridge.cpp │ │ ├── AMReX_AmrMeshDataAdaptor.H │ │ ├── AMReX_AmrMeshDataAdaptor.cpp │ │ ├── AMReX_AmrMeshInSituBridge.H │ │ ├── AMReX_AmrMeshInSituBridge.cpp │ │ ├── AMReX_AmrMeshParticleDataAdaptor.H │ │ ├── AMReX_AmrMeshParticleDataAdaptorI.H │ │ ├── AMReX_AmrMeshParticleInSituBridge.H │ │ ├── AMReX_AmrParticleDataAdaptor.H │ │ ├── AMReX_AmrParticleDataAdaptorI.H │ │ ├── AMReX_AmrParticleInSituBridge.H │ │ ├── AMReX_InSituBridge.H │ │ ├── AMReX_InSituBridge.cpp │ │ ├── AMReX_InSituUtils.H │ │ ├── AMReX_InSituUtils.cpp │ │ ├── AMReX_ParticleDataAdaptor.H │ │ ├── AMReX_ParticleDataAdaptorI.H │ │ ├── AMReX_ParticleInSituBridge.H │ │ ├── CMakeLists.txt │ │ └── Make.package │ ├── SUNDIALS │ │ ├── AMReX_NVector_MultiFab.H │ │ ├── AMReX_NVector_MultiFab.cpp │ │ ├── AMReX_SUNMemory.H │ │ ├── AMReX_SUNMemory.cpp │ │ ├── AMReX_Sundials.H │ │ ├── AMReX_SundialsIntegrator.H │ │ ├── AMReX_Sundials_Core.H │ │ ├── AMReX_Sundials_Core.cpp │ │ ├── CMakeLists.txt │ │ └── Make.package │ └── amrdata │ │ ├── AMReX_AmrData.H │ │ ├── AMReX_AmrData.cpp │ │ ├── AMReX_AmrvisConstants.H │ │ ├── AMReX_DataServices.H │ │ ├── AMReX_DataServices.cpp │ │ ├── AMReX_WritePlotFile.H │ │ ├── AMReX_WritePlotFile.cpp │ │ ├── AMReX_XYPlotDataList.H │ │ ├── AMReX_XYPlotDataList.cpp │ │ ├── CMakeLists.txt │ │ └── Make.package ├── FFT │ ├── AMReX_FFT.H │ ├── AMReX_FFT.cpp │ ├── AMReX_FFT_Helper.H │ ├── AMReX_FFT_LocalR2C.H │ ├── AMReX_FFT_OpenBCSolver.H │ ├── AMReX_FFT_Poisson.H │ ├── AMReX_FFT_R2C.H │ ├── AMReX_FFT_R2X.H │ ├── CMakeLists.txt │ └── Make.package ├── F_Interfaces │ ├── AmrCore │ │ ├── AMReX_FAmrCore.H │ │ ├── AMReX_FAmrCore.cpp │ │ ├── AMReX_FlashFluxRegister.H │ │ ├── AMReX_FlashFluxRegister.cpp │ │ ├── AMReX_amr_mod.F90 │ │ ├── AMReX_amrcore_fi.cpp │ │ ├── AMReX_amrcore_mod.F90 │ │ ├── AMReX_fillpatch_fi.cpp │ │ ├── AMReX_fillpatch_mod.F90 │ │ ├── AMReX_flash_fluxregister_fi.cpp │ │ ├── AMReX_flash_fluxregister_mod.F90 │ │ ├── AMReX_fluxregister_fi.cpp │ │ ├── AMReX_fluxregister_mod.F90 │ │ ├── AMReX_interpolater_mod.F90 │ │ ├── AMReX_tagbox_fi.cpp │ │ ├── AMReX_tagbox_mod.F90 │ │ └── Make.package │ ├── Base │ │ ├── AMReX_FPhysBC.H │ │ ├── AMReX_FPhysBC.cpp │ │ ├── AMReX_base_mod.F90 │ │ ├── AMReX_box_fi.cpp │ │ ├── AMReX_box_mod.F90 │ │ ├── AMReX_boxarray_fi.cpp │ │ ├── AMReX_boxarray_mod.F90 │ │ ├── AMReX_distromap_fi.cpp │ │ ├── AMReX_distromap_mod.F90 │ │ ├── AMReX_fab_mod.F90 │ │ ├── AMReX_fi_mpi_mod.F90 │ │ ├── AMReX_geometry_fi.cpp │ │ ├── AMReX_geometry_mod.F90 │ │ ├── AMReX_init_fi.cpp │ │ ├── AMReX_init_mod.F90 │ │ ├── AMReX_mpi_reduce_int.F90 │ │ ├── AMReX_mpi_reduce_real.F90 │ │ ├── AMReX_multifab_fi.cpp │ │ ├── AMReX_multifab_mod.F90 │ │ ├── AMReX_multifabutil_fi.cpp │ │ ├── AMReX_multifabutil_mod.F90 │ │ ├── AMReX_parallel_mod.F90 │ │ ├── AMReX_physbc_fi.cpp │ │ ├── AMReX_physbc_mod.F90 │ │ ├── AMReX_plotfile_fi.cpp │ │ ├── AMReX_plotfile_mod.F90 │ │ ├── AMReX_vismf_fi.cpp │ │ └── Make.package │ ├── CMakeLists.txt │ ├── LinearSolvers │ │ ├── AMReX_abeclaplacian_fi.cpp │ │ ├── AMReX_abeclaplacian_mod.F90 │ │ ├── AMReX_linear_solver_mod.F90 │ │ ├── AMReX_linop_fi.cpp │ │ ├── AMReX_linop_mod.F90 │ │ ├── AMReX_multigrid_fi.cpp │ │ ├── AMReX_multigrid_mod.F90 │ │ ├── AMReX_poisson_fi.cpp │ │ ├── AMReX_poisson_mod.F90 │ │ └── Make.package │ ├── Octree │ │ ├── AMReX_octree_fi.cpp │ │ ├── AMReX_octree_mod.F90 │ │ └── Make.package │ └── Particle │ │ ├── AMReX_particlecontainer_fi.cpp │ │ ├── AMReX_particlecontainer_mod.F90 │ │ └── Make.package ├── LinearSolvers │ ├── AMReX_AlgPartition.H │ ├── AMReX_AlgPartition.cpp │ ├── AMReX_AlgVector.H │ ├── AMReX_Algebra.H │ ├── AMReX_GMRES.H │ ├── AMReX_GMRES_MLMG.H │ ├── AMReX_GMRES_MV.H │ ├── AMReX_Smoother_MV.H │ ├── AMReX_SpMV.H │ ├── AMReX_SpMatrix.H │ ├── CMakeLists.txt │ ├── MLMG │ │ ├── AMReX_MLABecLap_1D_K.H │ │ ├── AMReX_MLABecLap_2D_K.H │ │ ├── AMReX_MLABecLap_3D_K.H │ │ ├── AMReX_MLABecLap_K.H │ │ ├── AMReX_MLABecLaplacian.H │ │ ├── AMReX_MLALap_1D_K.H │ │ ├── AMReX_MLALap_2D_K.H │ │ ├── AMReX_MLALap_3D_K.H │ │ ├── AMReX_MLALap_K.H │ │ ├── AMReX_MLALaplacian.H │ │ ├── AMReX_MLCGSolver.H │ │ ├── AMReX_MLCellABecLap.H │ │ ├── AMReX_MLCellABecLap_1D_K.H │ │ ├── AMReX_MLCellABecLap_2D_K.H │ │ ├── AMReX_MLCellABecLap_3D_K.H │ │ ├── AMReX_MLCellABecLap_K.H │ │ ├── AMReX_MLCellLinOp.H │ │ ├── AMReX_MLCurlCurl.H │ │ ├── AMReX_MLCurlCurl.cpp │ │ ├── AMReX_MLCurlCurl_K.H │ │ ├── AMReX_MLEBABecLap.H │ │ ├── AMReX_MLEBABecLap.cpp │ │ ├── AMReX_MLEBABecLap_2D_K.H │ │ ├── AMReX_MLEBABecLap_3D_K.H │ │ ├── AMReX_MLEBABecLap_F.cpp │ │ ├── AMReX_MLEBABecLap_K.H │ │ ├── AMReX_MLEBNodeFDLap_1D_K.H │ │ ├── AMReX_MLEBNodeFDLap_2D_K.H │ │ ├── AMReX_MLEBNodeFDLap_3D_K.H │ │ ├── AMReX_MLEBNodeFDLap_K.H │ │ ├── AMReX_MLEBNodeFDLaplacian.H │ │ ├── AMReX_MLEBNodeFDLaplacian.cpp │ │ ├── AMReX_MLEBTensorOp.H │ │ ├── AMReX_MLEBTensorOp.cpp │ │ ├── AMReX_MLEBTensorOp_bc.cpp │ │ ├── AMReX_MLEBTensor_2D_K.H │ │ ├── AMReX_MLEBTensor_3D_K.H │ │ ├── AMReX_MLEBTensor_K.H │ │ ├── AMReX_MLLinOp.H │ │ ├── AMReX_MLLinOp_F.H │ │ ├── AMReX_MLLinOp_K.H │ │ ├── AMReX_MLLinOp_nd.F90 │ │ ├── AMReX_MLMG.H │ │ ├── AMReX_MLMG.cpp │ │ ├── AMReX_MLMGBndry.H │ │ ├── AMReX_MLMG_1D_K.H │ │ ├── AMReX_MLMG_2D_K.H │ │ ├── AMReX_MLMG_3D_K.H │ │ ├── AMReX_MLMG_K.H │ │ ├── AMReX_MLNodeABecLap_1D_K.H │ │ ├── AMReX_MLNodeABecLap_2D_K.H │ │ ├── AMReX_MLNodeABecLap_3D_K.H │ │ ├── AMReX_MLNodeABecLap_K.H │ │ ├── AMReX_MLNodeABecLaplacian.H │ │ ├── AMReX_MLNodeABecLaplacian.cpp │ │ ├── AMReX_MLNodeLap_1D_K.H │ │ ├── AMReX_MLNodeLap_2D_K.H │ │ ├── AMReX_MLNodeLap_3D_K.H │ │ ├── AMReX_MLNodeLap_K.H │ │ ├── AMReX_MLNodeLaplacian.H │ │ ├── AMReX_MLNodeLaplacian.cpp │ │ ├── AMReX_MLNodeLaplacian_eb.cpp │ │ ├── AMReX_MLNodeLaplacian_hypre.cpp │ │ ├── AMReX_MLNodeLaplacian_misc.cpp │ │ ├── AMReX_MLNodeLaplacian_sten.cpp │ │ ├── AMReX_MLNodeLaplacian_sync.cpp │ │ ├── AMReX_MLNodeLinOp.H │ │ ├── AMReX_MLNodeLinOp.cpp │ │ ├── AMReX_MLNodeLinOp_1D_K.H │ │ ├── AMReX_MLNodeLinOp_2D_K.H │ │ ├── AMReX_MLNodeLinOp_3D_K.H │ │ ├── AMReX_MLNodeLinOp_K.H │ │ ├── AMReX_MLNodeTensorLap_1D_K.H │ │ ├── AMReX_MLNodeTensorLap_2D_K.H │ │ ├── AMReX_MLNodeTensorLap_3D_K.H │ │ ├── AMReX_MLNodeTensorLap_K.H │ │ ├── AMReX_MLNodeTensorLaplacian.H │ │ ├── AMReX_MLNodeTensorLaplacian.cpp │ │ ├── AMReX_MLPoisson.H │ │ ├── AMReX_MLPoisson_1D_K.H │ │ ├── AMReX_MLPoisson_2D_K.H │ │ ├── AMReX_MLPoisson_3D_K.H │ │ ├── AMReX_MLPoisson_K.H │ │ ├── AMReX_MLTensorOp.H │ │ ├── AMReX_MLTensorOp.cpp │ │ ├── AMReX_MLTensorOp_grad.cpp │ │ ├── AMReX_MLTensor_1D_K.H │ │ ├── AMReX_MLTensor_2D_K.H │ │ ├── AMReX_MLTensor_3D_K.H │ │ ├── AMReX_MLTensor_K.H │ │ ├── AMReX_PCGSolver.H │ │ └── Make.package │ ├── Make.package │ └── OpenBC │ │ ├── AMReX_OpenBC.H │ │ ├── AMReX_OpenBC.cpp │ │ ├── AMReX_OpenBC_K.H │ │ └── Make.package ├── Particle │ ├── AMReX_ArrayOfStructs.H │ ├── AMReX_BinIterator.H │ ├── AMReX_DenseBins.H │ ├── AMReX_MakeParticle.H │ ├── AMReX_NeighborList.H │ ├── AMReX_NeighborParticles.H │ ├── AMReX_NeighborParticlesCPUImpl.H │ ├── AMReX_NeighborParticlesGPUImpl.H │ ├── AMReX_NeighborParticlesI.H │ ├── AMReX_ParGDB.H │ ├── AMReX_ParIter.H │ ├── AMReX_Particle.H │ ├── AMReX_ParticleArray.H │ ├── AMReX_ParticleBufferMap.H │ ├── AMReX_ParticleBufferMap.cpp │ ├── AMReX_ParticleCommunication.H │ ├── AMReX_ParticleCommunication.cpp │ ├── AMReX_ParticleContainer.H │ ├── AMReX_ParticleContainerBase.H │ ├── AMReX_ParticleContainerBase.cpp │ ├── AMReX_ParticleContainerI.H │ ├── AMReX_ParticleIO.H │ ├── AMReX_ParticleInit.H │ ├── AMReX_ParticleInterpolators.H │ ├── AMReX_ParticleLocator.H │ ├── AMReX_ParticleMPIUtil.H │ ├── AMReX_ParticleMPIUtil.cpp │ ├── AMReX_ParticleMesh.H │ ├── AMReX_ParticleReduce.H │ ├── AMReX_ParticleTile.H │ ├── AMReX_ParticleTransformation.H │ ├── AMReX_ParticleUtil.H │ ├── AMReX_ParticleUtil.cpp │ ├── AMReX_Particle_mod_K.H │ ├── AMReX_Particles.H │ ├── AMReX_SparseBins.H │ ├── AMReX_StructOfArrays.H │ ├── AMReX_TracerParticle_mod_K.H │ ├── AMReX_TracerParticles.H │ ├── AMReX_TracerParticles.cpp │ ├── AMReX_WriteBinaryParticleData.H │ ├── CMakeLists.txt │ └── Make.package └── SDC │ ├── AMReX_SDCquadrature.F90 │ ├── AMReX_SDCstruct.H │ ├── AMReX_SDCstruct.cpp │ └── Make.package ├── Tests ├── Algebra │ └── GMRES │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp ├── Amr │ ├── Advection_AmrCore │ │ ├── CMakeLists.txt │ │ ├── Exec │ │ │ ├── GNUmakefile │ │ │ ├── GNUmakefile_movie │ │ │ ├── Make.Adv │ │ │ ├── Make.package │ │ │ ├── Prob.H │ │ │ ├── inputs │ │ │ ├── inputs-ci │ │ │ ├── inputs_bittree │ │ │ ├── inputs_for_scaling │ │ │ └── paraview_amr101.py │ │ ├── README │ │ ├── README.md │ │ └── Source │ │ │ ├── AdvancePhiAllLevels.cpp │ │ │ ├── AdvancePhiAtLevel.cpp │ │ │ ├── AmrCoreAdv.H │ │ │ ├── AmrCoreAdv.cpp │ │ │ ├── DefineVelocity.cpp │ │ │ ├── Kernels.H │ │ │ ├── Make.package │ │ │ ├── Src_K │ │ │ ├── Adv_K.H │ │ │ ├── Make.package │ │ │ ├── compute_flux_2D_K.H │ │ │ ├── compute_flux_3D_K.H │ │ │ └── slope_K.H │ │ │ ├── Tagging.H │ │ │ ├── bc_fill.H │ │ │ ├── face_velocity.H │ │ │ └── main.cpp │ └── Advection_AmrLevel │ │ ├── CMakeLists.txt │ │ ├── Exec │ │ ├── Make.Adv │ │ ├── SingleVortex │ │ │ ├── Adv_prob.cpp │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── Prob.H │ │ │ ├── Prob.cpp │ │ │ ├── Prob_Parm.H │ │ │ ├── face_velocity_2d_K.H │ │ │ ├── face_velocity_3d_K.H │ │ │ ├── inputs │ │ │ ├── inputs-ci │ │ │ └── inputs.tracers │ │ └── UniformVelocity │ │ │ ├── Adv_prob.cpp │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── Prob.H │ │ │ ├── Prob.cpp │ │ │ ├── Prob_Parm.H │ │ │ ├── face_velocity_2d_K.H │ │ │ ├── face_velocity_3d_K.H │ │ │ ├── inputs │ │ │ ├── inputs-ci │ │ │ └── inputs.regt │ │ ├── README │ │ └── Source │ │ ├── Adv.cpp │ │ ├── AmrLevelAdv.H │ │ ├── AmrLevelAdv.cpp │ │ ├── Kernels.H │ │ ├── LevelBldAdv.cpp │ │ ├── Make.package │ │ ├── Src_K │ │ ├── Adv_K.H │ │ ├── Make.package │ │ ├── flux_2d_K.H │ │ ├── flux_3d_K.H │ │ ├── slope_K.H │ │ └── tagging_K.H │ │ ├── Tagging_params.cpp │ │ ├── bc_nullfill.cpp │ │ └── main.cpp ├── AsyncOut │ └── multifab │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp ├── CLZ │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ └── main.cpp ├── CMakeLists.txt ├── CMakeTestInstall │ └── CMakeLists.txt ├── CTOParFor │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ └── main.cpp ├── DeviceGlobal │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── global_vars.H │ ├── global_vars.cpp │ ├── init.cpp │ ├── main.cpp │ └── work.cpp ├── DivFreePatch │ ├── GNUmakefile │ ├── Make.package │ ├── inputs │ └── main.cpp ├── EB │ └── CNS │ │ ├── CMakeLists.txt │ │ ├── Exec │ │ ├── Combustor │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── bc_fill_nd.F90 │ │ │ ├── bc_fill_nd.F90_jbb │ │ │ ├── cns_prob.F90 │ │ │ ├── cns_prob.F90_jbb │ │ │ ├── inputs │ │ │ └── inputs.regt │ │ ├── Make.CNS │ │ ├── Pulse │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── cns_prob.F90 │ │ │ ├── inputs │ │ │ └── inputs.regt │ │ ├── ShockRef │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── cns_prob.F90 │ │ │ ├── inputs │ │ │ ├── inputs.amr │ │ │ └── inputs.regt │ │ └── Sod │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── cns_prob.F90 │ │ │ ├── inputs │ │ │ └── inputs-ci │ │ └── Source │ │ ├── CNS.H │ │ ├── CNS.cpp │ │ ├── CNSBld.cpp │ │ ├── CNS_F.H │ │ ├── CNS_advance.cpp │ │ ├── CNS_init_eb2.cpp │ │ ├── CNS_io.cpp │ │ ├── CNS_setup.cpp │ │ ├── Make.package │ │ ├── diffusion │ │ ├── Make.package │ │ ├── cns_diff_mod.F90 │ │ ├── cns_eb_diff_mod.F90 │ │ ├── cns_eb_diff_wall.F90 │ │ └── diff_coef_mod.F90 │ │ ├── fortran │ │ ├── CNS_derive.F90 │ │ ├── CNS_divop.F90 │ │ ├── CNS_dudt.F90 │ │ ├── CNS_f.F90 │ │ ├── CNS_nd.F90 │ │ ├── CNS_physics.F90 │ │ ├── CNS_tagging.F90 │ │ ├── Make.package │ │ └── bc_fill_nd.F90 │ │ ├── hydro │ │ ├── Hyp_gamma_MOL.F90 │ │ ├── Hyp_gamma_MOL_EB.F90 │ │ ├── Make.package │ │ ├── analriem3d.F90 │ │ ├── cns_eb_hyp_wall.F90 │ │ ├── slope_mol_3d_gamma.F90 │ │ └── slope_mol_3d_gamma_EB.F90 │ │ └── main.cpp ├── EB_CNS │ ├── CMakeLists.txt │ ├── Exec │ │ ├── Combustor │ │ │ ├── CNS_bcfill.cpp │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── cns_prob.H │ │ │ ├── cns_prob.cpp │ │ │ ├── cns_prob_parm.H │ │ │ ├── cns_prob_parm.cpp │ │ │ ├── inputs │ │ │ ├── inputs-ci │ │ │ └── inputs.regt │ │ ├── Make.CNS │ │ ├── Pulse │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── cns_prob.H │ │ │ ├── cns_prob.cpp │ │ │ ├── cns_prob_parm.H │ │ │ ├── inputs │ │ │ └── inputs.regt │ │ ├── ShockRef │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── cns_prob.H │ │ │ ├── cns_prob.cpp │ │ │ ├── cns_prob_parm.H │ │ │ ├── inputs │ │ │ ├── inputs.amr │ │ │ └── inputs.regt │ │ └── Sod │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── cns_prob.H │ │ │ ├── cns_prob.cpp │ │ │ ├── cns_prob_parm.H │ │ │ └── inputs │ └── Source │ │ ├── CNS.H │ │ ├── CNS.cpp │ │ ├── CNSBld.cpp │ │ ├── CNS_K.H │ │ ├── CNS_advance.cpp │ │ ├── CNS_advance_box.cpp │ │ ├── CNS_advance_box_eb.cpp │ │ ├── CNS_bcfill.cpp │ │ ├── CNS_derive.H │ │ ├── CNS_derive.cpp │ │ ├── CNS_index_macros.H │ │ ├── CNS_init_eb2.cpp │ │ ├── CNS_io.cpp │ │ ├── CNS_parm.H │ │ ├── CNS_parm.cpp │ │ ├── CNS_setup.cpp │ │ ├── CNS_tagging.H │ │ ├── Make.package │ │ ├── diffusion │ │ ├── CNS_diffusion_K.H │ │ ├── CNS_diffusion_eb_K.H │ │ └── Make.package │ │ ├── hydro │ │ ├── CNS_divop_K.H │ │ ├── CNS_hydro_K.H │ │ ├── CNS_hydro_eb_K.H │ │ └── Make.package │ │ └── main.cpp ├── Enum │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── inputs │ └── main.cpp ├── FFT │ ├── Batch │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── C2C │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── OpenBC │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── Poisson │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── R2C │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── R2X │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ └── RawPtr │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp ├── FillBoundaryComparison │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── ba.max │ └── main.cpp ├── FortranInterface │ ├── Advection_F │ │ ├── CMakeLists.txt │ │ ├── Exec │ │ │ ├── Make.Adv │ │ │ └── SingleVortex │ │ │ │ ├── GNUmakefile │ │ │ │ ├── Make.package │ │ │ │ ├── Prob_2d.f90 │ │ │ │ ├── Prob_3d.f90 │ │ │ │ ├── face_velocity_2d.F90 │ │ │ │ ├── face_velocity_3d.F90 │ │ │ │ ├── inputs │ │ │ │ ├── inputs.physbc │ │ │ │ └── inputs.rt │ │ ├── README │ │ └── Source │ │ │ ├── Make.package │ │ │ ├── Src_2d │ │ │ ├── Make.package │ │ │ ├── advect_2d_mod.F90 │ │ │ ├── compute_flux_2d.f90 │ │ │ └── slope_2d.f90 │ │ │ ├── Src_3d │ │ │ ├── Make.package │ │ │ ├── advect_3d_mod.F90 │ │ │ ├── compute_flux_3d.f90 │ │ │ └── slope_3d.f90 │ │ │ ├── amr_data_mod.F90 │ │ │ ├── averagedown_mod.F90 │ │ │ ├── bc_mod.F90 │ │ │ ├── compute_dt_mod.F90 │ │ │ ├── evolve_mod.F90 │ │ │ ├── fillpatch_mod.F90 │ │ │ ├── fmain.F90 │ │ │ ├── initdata.F90 │ │ │ ├── my_amr_mod.F90 │ │ │ ├── plotfile_mod.F90 │ │ │ └── tagging_mod.F90 │ └── Advection_octree_F │ │ ├── CMakeLists.txt │ │ ├── Exec │ │ ├── Make.Adv │ │ └── SingleVortex │ │ │ ├── GNUmakefile │ │ │ ├── Make.package │ │ │ ├── Prob.f90 │ │ │ ├── face_velocity_2d.F90 │ │ │ ├── inputs │ │ │ └── inputs.rt │ │ ├── README │ │ └── Source │ │ ├── Make.package │ │ ├── Src_2d │ │ ├── Make.package │ │ ├── advect_2d_mod.F90 │ │ ├── compute_flux_2d.f90 │ │ └── slope_2d.f90 │ │ ├── amr_data_mod.F90 │ │ ├── averagedown_mod.F90 │ │ ├── bc_mod.F90 │ │ ├── compute_dt_mod.F90 │ │ ├── evolve_mod.F90 │ │ ├── fillpatch_mod.F90 │ │ ├── fmain.F90 │ │ ├── initdata.F90 │ │ ├── my_amr_mod.F90 │ │ ├── plotfile_mod.F90 │ │ └── tagging_mod.F90 ├── GPU │ ├── AnyOf │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── AtomicIf │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── CNS │ │ ├── CMakeLists.txt │ │ ├── Exec │ │ │ ├── Make.CNS │ │ │ ├── RT │ │ │ │ ├── GNUmakefile │ │ │ │ ├── Make.package │ │ │ │ ├── cns_prob.H │ │ │ │ ├── cns_prob.cpp │ │ │ │ ├── cns_prob_parm.H │ │ │ │ ├── inputs │ │ │ │ └── inputs-rt │ │ │ └── Sod │ │ │ │ ├── GNUmakefile │ │ │ │ ├── Make.package │ │ │ │ ├── cns_prob.H │ │ │ │ ├── cns_prob.cpp │ │ │ │ ├── cns_prob_parm.H │ │ │ │ ├── inputs │ │ │ │ ├── inputs-ci │ │ │ │ └── inputs-rt │ │ └── Source │ │ │ ├── CNS.H │ │ │ ├── CNS.cpp │ │ │ ├── CNSBld.cpp │ │ │ ├── CNS_K.H │ │ │ ├── CNS_advance.cpp │ │ │ ├── CNS_bcfill.cpp │ │ │ ├── CNS_derive.H │ │ │ ├── CNS_derive.cpp │ │ │ ├── CNS_index_macros.H │ │ │ ├── CNS_io.cpp │ │ │ ├── CNS_parm.H │ │ │ ├── CNS_parm.cpp │ │ │ ├── CNS_setup.cpp │ │ │ ├── CNS_tagging.H │ │ │ ├── Make.package │ │ │ ├── diffusion │ │ │ ├── CNS_diffusion_K.H │ │ │ └── Make.package │ │ │ ├── hydro │ │ │ ├── CNS_hydro_K.H │ │ │ └── Make.package │ │ │ └── main.cpp │ ├── RandomNumberGeneration │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ └── Vector │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp ├── HDF5Benchmark │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── inputs │ ├── main.cpp │ └── sz.config ├── LinearSolvers │ ├── ABecLap_SP │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── MyTestPlotfile.cpp │ │ ├── initProb.cpp │ │ ├── initProb_K.H │ │ ├── inputs │ │ └── main.cpp │ ├── ABecLaplacian_C │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── MyTestPlotfile.cpp │ │ ├── initProb.cpp │ │ ├── initProb_K.H │ │ ├── inputs │ │ ├── inputs-inhomNeumann │ │ ├── inputs-mlhypre │ │ ├── inputs-node │ │ ├── inputs-rt-abeclap-com │ │ ├── inputs-rt-poisson-lev │ │ ├── inputs.gmres │ │ ├── inputs.hypre │ │ ├── inputs.petsc │ │ ├── main.cpp │ │ ├── scalingtest │ │ │ ├── inputs.test │ │ │ ├── main.diff │ │ │ ├── results.org │ │ │ ├── run-1.sh │ │ │ ├── run-1024.sh │ │ │ ├── run-128.sh │ │ │ ├── run-16.sh │ │ │ ├── run-2.sh │ │ │ ├── run-2048.sh │ │ │ ├── run-256.sh │ │ │ ├── run-32.sh │ │ │ ├── run-4.sh │ │ │ ├── run-512.sh │ │ │ ├── run-64.sh │ │ │ └── run-8.sh │ │ └── threadmultiple_test │ │ │ ├── inputs.test │ │ │ ├── knl-mpi-1.sh │ │ │ ├── knl-mpi-16.sh │ │ │ ├── knl-mpi-2.sh │ │ │ ├── knl-mpi-32.sh │ │ │ ├── knl-mpi-4.sh │ │ │ ├── knl-mpi-64.sh │ │ │ ├── knl-mpi-8.sh │ │ │ ├── knl-omp-1.sh │ │ │ ├── knl-omp-16.sh │ │ │ ├── knl-omp-2.sh │ │ │ ├── knl-omp-32.sh │ │ │ ├── knl-omp-4.sh │ │ │ ├── knl-omp-64.sh │ │ │ ├── knl-omp-8.sh │ │ │ ├── main.diff │ │ │ └── results.org │ ├── ABecLaplacian_F │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── README │ │ ├── init_prob.F90 │ │ ├── inputs │ │ ├── inputs-rt-abeclap-lev │ │ ├── inputs-rt-poisson-com │ │ ├── main.F90 │ │ └── mytest.F90 │ ├── CellEB │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyEB.H │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── initEB.cpp │ │ ├── inputs │ │ ├── inputs.rt.2d │ │ ├── inputs.rt.2d.petsc │ │ ├── inputs.rt.3d │ │ └── main.cpp │ ├── CellEB2 │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyEB.H │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── MyTest_K.H │ │ ├── initEB.cpp │ │ ├── inputs │ │ ├── inputs.rt.2d │ │ ├── inputs.rt.3d │ │ ├── inputs.rt.hypre │ │ └── main.cpp │ ├── CellOverset │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ └── main.cpp │ ├── CurlCurl │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── initProb.cpp │ │ ├── initProb_K.H │ │ ├── inputs │ │ └── main.cpp │ ├── EBConvergenceTest │ │ ├── BC_2D.F90 │ │ ├── BC_3D.F90 │ │ ├── Convergence_Data_Gen.sh │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyEB.H │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── MyTest_F.H │ │ ├── RHS.F90 │ │ ├── Results │ │ │ ├── ConvergencePlot2D.m │ │ │ ├── ConvergencePlot3D.m │ │ │ ├── mfread2.m │ │ │ └── mfread3.m │ │ ├── acoef.F90 │ │ ├── bcoef.F90 │ │ ├── initEB.cpp │ │ ├── inputs │ │ └── main.cpp │ ├── EBTensor │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── MyTestPlotfile.cpp │ │ ├── MyTest_2D_K.H │ │ ├── MyTest_3D_K.H │ │ ├── inputs.rt.2d │ │ ├── inputs.rt.3d │ │ ├── main.cpp │ │ └── results.org │ ├── EBflux_grad │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyEB.H │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── initEB.cpp │ │ ├── inputs │ │ └── main.cpp │ ├── Hypre │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── initEB.cpp │ │ ├── inputs.2d │ │ └── main.cpp │ ├── LeastSquares │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyEB.H │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── README.md │ │ ├── initData.cpp │ │ ├── initEB.cpp │ │ ├── initPoiseuilleData.cpp │ │ ├── initPoiseuilleDataFor2D.cpp │ │ ├── initPoiseuilleDataFor3D.cpp │ │ ├── initTriangleWaveData.cpp │ │ ├── initTriangleWaveDataFor2D.cpp │ │ ├── inputs.2d.askew-x │ │ ├── inputs.2d.askew-x.mg │ │ ├── inputs.2d.askew-y │ │ ├── inputs.2d.askew-y.mg │ │ ├── inputs.2d.base │ │ ├── inputs.2d.fullyrotated │ │ ├── inputs.2d.other │ │ ├── inputs.2d.trianglewave │ │ ├── inputs.3d.poiseuille.aligned.xy-x │ │ ├── inputs.3d.poiseuille.aligned.xy-y │ │ ├── inputs.3d.poiseuille.aligned.xz-x │ │ ├── inputs.3d.poiseuille.aligned.xz-z │ │ ├── inputs.3d.poiseuille.aligned.yz-y │ │ ├── inputs.3d.poiseuille.aligned.yz-z │ │ ├── inputs.3d.poiseuille.askew-all │ │ ├── inputs.3d.poiseuille.askew-all.mg │ │ ├── inputs.3d.poiseuille.askew-xy │ │ ├── inputs.3d.poiseuille.askew-xz │ │ ├── inputs.3d.poiseuille.askew-yz │ │ └── main.cpp │ ├── NodalOverset │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ └── main.cpp │ ├── NodalPoisson │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── MyTestPlotfile.cpp │ │ ├── inputs-ci │ │ ├── inputs-gmres │ │ ├── inputs-rt │ │ ├── inputs-rt.hypre │ │ └── main.cpp │ ├── Nodal_Projection_EB │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── README │ │ ├── inputs_3d │ │ └── main.cpp │ ├── NodeEB │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── initEB.cpp │ │ ├── inputs.rt.2d │ │ ├── inputs.rt.3d.x │ │ ├── inputs.rt.3d.y │ │ ├── inputs.rt.3d.z │ │ └── main.cpp │ ├── NodeTensorLap │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── MyTestPlotfile.cpp │ │ └── main.cpp │ └── TensorOverset │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── MyTest.H │ │ ├── MyTest.cpp │ │ ├── MyTest_K.H │ │ └── main.cpp ├── MultiBlock │ ├── Advection │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ └── IndexType │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp ├── MultiPeriod │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ └── main.cpp ├── OpenMP │ └── atomicAdd │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp ├── ParmParse │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── inputs │ └── main.cpp ├── Parser │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ └── main.cpp ├── Parser2 │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── fn.cpp │ └── main.cpp ├── ParserUserFn │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── main.cpp │ ├── my_fn.H │ └── my_fn.cpp ├── Particles │ ├── Ascent_Insitu_SOA │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── inputs.rt │ │ └── main.cpp │ ├── AssignDensity │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── AssignMultiLevelDensity │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── AsyncIO │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── CheckpointRestart │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── CheckpointRestartSOA │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── CheckpointRestartSOA_AsyncIO │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── DenseBins │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── GhostsAndVirtuals │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── fixed_grids.init │ │ ├── inputs │ │ ├── main.cpp │ │ └── particle_file.init │ ├── InitFromAscii │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ ├── main.cpp │ │ └── particles.txt │ ├── InitRandom │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── Intersection │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ ├── main.cpp │ │ └── script.sh │ ├── NamedSoAComponents │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── NeighborList │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── NeighborParticles │ │ ├── CMakeLists.txt │ │ ├── CheckPair.H │ │ ├── Constants.H │ │ ├── GNUmakefile │ │ ├── MDParticleContainer.H │ │ ├── MDParticleContainer.cpp │ │ ├── Make.package │ │ ├── README.md │ │ ├── inputs │ │ ├── main.cpp │ │ └── script.sh │ ├── ParallelContext │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs.rt │ │ ├── inputs.rt.cuda │ │ └── main.cpp │ ├── ParticleArray │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── ParticleIterator │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── ParticleMesh │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── ParticleMeshMultiLevel │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ ├── inputs.dont_zero_out_input │ │ ├── main.cpp │ │ ├── mypc.H │ │ └── trilinear_deposition_K.H │ ├── ParticleReduce │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── ParticleTransformations │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ ├── Redistribute │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ ├── inputs.rt │ │ ├── inputs.rt.cuda │ │ ├── inputs.rt.cuda.big │ │ ├── inputs.rt.cuda.mr │ │ ├── inputs.rt.cuda.nonperiodic │ │ ├── inputs.rt.cuda.sort │ │ ├── main.cpp │ │ └── script.sh │ ├── RedistributeSOA │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ ├── inputs.rt │ │ ├── inputs.rt.cuda │ │ ├── inputs.rt.cuda.big │ │ ├── inputs.rt.cuda.mr │ │ ├── inputs.rt.cuda.nonperiodic │ │ ├── inputs.rt.cuda.sort │ │ └── main.cpp │ ├── SENSEI_Insitu_SOA │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── inputs.rt │ │ └── main.cpp │ ├── SOAParticle │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp │ ├── SparseBins │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── inputs │ │ └── main.cpp │ └── TypeDescriptor │ │ ├── CMakeLists.txt │ │ ├── GNUmakefile │ │ ├── Make.package │ │ └── main.cpp ├── Reinit │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── inputs │ └── main.cpp ├── RoundoffDomain │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ └── main.cpp ├── SmallMatrix │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ └── main.cpp ├── SpackSmokeTest │ └── CMakeLists.txt └── complementIn │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ └── main.cpp ├── Tools ├── AMRProfParser │ ├── BLProfParser.cpp │ ├── GNUmakefile │ └── TestCodes │ │ ├── AMRProfTest0.cpp │ │ ├── BLProfCallTimes.cpp │ │ ├── GNUmakefile │ │ ├── Pieces.cpp │ │ ├── ProfWaitTest.cpp │ │ ├── SendTest0.cpp │ │ └── TokenizeTest.cpp ├── Backtrace │ └── parse_bt.py ├── CMake │ ├── AMReXBuildInfo.cmake │ ├── AMReXCUDAOptions.cmake │ ├── AMReXClangTidy.cmake │ ├── AMReXConfig.cmake.in │ ├── AMReXFlagsTargets.cmake │ ├── AMReXGenerateConfigHeader.cmake │ ├── AMReXGenexHelpers.cmake │ ├── AMReXInstallHelpers.cmake │ ├── AMReXOptions.cmake │ ├── AMReXParallelBackends.cmake │ ├── AMReXSYCL.cmake │ ├── AMReXSetDefines.cmake │ ├── AMReXTargetHelpers.cmake │ ├── AMReXThirdPartyLibraries.cmake │ ├── AMReXTypecheck.cmake │ ├── AMReXUtils.cmake │ ├── AMReX_Config.H.in │ ├── AMReX_Config.cmake │ ├── AMReX_Config_ND.H.in │ ├── AMReX_SetupCUDA.cmake │ ├── AMReX_ThirdPartyProfilers.cmake │ ├── AMReX_Version.H.in │ ├── AMReX_buildInfo.cpp.in │ ├── FindAMReXFFTW.cmake │ ├── FindHYPRE.cmake │ └── FindPETSc.cmake ├── C_scripts │ ├── AMReX_buildInfo.H │ ├── describe_sources.py │ ├── gatherbuildtime.py │ ├── makebuildinfo_C.py │ ├── mkdep │ ├── mmclt.py │ └── strip72 ├── C_util │ ├── AugmentPlotfile │ │ ├── AugFolder.sh │ │ ├── AugmentPlotfile.cpp │ │ ├── AugmentPlotfile_F.H │ │ ├── AugmentPlotfile_F.f90 │ │ ├── GNUmakefile │ │ └── inputs │ ├── Convergence │ │ ├── Add.cpp │ │ ├── ComparePlotfiles.cpp │ │ ├── ComputeAmrDataNorms.H │ │ ├── ComputeAmrDataNorms.cpp │ │ ├── DiffFab.cpp │ │ ├── DiffSameDomainRefined.cpp │ │ ├── DiffSameDomainRefinedComposite.cpp │ │ ├── DiffSameDomainRefinedFD.cpp │ │ ├── DiffSameDomainRefinedStag.cpp │ │ ├── DiffSameGrid.cpp │ │ ├── DiffSameGrid2.cpp │ │ ├── DiffSameGridRefined.cpp │ │ ├── DiffUniform.cpp │ │ ├── GNUmakefile │ │ ├── Make.package │ │ ├── PltFileNorm.cpp │ │ ├── PltFileNormB.cpp │ │ ├── PltFileScalConvRate.cpp │ │ └── RichardsonConvergenceTest.cpp │ └── DiffMultiFab │ │ ├── GNUmakefile │ │ └── diffmultifab.cpp ├── CompileTesting │ └── compiletesting.py ├── EBSurfaceTools │ ├── ConvertEBSurface.cpp │ ├── GNUmakefile │ └── isoToVTK.py ├── F_scripts │ ├── README.md │ ├── dep.py │ ├── extract.parallel │ ├── find_files_vpath.py │ ├── mkdep.pl │ └── preprocess.py ├── GDB │ ├── README.md │ ├── gdb_amrex_xmethods.py │ └── util │ │ └── class_methods.py ├── GNUMake │ ├── Make.defs │ ├── Make.local.template │ ├── Make.machines │ ├── Make.rules │ ├── Make.upcxx │ ├── README.md │ ├── comps │ │ ├── armclang.mak │ │ ├── cray.mak │ │ ├── dpcpp.mak │ │ ├── gnu.mak │ │ ├── hip.mak │ │ ├── ibm.mak │ │ ├── intel-classic.mak │ │ ├── intel-llvm.mak │ │ ├── intel.mak │ │ ├── llvm-flang.mak │ │ ├── llvm.mak │ │ ├── nag.mak │ │ ├── nec.mak │ │ ├── nvcc.mak │ │ ├── nvhpc.mak │ │ └── pgi.mak │ ├── packages │ │ ├── Make.ascent │ │ ├── Make.bittree │ │ ├── Make.catalyst │ │ ├── Make.conduit │ │ ├── Make.hdf5 │ │ ├── Make.hypre │ │ ├── Make.petsc │ │ └── Make.sundials │ ├── sites │ │ ├── Make.alcf │ │ ├── Make.flash │ │ ├── Make.frontier-coe │ │ ├── Make.hs │ │ ├── Make.llnl │ │ ├── Make.nci │ │ ├── Make.nersc │ │ ├── Make.nrel │ │ ├── Make.olcf │ │ ├── Make.pawsey │ │ └── Make.unknown │ └── tools │ │ ├── Make.clang-tidy │ │ ├── Make.craypat │ │ ├── Make.forge │ │ ├── Make.sensei │ │ └── Make.vtune ├── Migration │ ├── README.md │ ├── amrex_array_to_vector.sh │ ├── amrex_real.sh │ ├── step-1-amrex_home │ │ └── amrex_home.sh │ ├── step-3-amrex-prefix │ │ └── amrexprefix.sh │ ├── step-4-dirname │ │ └── dirname.sh │ ├── step-5-amrex-namespace │ │ └── amrex-namespace.sh │ ├── step-7-bindc │ │ └── bindc.sh │ └── step-8-deboxlib │ │ └── deboxlib.sh ├── Plotfile │ ├── AMReX_PPMUtil.H │ ├── AMReX_PPMUtil.cpp │ ├── CMakeLists.txt │ ├── GNUmakefile │ ├── Make.package │ ├── Palette │ ├── faverage.cpp │ ├── fboxinfo.cpp │ ├── fcompare.cpp │ ├── fextract.cpp │ ├── fextrema.cpp │ ├── fgradient.cpp │ ├── fnan.cpp │ ├── fsnapshot.cpp │ ├── ftime.cpp │ ├── fvarnames.cpp │ └── fvolumesum.cpp ├── Postprocessing │ ├── C_Src │ │ ├── GNUmakefile │ │ ├── HorizontalAvg.cpp │ │ ├── IntegrateComp.cpp │ │ ├── Make.package │ │ ├── MultiFabToMatLab.cpp │ │ ├── OutflowPlanesToSwirlTypeTurb.cpp │ │ ├── PlotfileToMatLab.cpp │ │ ├── PlotfileToTurb.cpp │ │ ├── PlotfileToTurb_nd.f90 │ │ ├── PtwisePltTransform.cpp │ │ ├── PtwisePltTransform_nd.f90 │ │ ├── WritePlotfileToASCII.cpp │ │ ├── binread.m │ │ ├── cube_extract.cpp │ │ ├── mk2d.m │ │ └── particle_compare.cpp │ └── python │ │ ├── README │ │ ├── dumpparthistory.py │ │ ├── parseparticles.py │ │ └── test_parseparticles.py ├── Py_util │ └── amrex_particles_to_vtp │ │ ├── README │ │ ├── amrex_binary_particles_to_vtp.py │ │ ├── amrex_particles_to_vtp.py │ │ ├── samplefiles │ │ ├── particles00000 │ │ ├── particles00001 │ │ └── particles00002 │ │ └── write_pview_file.py ├── RegressionTesting │ ├── AMReX-cuda-tests.ini │ ├── AMReX-hip-tests.ini │ ├── AMReX-sycl-tests.ini │ └── AMReX-tests.ini ├── TinyProfileParser │ └── profileparser.py ├── libamrex │ ├── configure.py │ ├── mkconfig.py │ ├── mkpkgconfig.py │ └── mkversionheader.py └── typechecker │ └── typechecker.py ├── Tutorials └── README.md ├── build_docs.sh ├── configure └── paper ├── Makefile ├── paper.bib └── paper.md /.codespell-ignore-words: -------------------------------------------------------------------------------- 1 | abot 2 | alo 3 | apoints 4 | asend 5 | ba 6 | bloc 7 | blocs 8 | boxs 9 | cant 10 | ccache 11 | clen 12 | compex 13 | couldnt 14 | fromm 15 | frop 16 | geometrys 17 | hist 18 | hsi 19 | indx 20 | infor 21 | inout 22 | ist 23 | lsit 24 | nd 25 | nineth 26 | parm 27 | parms 28 | pres 29 | ptd 30 | recuse 31 | rIn 32 | shft 33 | siz 34 | structed 35 | te 36 | thi 37 | -------------------------------------------------------------------------------- /.codespellrc: -------------------------------------------------------------------------------- 1 | [codespell] 2 | skip = .git,*.ipynb,*.bib,*.ps,*.patch,*~,CHANGES,./tmp_install_dir,./installdir,*/build,*/tmp_build_dir 3 | ignore-words = .codespell-ignore-words 4 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.ipynb linguist-vendored 2 | *.tex linguist-documentation 3 | 4 | *.H linguist-language=C++ 5 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Summary 2 | 3 | ## Additional background 4 | 5 | ## Checklist 6 | 7 | The proposed changes: 8 | - [ ] fix a bug or incorrect behavior in AMReX 9 | - [ ] add new capabilities to AMReX 10 | - [ ] changes answers in the test suite to more than roundoff level 11 | - [ ] are likely to significantly affect the results of downstream AMReX users 12 | - [ ] include documentation in the code and/or rst files, if appropriate 13 | -------------------------------------------------------------------------------- /.github/workflows/codeql/codeql-config.yml: -------------------------------------------------------------------------------- 1 | query-filters: 2 | - exclude: 3 | id: 4 | - cpp/commented-out-code 5 | - cpp/complex-condition 6 | - cpp/equality-on-floats 7 | - cpp/fixme-comment 8 | - cpp/path-injection 9 | - cpp/poorly-documented-function 10 | - cpp/use-of-goto 11 | -------------------------------------------------------------------------------- /.github/workflows/dependencies/dependencies_ccache.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [[ $# -eq 2 ]]; then 4 | CVER=$1 5 | else 6 | CVER=4.8 7 | fi 8 | 9 | wget https://github.com/ccache/ccache/releases/download/v${CVER}/ccache-${CVER}-linux-x86_64.tar.xz 10 | tar xvf ccache-${CVER}-linux-x86_64.tar.xz 11 | sudo cp -f ccache-${CVER}-linux-x86_64/ccache /usr/local/bin/ 12 | -------------------------------------------------------------------------------- /.github/workflows/dependencies/dependencies_clang-tidy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eu -o pipefail 4 | 5 | # `man apt.conf`: 6 | # Number of retries to perform. If this is non-zero APT will retry 7 | # failed files the given number of times. 8 | echo 'Acquire::Retries "3";' | sudo tee /etc/apt/apt.conf.d/80-retries 9 | 10 | sudo apt-get install -y --no-install-recommends \ 11 | clang-tidy-$1 libomp-$1-dev 12 | -------------------------------------------------------------------------------- /.github/workflows/dependencies/dependencies_llvm_cuda11_clang15.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Copyright 2020-2022 Axel Huebl 4 | # 5 | # License: BSD-3-Clause-LBNL 6 | 7 | set -eu -o pipefail 8 | 9 | sudo apt-get -qqq update 10 | sudo apt-get install -y \ 11 | libunwind-15 \ 12 | libunwind-15-dev \ 13 | clang-15 \ 14 | libc++-15-dev \ 15 | libc++abi-15-dev \ 16 | libc++1-15 \ 17 | libc++abi1-15 18 | 19 | .github/workflows/dependencies/dependencies_nvcc.sh 11.7 20 | -------------------------------------------------------------------------------- /.github/workflows/dependencies/dependencies_mac.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Copyright 2020 The AMReX Community 4 | # 5 | # License: BSD-3-Clause-LBNL 6 | # Authors: Axel Huebl 7 | 8 | set -eu -o pipefail 9 | 10 | brew update 11 | brew install gfortran || true 12 | brew install libomp || true 13 | brew install open-mpi || true 14 | brew install ccache || true 15 | -------------------------------------------------------------------------------- /.github/workflows/docker/sensei/build-container.sh: -------------------------------------------------------------------------------- 1 | image_name=senseiinsitu/ci:fedora35-amrex-$(date +%Y%m%d) 2 | docker build --tag $image_name . 3 | docker push $image_name 4 | -------------------------------------------------------------------------------- /.github/workflows/post-pr.yml: -------------------------------------------------------------------------------- 1 | name: PostPR 2 | on: 3 | pull_request: 4 | types: 5 | - closed 6 | 7 | # This workflow does not have the permission to clean up cache for PRs 8 | # originated from a fork. The purpose here is to trigger a workflow_run 9 | # cleanup-cache-postpr.yml that has the right permission. 10 | 11 | jobs: 12 | noop: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: No OP 16 | run: echo "This workflow is going to trigger CleanUpCachePostPR." 17 | -------------------------------------------------------------------------------- /.github/workflows/style/doxygen.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Copyright 2022 The AMReX Community 4 | # 5 | # Author: Axel Huebl 6 | # License: BSD-3-Clause-LBNL 7 | # 8 | 9 | set -eu -o pipefail 10 | 11 | cd Docs/Doxygen 12 | 13 | # treat all warnings as errors (TODO) 14 | #echo "WARN_AS_ERROR = YES" >> doxygen.conf 15 | 16 | doxygen doxygen.conf 17 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/.gitmodules -------------------------------------------------------------------------------- /Docs/Doxygen/resize_AMReX_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/Doxygen/resize_AMReX_logo.png -------------------------------------------------------------------------------- /Docs/README.md: -------------------------------------------------------------------------------- 1 | Online documentation is available at https://amrex-codes.github.io/amrex/docs_html/. 2 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/AmrCore/figs/Adv1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/AmrCore/figs/Adv1.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/AmrCore/figs/Adv2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/AmrCore/figs/Adv2.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/AmrCore/figs/Adv3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/AmrCore/figs/Adv3.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/AmrCore/figs/Adv4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/AmrCore/figs/Adv4.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/AmrCore/figs/Adv5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/AmrCore/figs/Adv5.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/AmrCore/figs/flowchart.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/AmrCore/figs/flowchart.odg -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/AmrCore/figs/flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/AmrCore/figs/flowchart.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/AmrCore/figs/subcycling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/AmrCore/figs/subcycling.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/amrgrids.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/amrgrids.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/cc_growbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/cc_growbox.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/cc_tilebox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/cc_tilebox.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/cc_validbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/cc_validbox.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/ec_growbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/ec_growbox.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/ec_tilebox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/ec_tilebox.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/ec_validbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/ec_validbox.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/figs/flowchart.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/figs/flowchart.odg -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/figs/flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/figs/flowchart.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Basics/indextypes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Basics/indextypes.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/EB/EB_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/EB/EB_example.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/EB/areas_and_volumes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/EB/areas_and_volumes.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/EB/eb_fluxes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/EB/eb_fluxes.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/EB/redist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/EB/redist.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/External_Frameworks_Chapter.rst: -------------------------------------------------------------------------------- 1 | .. _Chap:External Frameworks: 2 | 3 | External Frameworks 4 | =========================== 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | SUNDIALS_top 10 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/External_Profiling_Tools_Chapter.rst: -------------------------------------------------------------------------------- 1 | .. _Chap:External Profiling Tools: 2 | 3 | External Profiling Tools 4 | =========================== 5 | 6 | AMReX is compatible with most commonly used profiling tools. This chapter provides some 7 | selected useful documentation on implementing a few of these tools on AMReX. For additional 8 | details on running these tools, please refer to the official documentation of the tools. 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | External_Profiling_Tools 14 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/FFT_Chapter.rst: -------------------------------------------------------------------------------- 1 | .. _Chap:FFT: 2 | 3 | .. _sec:FFT:FFTOverview: 4 | 5 | Discrete Fourier Transform 6 | ========================== 7 | 8 | AMReX provides support for parallel discrete Fourier transform. The 9 | implementation utilizes cuFFT, rocFFT, oneMKL and FFTW, for CUDA, HIP, SYCL 10 | and CPU builds, respectively. It also provides FFT based Poisson 11 | solvers. 12 | 13 | .. toctree:: 14 | :maxdepth: 1 15 | 16 | FFT 17 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/GPU/Streams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/GPU/Streams.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/GPU/Streams.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/GPU/Streams.pptx -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/GPU/gpu_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/GPU/gpu_1.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/GPU/gpu_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/GPU/gpu_2.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/GPU/gpu_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/GPU/gpu_3.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/GettingStarted_Chapter.rst: -------------------------------------------------------------------------------- 1 | .. _Chap:GettingStarted: 2 | 3 | Getting Started 4 | =============== 5 | 6 | In this chapter, we will walk you through two simple examples. It is assumed 7 | here that your machine has GNU Make, Python, GCC (including gfortran), and MPI, 8 | although AMReX can be built with CMake and other compilers. 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | :caption: Contents: 13 | 14 | GettingStarted 15 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Governance.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../../GOVERNANCE.rst 2 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/IO_Chapter.rst: -------------------------------------------------------------------------------- 1 | .. _Chap:IO: 2 | 3 | I/O (Plotfile, Checkpoint) 4 | ========================== 5 | 6 | 7 | In this chapter, we will discuss parallel I/O capabilities for mesh 8 | data in AMReX. The section on :ref:`sec:Particles:IO` will discuss I/O for 9 | particle data. 10 | 11 | .. toctree:: 12 | :maxdepth: 1 13 | 14 | IO 15 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/LinearSolvers/refluxfreecoarsefine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/LinearSolvers/refluxfreecoarsefine.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Particle/neighbor_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Particle/neighbor_list.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Particle/neighbor_particles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Particle/neighbor_particles.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Particle/particle_arrays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Particle/particle_arrays.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Post_Processing_Chapter.rst: -------------------------------------------------------------------------------- 1 | .. _Chap:Post-Processing: 2 | 3 | Post-Processing 4 | =============== 5 | 6 | There are utilities you can build that can read in plotfiles into a 7 | :cpp:`MultiFab` and perform post-processing. Since the data is read into 8 | :cpp:`MultiFab` you can perform standard :cpp:`MFIter` loops to iterate over 9 | the data to perform calculations. 10 | 11 | .. toctree:: 12 | :maxdepth: 1 13 | 14 | Post_Processing 15 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Profiling/figs/commtopo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Profiling/figs/commtopo.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Profiling/figs/mpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Profiling/figs/mpi.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Profiling/figs/msgsizes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Profiling/figs/msgsizes.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Profiling/figs/papi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Profiling/figs/papi.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Profiling/figs/summary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Profiling/figs/summary.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Profiling/figs/timings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Profiling/figs/timings.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Regression_Testing_Chapter.rst: -------------------------------------------------------------------------------- 1 | .. _Chap:Regression Testing: 2 | 3 | Regression Testing 4 | =========================== 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | Testing 10 | -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/Amrvis_2d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/Amrvis_2d.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/Amrvis_3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/Amrvis_3d.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/ParaView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/ParaView.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/ParaView_filegroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/ParaView_filegroup.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/ParaView_particles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/ParaView_particles.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/ParaView_series_reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/ParaView_series_reload.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/ParaView_vectorfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/ParaView_vectorfield.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/VisIt_2D.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/VisIt_2D.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/VisIt_3D.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/VisIt_3D.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/rt_2048_paraview_000500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/rt_2048_paraview_000500.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/rt_2048_visit_000500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/rt_2048_visit_000500.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/sensei_amrex_arch_sm_824.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/sensei_amrex_arch_sm_824.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/yt_Nyx_density_slice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/yt_Nyx_density_slice.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/Visualization/yt_Nyx_density_vol_rend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/Visualization/yt_Nyx_density_vol_rend.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/_static/theme_overrides.css: -------------------------------------------------------------------------------- 1 | /* override table width restrictions */ 2 | .wy-table-responsive table td, .wy-table-responsive table th { 3 | white-space: normal; 4 | } 5 | 6 | .wy-table-responsive { 7 | margin-bottom: 24px; 8 | max-width: 100%; 9 | overflow: visible; 10 | } -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/figs/ex_fsnapshot_resize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/figs/ex_fsnapshot_resize.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/figs/fork_join_tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/figs/fork_join_tasks.png -------------------------------------------------------------------------------- /Docs/sphinx_documentation/source/figs/nested_fork_join_tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Docs/sphinx_documentation/source/figs/nested_fork_join_tasks.png -------------------------------------------------------------------------------- /Src/Amr/AMReX_AmrFwd.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_AMR_FWD_H_ 2 | #define AMREX_AMR_FWD_H_ 3 | 4 | namespace amrex { 5 | 6 | class Amr; 7 | class AmrLevel; 8 | class AuxBoundaryData; 9 | class DescriptorList; 10 | class LevelBld; 11 | class StateData; 12 | class StateDataPhysBCFunct; 13 | class StateDescriptor; 14 | 15 | } 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /Src/Amr/AMReX_extrapolater_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMReX_extrapolater_K_H_ 2 | #define AMReX_extrapolater_K_H_ 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | #if (AMREX_SPACEDIM == 1) 10 | #include 11 | #elif (AMREX_SPACEDIM == 2) 12 | #include 13 | #else 14 | #include 15 | #endif 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /Src/AmrCore/AMReX_AmrCoreFwd.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_AMRCORE_FWD_H_ 2 | #define AMREX_AMRCORE_FWD_H_ 3 | 4 | namespace amrex { 5 | 6 | class AmrCore; 7 | struct AmrInfo; 8 | class AmrMesh; 9 | 10 | class FluxRegister; 11 | class Interpolater; 12 | class MFInterpolater; 13 | 14 | class TagBox; 15 | class TagBoxArray; 16 | 17 | class InterpFaceRegister; 18 | 19 | } 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Src/AmrCore/AMReX_FluxReg_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_FLUXREG_C_H_ 2 | #define AMREX_FLUXREG_C_H_ 3 | #include 4 | 5 | #if (AMREX_SPACEDIM == 1) 6 | #include 7 | #elif (AMREX_SPACEDIM == 2) 8 | #include 9 | #else 10 | #include 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /Src/AmrCore/AMReX_InterpFaceReg_1D_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_INTERP_FACE_REG_1D_C_H_ 2 | #define AMREX_INTERP_FACE_REG_1D_C_H_ 3 | 4 | namespace amrex { 5 | 6 | } 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /Src/AmrCore/AMReX_InterpFaceReg_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_INTERP_FACE_REG_C_H_ 2 | #define AMREX_INTERP_FACE_REG_C_H_ 3 | 4 | #include 5 | 6 | #if (AMREX_SPACEDIM == 2) 7 | #include 8 | #elif (AMREX_SPACEDIM == 3) 9 | #include 10 | #endif 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /Src/Base/AMReX_CONSTANTS.H: -------------------------------------------------------------------------------- 1 | #ifndef BL_CONSTANTS_H 2 | #define BL_CONSTANTS_H 3 | #include 4 | 5 | #include 6 | 7 | /* Maybe in the future we will add some constants here. */ 8 | /* If we do, make sure this file is Fortran safe. */ 9 | 10 | #endif /*BL_CONSTANTS_H*/ 11 | -------------------------------------------------------------------------------- /Src/Base/AMReX_COORDSYS_3D_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_COORDSYS_3D_C_H_ 2 | #define AMREX_COORDSYS_3D_C_H_ 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | namespace amrex { 11 | 12 | } 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /Src/Base/AMReX_COORDSYS_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_COORDSYS_C_H_ 2 | #define AMREX_COORDSYS_C_H_ 3 | #include 4 | 5 | #if (AMREX_SPACEDIM == 1) 6 | #include 7 | #elif (AMREX_SPACEDIM == 2) 8 | #include 9 | #else 10 | #include 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /Src/Base/AMReX_Exception.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_EXCEPTION_H_ 2 | #define AMREX_EXCEPTION_H_ 3 | #include 4 | 5 | #include 6 | 7 | namespace amrex 8 | { 9 | using RuntimeError = std::runtime_error; 10 | } 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /Src/Base/AMReX_FilCC_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_FILL_CC_H_ 2 | #define AMREX_FILL_CC_H_ 3 | #include 4 | 5 | #if (AMREX_SPACEDIM == 1) 6 | #include 7 | #elif (AMREX_SPACEDIM == 2) 8 | #include 9 | #else 10 | #include 11 | #endif 12 | 13 | namespace amrex { 14 | void fab_filcc (Box const& bx, Array4 const& q, int ncomp, 15 | Box const& domain, Real const* dx, Real const* xlo, 16 | BCRec const* bc); 17 | } 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /Src/Base/AMReX_FilFC_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_FILL_FC_H_ 2 | #define AMREX_FILL_FC_H_ 3 | #include 4 | 5 | #if (AMREX_SPACEDIM == 1) 6 | #include 7 | #elif (AMREX_SPACEDIM == 2) 8 | #include 9 | #else 10 | #include 11 | #endif 12 | 13 | namespace amrex { 14 | void fab_filfc (Box const& bx, Array4 const& q, int ncomp, 15 | Box const& domain, Real const* dx, Real const* xlo, 16 | BCRec const* bc); 17 | } 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /Src/Base/AMReX_FilND_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_FILL_ND_H_ 2 | #define AMREX_FILL_ND_H_ 3 | #include 4 | 5 | #include 6 | #include 7 | 8 | namespace amrex { 9 | void fab_filnd (Box const& bx, Array4 const& q, int ncomp, 10 | Box const& domain, Real const* dx, Real const* xlo, 11 | BCRec const* bc); 12 | } 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /Src/Base/AMReX_GpuControl.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | namespace amrex::Gpu { 5 | 6 | #if defined(AMREX_USE_GPU) 7 | bool in_launch_region = true; 8 | bool in_graph_region = false; 9 | bool in_single_stream_region = false; 10 | bool in_nosync_region = false; 11 | #endif 12 | 13 | } 14 | -------------------------------------------------------------------------------- /Src/Base/AMReX_GpuKernelInfo.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_GPU_KERNEL_INFO_H_ 2 | #define AMREX_GPU_KERNEL_INFO_H_ 3 | #include 4 | 5 | namespace amrex::Gpu { 6 | 7 | class KernelInfo 8 | { 9 | public: 10 | KernelInfo& setReduction (bool flag) { has_reduction = flag; return *this; } 11 | [[nodiscard]] bool hasReduction () const { return has_reduction; } 12 | private: 13 | bool has_reduction = false; 14 | }; 15 | 16 | } 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /Src/Base/AMReX_GpuLaunchMacrosC.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_GPU_LAUNCH_MACROS_C_H_ 2 | #define AMREX_GPU_LAUNCH_MACROS_C_H_ 3 | #include 4 | 5 | #include 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /Src/Base/AMReX_GpuLaunchMacrosG.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_GPU_LAUNCH_MACROS_G_H_ 2 | #define AMREX_GPU_LAUNCH_MACROS_G_H_ 3 | #include 4 | 5 | #include 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /Src/Base/AMReX_Lazy.H: -------------------------------------------------------------------------------- 1 | #ifndef BL_LAZY_H 2 | #define BL_LAZY_H 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | namespace amrex { 10 | namespace Lazy 11 | { 12 | using Func = std::function; 13 | using FuncQue = std::vector; 14 | 15 | extern FuncQue reduction_queue; 16 | 17 | void QueueReduction (Func); 18 | void EvalReduction (); 19 | 20 | void Finalize (); 21 | } 22 | } 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /Src/Base/AMReX_Machine.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MACHINE_H 2 | #define AMREX_MACHINE_H 3 | #include 4 | 5 | #include 6 | 7 | namespace amrex::Machine { 8 | 9 | void Initialize (); //!< called in amrex::Initialize() 10 | 11 | void Finalize (); 12 | 13 | std::string const& name (); 14 | 15 | } 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /Src/Base/AMReX_MakeType.H: -------------------------------------------------------------------------------- 1 | #ifndef BL_MAKETYPE_H_ 2 | #define BL_MAKETYPE_H_ 3 | #include 4 | 5 | namespace amrex 6 | { 7 | enum MakeType {make_alias, make_deep_copy}; 8 | } 9 | 10 | #endif 11 | 12 | -------------------------------------------------------------------------------- /Src/Base/AMReX_MultiFabUtil_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MULITIFAB_UTIL_C_H_ 2 | #define AMREX_MULITIFAB_UTIL_C_H_ 3 | #include 4 | 5 | #include 6 | 7 | #if (AMREX_SPACEDIM == 1) 8 | #include 9 | #elif (AMREX_SPACEDIM == 2) 10 | #include 11 | #else 12 | #include 13 | #endif 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /Src/Base/AMReX_ThirdPartyProfiling.H: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifdef AMREX_CRAYPAT 4 | #include 5 | #elif defined (AMREX_VTUNE) 6 | #include 7 | #elif defined (AMREX_FORGE) 8 | #include 9 | #endif 10 | -------------------------------------------------------------------------------- /Src/Base/AMReX_Version.cpp: -------------------------------------------------------------------------------- 1 | //include // contains declaration 2 | #include 3 | 4 | #include 5 | 6 | 7 | namespace amrex 8 | { 9 | std::string Version () 10 | { 11 | #ifdef AMREX_GIT_VERSION 12 | return std::string(AMREX_GIT_VERSION); 13 | #else 14 | return std::string("Unknown"); 15 | #endif 16 | } 17 | } // namespace amrex 18 | -------------------------------------------------------------------------------- /Src/Base/AMReX_error_fi.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | extern "C" 5 | { 6 | void amrex_fi_error (const char* message) 7 | { 8 | amrex::Error(message); 9 | } 10 | 11 | void amrex_fi_abort (const char* message) 12 | { 13 | amrex::Abort(message); 14 | } 15 | 16 | void amrex_fi_warning (const char* message) 17 | { 18 | amrex::Warning(message); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Src/Base/Parser/GNUmakefile: -------------------------------------------------------------------------------- 1 | default: 2 | bison --no-lines --defines=amrex_parser.tab.h --output=amrex_parser.tab.nolint.H amrex_parser.y 3 | flex --noline --header-file=amrex_parser.lex.h --outfile=amrex_parser.lex.nolint.H amrex_parser.l 4 | bison --no-lines --defines=amrex_iparser.tab.h --output=amrex_iparser.tab.nolint.H amrex_iparser.y 5 | flex --noline --header-file=amrex_iparser.lex.h --outfile=amrex_iparser.lex.nolint.H amrex_iparser.l 6 | -------------------------------------------------------------------------------- /Src/Base/Parser/amrex_iparser.lex.cpp: -------------------------------------------------------------------------------- 1 | #ifdef __GNUC__ 2 | #pragma GCC diagnostic ignored "-Wnull-dereference" 3 | #pragma GCC diagnostic ignored "-Wunreachable-code" 4 | #pragma GCC diagnostic ignored "-Wsign-compare" 5 | #elif defined(__clang__) 6 | #pragma clang diagnostic ignored "-Wnull-dereference" 7 | #pragma clang diagnostic ignored "-Wunreachable-code" 8 | #pragma clang diagnostic ignored "-Wsign-compare" 9 | #endif 10 | 11 | #include 12 | -------------------------------------------------------------------------------- /Src/Base/Parser/amrex_iparser.tab.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /Src/Base/Parser/amrex_parser.tab.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /Src/Boundary/AMReX_BoundaryFwd.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_BOUNDARY_FWD_H_ 2 | #define AMREX_BOUNDARY_FWD_H_ 3 | 4 | namespace amrex { 5 | 6 | class BndryDataT; 7 | class BndryRegisterT; 8 | class BoundCond; 9 | class FabSetT; 10 | class InterpBndryDataT; 11 | class Mask; 12 | class MultiMask; 13 | class YAFluxRegisterT; 14 | class EdgeFluxRegister; 15 | 16 | } 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /Src/Boundary/AMReX_InterpBndryData_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_INTERP_BNDRYDATA_K_H_ 2 | #define AMREX_INTERP_BNDRYDATA_K_H_ 3 | #include 4 | 5 | #if (AMREX_SPACEDIM == 1) 6 | #include 7 | #elif (AMREX_SPACEDIM == 2) 8 | #include 9 | #else 10 | #include 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /Src/EB/AMReX_EB2_IF_Base.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_EB2_IF_BASE_H_ 2 | #define AMREX_EB2_IF_BASE_H_ 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | namespace amrex { 10 | 11 | struct GPUable {}; 12 | 13 | namespace EB2 { 14 | 15 | template struct IsGPUable : std::false_type {}; 16 | 17 | template 18 | struct IsGPUable>> 19 | : std::true_type {}; 20 | 21 | } 22 | } 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /Src/EB/AMReX_EBAmrUtil.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_EBAMRUTIL_H_ 2 | #define AMREX_EBAMRUTIL_H_ 3 | #include 4 | 5 | #include 6 | #include 7 | 8 | namespace amrex { 9 | 10 | void TagCutCells (TagBoxArray& tags, const MultiFab& state); 11 | 12 | void TagVolfrac (TagBoxArray& tags, const MultiFab& volfrac, Real tol = 0.000001_rt); 13 | 14 | } 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /Src/EB/AMReX_EBFluxRegister_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_EB_FLUXREGISTER_C_H_ 2 | #define AMREX_EB_FLUXREGISTER_C_H_ 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | #if (AMREX_SPACEDIM == 2) 10 | #include 11 | #elif (AMREX_SPACEDIM == 3) 12 | #include 13 | #endif 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /Src/EB/AMReX_EBMultiFabUtil_C.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_EB_MULTIFAB_UTIL_C_H_ 2 | #define AMREX_EB_MULTIFAB_UTIL_C_H_ 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | #if (AMREX_SPACEDIM == 2) 10 | #include 11 | #elif (AMREX_SPACEDIM == 3) 12 | #include 13 | #endif 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /Src/EB/AMReX_EBSupport.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_EB_SUPPORT_H_ 2 | #define AMREX_EB_SUPPORT_H_ 3 | #include 4 | 5 | namespace amrex { 6 | 7 | enum struct EBSupport : int { 8 | none = 0, 9 | basic = 1, //!< EBCellFlag 10 | volume = 2, //!< + volume fraction 11 | full = 3 //!< + area fraction, boundary centroids and face centroids 12 | }; 13 | 14 | } 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /Src/EB/AMReX_EB_Slopes_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_EB_SLOPES_K_H_ 2 | #define AMREX_EB_SLOPES_K_H_ 3 | 4 | #if (AMREX_SPACEDIM == 2) 5 | #include 6 | #elif (AMREX_SPACEDIM == 3) 7 | #include 8 | #endif 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /Src/EB/AMReX_WriteEBSurface.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_WRITE_EBSURFACE_H 2 | #define AMREX_WRITE_EBSURFACE_H 3 | #include 4 | 5 | #include 6 | #include 7 | 8 | namespace amrex { 9 | 10 | class EBFArrayBoxFactory; 11 | 12 | void WriteEBSurface (const amrex::BoxArray & ba, const amrex::DistributionMapping & dmap, const amrex::Geometry & geom, 13 | const amrex::EBFArrayBoxFactory * ebf); 14 | 15 | } 16 | 17 | #endif 18 | 19 | -------------------------------------------------------------------------------- /Src/Extern/Bittree/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | target_include_directories( amrex 2 | PUBLIC 3 | $) 4 | 5 | add_amrex_define(AMREX_USE_BITTREE NO_LEGACY) 6 | 7 | target_sources( amrex 8 | PRIVATE 9 | AMReX_Bittree.H 10 | AMReX_Bittree.cpp 11 | ) 12 | -------------------------------------------------------------------------------- /Src/Extern/Bittree/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += AMReX_Bittree.H 2 | CEXE_sources += AMReX_Bittree.cpp 3 | 4 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/Extern/Bittree 5 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/Extern/Bittree 6 | -------------------------------------------------------------------------------- /Src/Extern/Conduit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | target_include_directories(amrex_${D}d PUBLIC $) 3 | 4 | # TODO: Particles PR merges another file 5 | target_sources(amrex_${D}d 6 | PRIVATE 7 | AMReX_Conduit_Blueprint_ParticlesI.H 8 | AMReX_Conduit_Blueprint.H 9 | AMReX_Conduit_Blueprint.cpp 10 | ) 11 | endforeach() 12 | -------------------------------------------------------------------------------- /Src/Extern/Conduit/Make.package: -------------------------------------------------------------------------------- 1 | # 2 | # Conduit Blueprint Support 3 | # 4 | 5 | CEXE_sources += AMReX_Conduit_Blueprint.cpp 6 | CEXE_headers += AMReX_Conduit_Blueprint_ParticlesI.H 7 | CEXE_headers += AMReX_Conduit_Blueprint.H 8 | 9 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/Extern/Conduit 10 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/Extern/Conduit 11 | -------------------------------------------------------------------------------- /Src/Extern/HDF5/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | target_include_directories(amrex_${D}d 3 | PUBLIC 4 | $) 5 | 6 | target_sources(amrex_${D}d 7 | PRIVATE 8 | AMReX_PlotFileUtilHDF5.H 9 | AMReX_PlotFileUtilHDF5.cpp 10 | AMReX_ParticleUtilHDF5.H 11 | AMReX_ParticleHDF5.H 12 | AMReX_ParticlesHDF5.H 13 | AMReX_WriteBinaryParticleDataHDF5.H 14 | ) 15 | endforeach() 16 | -------------------------------------------------------------------------------- /Src/Extern/HDF5/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += AMReX_PlotFileUtilHDF5.cpp 3 | 4 | CEXE_headers += AMReX_ParticleHDF5.H 5 | CEXE_headers += AMReX_ParticlesHDF5.H 6 | CEXE_headers += AMReX_PlotFileUtilHDF5.H 7 | CEXE_headers += AMReX_ParticleUtilHDF5.H 8 | CEXE_headers += AMReX_WriteBinaryParticleDataHDF5.H 9 | 10 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/Extern/HDF5 11 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/Extern/HDF5 12 | -------------------------------------------------------------------------------- /Src/Extern/PETSc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_amrex_define(AMREX_USE_PETSC NO_LEGACY NO_1D IF AMReX_PETSC) 2 | 3 | foreach(D IN LISTS AMReX_SPACEDIM) 4 | if (D EQUAL 1) 5 | message(STATUS "PETSc interfaces are not supported for 1D builds (skipping)") 6 | continue() 7 | endif () 8 | 9 | target_include_directories(amrex_${D}d 10 | PUBLIC 11 | $) 12 | 13 | target_sources(amrex_${D}d 14 | PRIVATE 15 | AMReX_PETSc.cpp 16 | AMReX_PETSc.H 17 | ) 18 | endforeach() 19 | -------------------------------------------------------------------------------- /Src/Extern/PETSc/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_headers += AMReX_PETSc.H 3 | 4 | CEXE_sources += AMReX_PETSc.cpp 5 | 6 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/Extern/PETSc 7 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/Extern/PETSc 8 | 9 | CEXE_headers += AMReX_Habec_$(DIM)D_K.H 10 | CEXE_headers += AMReX_Habec_K.H 11 | 12 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/Extern/HYPRE 13 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/Extern/HYPRE 14 | -------------------------------------------------------------------------------- /Src/Extern/SUNDIALS/AMReX_Sundials.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_SUNDIALS_H_ 2 | #define AMREX_SUNDIALS_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | static_assert(std::is_same_v, 10 | "amrex::Real must be the same as SUNDIALS sunrealtype"); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /Src/Extern/SUNDIALS/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | target_include_directories(amrex_${D}d 3 | PUBLIC 4 | $) 5 | 6 | target_sources(amrex_${D}d 7 | PRIVATE 8 | AMReX_NVector_MultiFab.cpp 9 | AMReX_NVector_MultiFab.H 10 | AMReX_Sundials_Core.cpp 11 | AMReX_Sundials_Core.H 12 | AMReX_Sundials.H 13 | AMReX_SundialsIntegrator.H 14 | AMReX_SUNMemory.cpp 15 | AMReX_SUNMemory.H 16 | ) 17 | endforeach() 18 | -------------------------------------------------------------------------------- /Src/Extern/SUNDIALS/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += AMReX_NVector_MultiFab.cpp 2 | CEXE_headers += AMReX_NVector_MultiFab.H 3 | CEXE_sources += AMReX_Sundials_Core.cpp 4 | CEXE_headers += AMReX_Sundials_Core.H 5 | CEXE_headers += AMReX_Sundials.H 6 | CEXE_headers += AMReX_SundialsIntegrator.H 7 | CEXE_sources += AMReX_SUNMemory.cpp 8 | CEXE_headers += AMReX_SUNMemory.H 9 | 10 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/Extern/SUNDIALS 11 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/Extern/SUNDIALS 12 | -------------------------------------------------------------------------------- /Src/Extern/amrdata/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += AMReX_AmrData.cpp AMReX_XYPlotDataList.cpp AMReX_DataServices.cpp AMReX_WritePlotFile.cpp 2 | CEXE_headers += AMReX_AmrData.H AMReX_AmrvisConstants.H AMReX_XYPlotDataList.H AMReX_DataServices.H AMReX_WritePlotFile.H 3 | 4 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/Extern/amrdata 5 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/Extern/amrdata 6 | -------------------------------------------------------------------------------- /Src/FFT/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_amrex_define(AMREX_USE_FFT NO_LEGACY) 2 | 3 | foreach(D IN LISTS AMReX_SPACEDIM) 4 | target_include_directories(amrex_${D}d PUBLIC $) 5 | 6 | target_sources(amrex_${D}d 7 | PRIVATE 8 | AMReX_FFT.H 9 | AMReX_FFT.cpp 10 | AMReX_FFT_LocalR2C.H 11 | AMReX_FFT_OpenBCSolver.H 12 | AMReX_FFT_R2C.H 13 | AMReX_FFT_R2X.H 14 | AMReX_FFT_Helper.H 15 | AMReX_FFT_Poisson.H 16 | ) 17 | 18 | endforeach() 19 | -------------------------------------------------------------------------------- /Src/FFT/Make.package: -------------------------------------------------------------------------------- 1 | ifndef AMREX_FFT_MAKE 2 | AMREX_FFT_MAKE := 1 3 | 4 | CEXE_headers += AMReX_FFT.H AMReX_FFT_Helper.H AMReX_FFT_Poisson.H 5 | CEXE_headers += AMReX_FFT_OpenBCSolver.H AMReX_FFT_R2C.H AMReX_FFT_R2X.H 6 | CEXE_headers += AMReX_FFT_LocalR2C.H 7 | CEXE_sources += AMReX_FFT.cpp 8 | 9 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/FFT 10 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/FFT 11 | 12 | endif 13 | -------------------------------------------------------------------------------- /Src/F_Interfaces/AmrCore/AMReX_amr_mod.F90: -------------------------------------------------------------------------------- 1 | 2 | module amrex_amr_module 3 | 4 | use amrex_base_module 5 | use amrex_amrcore_module 6 | use amrex_tagbox_module 7 | use amrex_fillpatch_module 8 | use amrex_interpolater_module 9 | use amrex_fluxregister_module 10 | use amrex_flash_fluxregister_module 11 | 12 | end module amrex_amr_module 13 | -------------------------------------------------------------------------------- /Src/F_Interfaces/Base/AMReX_FPhysBC.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace amrex; 4 | 5 | void 6 | amrex::FPhysBC::operator() (MultiFab& mf, int scomp, int ncomp, IntVect const& /* */, 7 | Real time, int /*bccomp*/) 8 | { 9 | if (fill_physbc != nullptr) { 10 | fill_physbc(&mf, scomp+1, ncomp, time, geom); 11 | } else { 12 | amrex::Abort("FPhysBC::fill_physbc is null"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Src/F_Interfaces/Base/AMReX_box_fi.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | using namespace amrex; 6 | 7 | extern "C" 8 | { 9 | void amrex_fi_print_box (const int* lo, const int* hi, const int* nodal) 10 | { 11 | Box box {IntVect(lo), IntVect(hi), IntVect(nodal)}; 12 | AllPrint() << box << "\n"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Src/F_Interfaces/Base/AMReX_fi_mpi_mod.F90: -------------------------------------------------------------------------------- 1 | module amrex_fi_mpi 2 | use mpi 3 | implicit none 4 | end module amrex_fi_mpi 5 | -------------------------------------------------------------------------------- /Src/F_Interfaces/Base/AMReX_physbc_fi.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace amrex; 4 | 5 | extern "C" 6 | { 7 | void amrex_fi_new_physbc (FPhysBC*& pbc, FPhysBC::fill_physbc_funptr_t fill, const Geometry* geom) 8 | { 9 | pbc = new FPhysBC(fill, geom); 10 | } 11 | 12 | void amrex_fi_delete_physbc (FPhysBC* pbc) 13 | { 14 | delete pbc; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Src/F_Interfaces/Base/AMReX_vismf_fi.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | using namespace amrex; 6 | 7 | extern "C" 8 | { 9 | void amrex_fi_write_multifab (const MultiFab* mf, const char* name) 10 | { 11 | VisMF::Write(*mf, std::string(name)); 12 | } 13 | 14 | void amrex_fi_read_multifab (MultiFab* mf, const char* name) 15 | { 16 | BL_ASSERT(mf != nullptr); 17 | VisMF::Read(*mf, std::string(name)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Src/F_Interfaces/LinearSolvers/AMReX_linear_solver_mod.F90: -------------------------------------------------------------------------------- 1 | module amrex_linear_solver_module 2 | 3 | use amrex_base_module 4 | use amrex_lo_bctypes_module 5 | use amrex_linop_module 6 | use amrex_poisson_module 7 | use amrex_abeclaplacian_module 8 | use amrex_multigrid_module 9 | 10 | end module amrex_linear_solver_module 11 | -------------------------------------------------------------------------------- /Src/F_Interfaces/Octree/Make.package: -------------------------------------------------------------------------------- 1 | F90EXE_sources += AMReX_octree_mod.F90 2 | 3 | CEXE_sources += AMReX_octree_fi.cpp 4 | 5 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/F_Interfaces/Octree 6 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/F_Interfaces/Octree 7 | -------------------------------------------------------------------------------- /Src/F_Interfaces/Particle/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += AMReX_particlecontainer_mod.F90 3 | 4 | CEXE_sources += AMReX_particlecontainer_fi.cpp 5 | 6 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/F_Interfaces/Particle 7 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/F_Interfaces/Particle 8 | -------------------------------------------------------------------------------- /Src/LinearSolvers/AMReX_Algebra.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_ALGEBRA_H_ 2 | #define AMREX_ALGEBRA_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /Src/LinearSolvers/MLMG/AMReX_MLABecLap_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MLABECLAP_K_H_ 2 | #define AMREX_MLABECLAP_K_H_ 3 | #include 4 | 5 | #include 6 | 7 | #if (AMREX_SPACEDIM == 1) 8 | #include 9 | #elif (AMREX_SPACEDIM == 2) 10 | #include 11 | #else 12 | #include 13 | #endif 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /Src/LinearSolvers/MLMG/AMReX_MLALap_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MLALAP_K_H_ 2 | #define AMREX_MLALAP_K_H_ 3 | #include 4 | 5 | #include 6 | 7 | #if (AMREX_SPACEDIM == 1) 8 | #include 9 | #elif (AMREX_SPACEDIM == 2) 10 | #include 11 | #else 12 | #include 13 | #include 14 | #endif 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /Src/LinearSolvers/MLMG/AMReX_MLCellABecLap_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MLCELLABECLAP_K_H_ 2 | #define AMREX_MLCELLABECLAP_K_H_ 3 | #include 4 | 5 | #include 6 | 7 | #if (AMREX_SPACEDIM == 1) 8 | #include 9 | #elif (AMREX_SPACEDIM == 2) 10 | #include 11 | #else 12 | #include 13 | #endif 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /Src/LinearSolvers/MLMG/AMReX_MLMG_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MLMG_K_H_ 2 | #define AMREX_MLMG_K_H_ 3 | #include 4 | 5 | #include 6 | #ifdef AMREX_USE_EB 7 | #include 8 | #endif 9 | 10 | #if (AMREX_SPACEDIM == 1) 11 | #include 12 | #elif (AMREX_SPACEDIM == 2) 13 | #include 14 | #else 15 | #include 16 | #include 17 | #endif 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /Src/LinearSolvers/MLMG/AMReX_MLNodeABecLap_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MLNODEABECLAP_K_H_ 2 | #define AMREX_MLNODEABECLAP_K_H_ 3 | #include 4 | 5 | #if (AMREX_SPACEDIM == 1) 6 | #include 7 | #elif (AMREX_SPACEDIM == 2) 8 | #include 9 | #else 10 | #include 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /Src/LinearSolvers/MLMG/AMReX_MLNodeTensorLap_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MLNODETENSORLAP_K_H_ 2 | #define AMREX_MLNODETENSORLAP_K_H_ 3 | #include 4 | 5 | #include 6 | #include 7 | 8 | #if (AMREX_SPACEDIM == 1) 9 | #include 10 | #elif (AMREX_SPACEDIM == 2) 11 | #include 12 | #else 13 | #include 14 | #endif 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /Src/LinearSolvers/MLMG/AMReX_MLPoisson_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MLPOISSON_K_H_ 2 | #define AMREX_MLPOISSON_K_H_ 3 | #include 4 | 5 | #include 6 | 7 | #if (AMREX_SPACEDIM == 1) 8 | #include 9 | #elif (AMREX_SPACEDIM == 2) 10 | #include 11 | #else 12 | #include 13 | #include 14 | #endif 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /Src/LinearSolvers/MLMG/AMReX_MLTensor_1D_K.H: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_MLTENSOR_1D_K_H_ 2 | #define AMREX_MLTENSOR_1D_K_H_ 3 | #include 4 | 5 | namespace amrex { 6 | 7 | } 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /Src/LinearSolvers/OpenBC/Make.package: -------------------------------------------------------------------------------- 1 | ifndef AMREX_OPENBC_MAKE 2 | AMREX_OPENBC_MAKE := 1 3 | 4 | CEXE_headers += AMReX_OpenBC.H AMReX_OpenBC_K.H 5 | CEXE_sources += AMReX_OpenBC.cpp 6 | 7 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/LinearSolvers/OpenBC 8 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/LinearSolvers/OpenBC 9 | 10 | endif 11 | -------------------------------------------------------------------------------- /Src/SDC/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_headers += AMReX_SDCstruct.H 3 | CEXE_sources += AMReX_SDCstruct.cpp 4 | F90EXE_sources += AMReX_SDCquadrature.F90 5 | 6 | VPATH_LOCATIONS += $(AMREX_HOME)/Src/SDC 7 | INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/SDC 8 | -------------------------------------------------------------------------------- /Tests/Algebra/GMRES/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Algebra/GMRES/GNUmakefile: -------------------------------------------------------------------------------- 1 | # AMREX_HOME defines the directory in which we will find all the AMReX code. 2 | AMREX_HOME := ../../.. 3 | 4 | DEBUG = FALSE 5 | USE_MPI = TRUE 6 | USE_OMP = FALSE 7 | COMP = gnu 8 | DIM = 3 9 | 10 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 11 | 12 | include ./Make.package 13 | 14 | include $(AMREX_HOME)/Src/Base/Make.package 15 | include $(AMREX_HOME)/Src/LinearSolvers/Make.package 16 | 17 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 18 | -------------------------------------------------------------------------------- /Tests/Algebra/GMRES/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrCore/Exec/GNUmakefile: -------------------------------------------------------------------------------- 1 | 2 | PRECISION = DOUBLE 3 | PROFILE = FALSE 4 | 5 | DEBUG = TRUE 6 | DEBUG = FALSE 7 | 8 | DIM = 2 9 | #DIM = 3 10 | 11 | COMP = gnu 12 | 13 | USE_MPI = TRUE 14 | USE_OMP = FALSE 15 | USE_CUDA = FALSE 16 | USE_PARTICLES = TRUE 17 | USE_BITTREE = FALSE 18 | 19 | Bpack := ./Make.package 20 | Blocs := . 21 | 22 | include Make.Adv 23 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrCore/Exec/GNUmakefile_movie: -------------------------------------------------------------------------------- 1 | PARAVIEW_PATH ?= /path/containing/paraview/executable 2 | 3 | movie2D: 4 | @echo "Making a movie from 2D simulation, this will probably take <30 seconds ..." 5 | @$(PARAVIEW_PATH)/pvpython paraview_amr101.py -d 2 > /dev/null 2>&1 6 | @echo "Done! Generated amr101_2D.avi and amr101_2D.gif" 7 | 8 | movie3D: 9 | @echo "Making a movie from 3D simulation, this will probably take <30 seconds ..." 10 | @$(PARAVIEW_PATH)/pvpython paraview_amr101.py > /dev/null 2>&1 11 | @echo "Done! Generated amr101_3D.avi and amr101_3D.gif" 12 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrCore/Exec/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += Prob.H 2 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrCore/Source/Kernels.H: -------------------------------------------------------------------------------- 1 | #ifndef Kernels_H_ 2 | #define Kernels_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #if (AMREX_SPACEDIM == 2) 12 | #include 13 | #else 14 | #include 15 | #endif 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrCore/Source/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += AdvancePhiAtLevel.cpp 2 | CEXE_sources += AdvancePhiAllLevels.cpp 3 | CEXE_sources += AmrCoreAdv.cpp 4 | CEXE_sources += DefineVelocity.cpp 5 | CEXE_sources += main.cpp 6 | 7 | CEXE_headers += AmrCoreAdv.H 8 | CEXE_headers += bc_fill.H 9 | CEXE_headers += face_velocity.H 10 | CEXE_headers += Kernels.H 11 | CEXE_headers += Tagging.H 12 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrCore/Source/Src_K/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += Adv_K.H 2 | CEXE_headers += compute_flux_$(DIM)D_K.H 3 | CEXE_headers += slope_K.H 4 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrCore/Source/Tagging.H: -------------------------------------------------------------------------------- 1 | #ifndef TAGGING_H 2 | #define TAGGING_H 3 | 4 | #include 5 | 6 | AMREX_GPU_HOST_DEVICE 7 | AMREX_FORCE_INLINE 8 | void 9 | state_error (int i, int j, int k, 10 | amrex::Array4 const& tag, 11 | amrex::Array4 const& state, 12 | amrex::Real phierr, char tagval) 13 | { 14 | if (state(i,j,k) > phierr) { 15 | tag(i,j,k) = tagval; 16 | } 17 | } 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/SingleVortex/Adv_prob.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | extern "C" { 4 | void amrex_probinit (const int* /*init*/, 5 | const int* /*name*/, 6 | const int* /*namelen*/, 7 | const amrex::Real* /*problo*/, 8 | const amrex::Real* /*probhi*/) 9 | { 10 | // Nothing needs to be done here, 11 | // since there are no extra inputs to be read from probin file 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/SingleVortex/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../../.. 2 | USE_EB = FALSE 3 | PRECISION = DOUBLE 4 | PROFILE = FALSE 5 | 6 | DEBUG = TRUE 7 | DEBUG = FALSE 8 | 9 | DIM = 2 10 | #DIM = 3 11 | 12 | COMP = gnu 13 | 14 | USE_PARTICLES = TRUE 15 | 16 | USE_MPI = TRUE 17 | USE_OMP = FALSE 18 | 19 | Bpack := ./Make.package 20 | Blocs := . 21 | 22 | include ../Make.Adv 23 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/SingleVortex/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += Prob_Parm.H face_velocity_$(DIM)d_K.H Prob.H 2 | CEXE_sources += Adv_prob.cpp Prob.cpp 3 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/SingleVortex/Prob.H: -------------------------------------------------------------------------------- 1 | #ifndef PROB_H_ 2 | #define PROB_H_ 3 | 4 | void initdata(amrex::MultiFab& S_tmp, const amrex::Geometry& geom); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/SingleVortex/Prob_Parm.H: -------------------------------------------------------------------------------- 1 | #ifndef PROB_PARM_H_ 2 | #define PROB_PARM_H_ 3 | 4 | #include 5 | 6 | // Define the struct to contain problem-specific variables here. 7 | // For this case, since we don't need any, the struct is empty. 8 | struct ProbParm {}; 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/UniformVelocity/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../../.. 2 | USE_EB =FALSE 3 | PRECISION = DOUBLE 4 | PROFILE = FALSE 5 | 6 | DEBUG = TRUE 7 | DEBUG = FALSE 8 | 9 | DIM = 2 10 | #DIM = 3 11 | 12 | COMP = gnu 13 | 14 | USE_PARTICLES = TRUE 15 | 16 | USE_MPI = TRUE 17 | USE_OMP = FALSE 18 | 19 | Bpack := ./Make.package 20 | Blocs := . 21 | 22 | include ../Make.Adv 23 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/UniformVelocity/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += Prob_Parm.H face_velocity_$(DIM)d_K.H Prob.H 2 | CEXE_sources += Adv_prob.cpp Prob.cpp 3 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/UniformVelocity/Prob.H: -------------------------------------------------------------------------------- 1 | #ifndef PROB_H_ 2 | #define PROB_H_ 3 | 4 | void initdata(amrex::MultiFab& S_tmp, const amrex::Geometry& geom); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Exec/UniformVelocity/Prob_Parm.H: -------------------------------------------------------------------------------- 1 | #ifndef PROB_PARM_H_ 2 | #define PROB_PARM_H_ 3 | 4 | #include 5 | 6 | // Define the struct to contain problem-specific variables here. 7 | struct ProbParm 8 | { 9 | amrex::Real adv_vel[AMREX_SPACEDIM] = {AMREX_D_DECL(1.0, 1.0, 1.0)}; // Default values 10 | }; 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Source/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += AmrLevelAdv.H Kernels.H 2 | CEXE_sources += AmrLevelAdv.cpp LevelBldAdv.cpp Adv.cpp bc_nullfill.cpp Tagging_params.cpp main.cpp 3 | -------------------------------------------------------------------------------- /Tests/Amr/Advection_AmrLevel/Source/Src_K/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += Adv_K.H flux_$(DIM)d_K.H slope_K.H tagging_K.H 2 | -------------------------------------------------------------------------------- /Tests/AsyncOut/multifab/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/AsyncOut/multifab/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | DIM = 3 5 | COMP = gnu 6 | 7 | USE_MPI = TRUE 8 | USE_OMP = FALSE 9 | USE_CUDA = TRUE 10 | TINY_PROFILE = TRUE 11 | 12 | MPI_THREAD_MULTIPLE = TRUE 13 | 14 | 15 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 16 | 17 | include ./Make.package 18 | include $(AMREX_HOME)/Src/Base/Make.package 19 | 20 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 21 | -------------------------------------------------------------------------------- /Tests/AsyncOut/multifab/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/AsyncOut/multifab/inputs: -------------------------------------------------------------------------------- 1 | ##n_cell = 512 2 | n_boxes_per_rank = 8 3 | max_grid_size = 128 4 | nwork = 10 5 | nwrites = 4 6 | 7 | amrex.async_out = 1 8 | amrex.async_out_nfiles = 2 9 | 10 | #default value 11 | # amrex.async_out = 0 12 | # amrex.async_out_nfiles = 64 13 | -------------------------------------------------------------------------------- /Tests/CLZ/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/CLZ/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../ 2 | 3 | DEBUG = FALSE 4 | DIM = 3 5 | COMP = gcc 6 | 7 | USE_MPI = TRUE 8 | USE_OMP = FALSE 9 | USE_CUDA = FALSE 10 | 11 | TINY_PROFILE = TRUE 12 | 13 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 14 | 15 | include ./Make.package 16 | include $(AMREX_HOME)/Src/Base/Make.package 17 | 18 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 19 | -------------------------------------------------------------------------------- /Tests/CLZ/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/CTOParFor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/CTOParFor/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../ 2 | 3 | DEBUG = FALSE 4 | DIM = 3 5 | COMP = gcc 6 | 7 | USE_MPI = FALSE 8 | USE_OMP = FALSE 9 | USE_CUDA = FALSE 10 | 11 | TINY_PROFILE = FALSE 12 | 13 | CXXSTD = c++17 14 | 15 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 16 | 17 | include ./Make.package 18 | include $(AMREX_HOME)/Src/Base/Make.package 19 | 20 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 21 | -------------------------------------------------------------------------------- /Tests/CTOParFor/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/DeviceGlobal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (( (AMReX_GPU_BACKEND STREQUAL "CUDA") OR 2 | (AMReX_GPU_BACKEND STREQUAL "HIP" ) ) AND 3 | (NOT AMReX_GPU_RDC)) 4 | return() 5 | endif () 6 | 7 | if (WIN32) 8 | return() 9 | endif() 10 | 11 | foreach(D IN LISTS AMReX_SPACEDIM) 12 | set(_sources main.cpp global_vars.cpp init.cpp work.cpp) 13 | set(_input_files) 14 | 15 | setup_test(${D} _sources _input_files) 16 | 17 | unset(_sources) 18 | unset(_input_files) 19 | endforeach() 20 | -------------------------------------------------------------------------------- /Tests/DeviceGlobal/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME ?= ../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_CUDA = TRUE 10 | USE_HIP = FALSE 11 | USE_SYCL = FALSE 12 | 13 | USE_MPI = FALSE 14 | USE_OMP = FALSE 15 | 16 | BL_NO_FORT = TRUE 17 | 18 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 19 | 20 | include ./Make.package 21 | include $(AMREX_HOME)/Src/Base/Make.package 22 | 23 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 24 | -------------------------------------------------------------------------------- /Tests/DeviceGlobal/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp init.cpp work.cpp global_vars.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/DeviceGlobal/global_vars.H: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | extern AMREX_DEVICE_GLOBAL_VARIABLE(amrex::Long, dg_x); 7 | extern AMREX_DEVICE_GLOBAL_VARIABLE(amrex::Long, 4, dg_y); 8 | -------------------------------------------------------------------------------- /Tests/DeviceGlobal/global_vars.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "global_vars.H" 3 | 4 | // definitions of global variables 5 | 6 | AMREX_DEVICE_GLOBAL_VARIABLE(amrex::Long, dg_x); 7 | AMREX_DEVICE_GLOBAL_VARIABLE(amrex::Long, 4, dg_y); 8 | -------------------------------------------------------------------------------- /Tests/DeviceGlobal/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | void init(); 5 | void work(); 6 | void init2(); 7 | void work2(); 8 | 9 | int main (int argc, char* argv[]) 10 | { 11 | amrex::Initialize(argc,argv); 12 | { 13 | init(); 14 | work(); 15 | 16 | init2(); 17 | work2(); 18 | } 19 | amrex::Finalize(); 20 | } 21 | -------------------------------------------------------------------------------- /Tests/DivFreePatch/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/DivFreePatch/inputs: -------------------------------------------------------------------------------- 1 | n_cell = 64 2 | f_offset = 8 3 | 4 | max_grid_size = 128 5 | 6 | # For testing nested vs. non-nested InterpFromCoarse 7 | #nghost_f = 1 8 | 9 | #c_hi = 64 64 10 | #f_lo = 4 4 11 | #f_hi = 16 16 12 | 13 | amrex.v = 1 14 | amrex.async_out = 0 # If we use more than 64 processes, async_out will require MPI_THREAD_MULTIPLE 15 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Exec/Combustor/GNUmakefile: -------------------------------------------------------------------------------- 1 | TINY_PROFILE = TRUE 2 | #PROFILE=FALSE 3 | #MEM_PROFILE=TRUE 4 | #TRACE_PROFILE=TRUE 5 | #COMM_PROFILE=TRUE 6 | #USE_PROFPARSER=TRUE 7 | 8 | DEBUG = FALSE 9 | 10 | USE_MPI = TRUE 11 | USE_OMP = FALSE 12 | 13 | include ./Make.package 14 | include ../Make.CNS 15 | 16 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Exec/Combustor/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += cns_prob.F90 3 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Exec/Pulse/GNUmakefile: -------------------------------------------------------------------------------- 1 | TINY_PROFILE = FALSE 2 | 3 | DEBUG = TRUE 4 | DIM=3 5 | USE_MPI = FALSE 6 | USE_OMP = FALSE 7 | 8 | include ./Make.package 9 | include ../Make.CNS 10 | 11 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Exec/Pulse/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += cns_prob.F90 3 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Exec/ShockRef/GNUmakefile: -------------------------------------------------------------------------------- 1 | TINY_PROFILE = FALSE 2 | 3 | DEBUG = FALSE 4 | 5 | USE_MPI = TRUE 6 | USE_OMP = FALSE 7 | 8 | include ./Make.package 9 | include ../Make.CNS 10 | 11 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Exec/ShockRef/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += cns_prob.F90 3 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Exec/Sod/GNUmakefile: -------------------------------------------------------------------------------- 1 | TINY_PROFILE = FALSE 2 | 3 | DEBUG = FALSE 4 | DIM=3 5 | USE_MPI = TRUE 6 | USE_OMP = FALSE 7 | 8 | include ./Make.package 9 | include ../Make.CNS 10 | 11 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Exec/Sod/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += cns_prob.F90 3 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Source/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | 4 | CEXE_headers += CNS.H 5 | CEXE_headers += CNS_F.H 6 | 7 | CEXE_sources += CNS_advance.cpp 8 | CEXE_sources += CNS.cpp 9 | CEXE_sources += CNSBld.cpp 10 | CEXE_sources += CNS_io.cpp 11 | CEXE_sources += CNS_setup.cpp 12 | 13 | CEXE_sources += CNS_init_eb2.cpp 14 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Source/diffusion/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += cns_diff_mod.F90 3 | F90EXE_sources += cns_eb_diff_mod.F90 4 | F90EXE_sources += cns_eb_diff_wall.F90 5 | F90EXE_sources += diff_coef_mod.F90 6 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Source/fortran/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += CNS_f.F90 3 | F90EXE_sources += CNS_nd.F90 4 | F90EXE_sources += CNS_physics.F90 5 | F90EXE_sources += CNS_derive.F90 6 | F90EXE_sources += bc_fill_nd.F90 7 | F90EXE_sources += CNS_dudt.F90 8 | F90EXE_sources += CNS_divop.F90 9 | F90EXE_sources += CNS_tagging.F90 10 | -------------------------------------------------------------------------------- /Tests/EB/CNS/Source/hydro/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += Hyp_gamma_MOL.F90 3 | F90EXE_sources += Hyp_gamma_MOL_EB.F90 4 | 5 | F90EXE_sources += slope_mol_3d_gamma.F90 6 | F90EXE_sources += slope_mol_3d_gamma_EB.F90 7 | 8 | F90EXE_sources += analriem3d.F90 9 | 10 | F90EXE_sources += cns_eb_hyp_wall.F90 11 | 12 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Combustor/GNUmakefile: -------------------------------------------------------------------------------- 1 | DIM = 3 2 | 3 | DEBUG = FALSE 4 | 5 | USE_MPI = TRUE 6 | USE_OMP = FALSE 7 | 8 | TINY_PROFILE = TRUE 9 | 10 | #PROFILE=FALSE 11 | #MEM_PROFILE=TRUE 12 | #TRACE_PROFILE=TRUE 13 | #COMM_PROFILE=TRUE 14 | #USE_PROFPARSER=TRUE 15 | 16 | 17 | include ./Make.package 18 | include ../Make.CNS 19 | 20 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Combustor/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += cns_prob.H cns_prob_parm.H 2 | CEXE_sources += cns_prob.cpp cns_prob_parm.cpp 3 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Combustor/cns_prob_parm.H: -------------------------------------------------------------------------------- 1 | #ifndef CNS_PROB_PARM_H_ 2 | #define CNS_PROB_PARM_H_ 3 | 4 | #include 5 | 6 | using namespace amrex::literals; 7 | 8 | struct ProbParm 9 | { 10 | amrex::Real inflow_T = 300.0; 11 | amrex::Real inflow_p = 1.0e6; 12 | amrex::Real inflow_mach = 0.8; 13 | amrex::Real interior_T = 1500.0; 14 | amrex::Real interior_p = 1.0e6; 15 | 16 | amrex::Real* inflow_state = nullptr; 17 | 18 | ProbParm (); 19 | ~ProbParm (); 20 | }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Combustor/cns_prob_parm.cpp: -------------------------------------------------------------------------------- 1 | #include "cns_prob_parm.H" 2 | #include "CNS.H" 3 | #include "CNS_index_macros.H" 4 | 5 | #include 6 | 7 | ProbParm::ProbParm () 8 | { 9 | inflow_state = (amrex::Real*)The_Arena()->alloc(sizeof(Real)*NUM_STATE); 10 | } 11 | 12 | ProbParm::~ProbParm () 13 | { 14 | The_Arena()->free(inflow_state); 15 | } 16 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Pulse/GNUmakefile: -------------------------------------------------------------------------------- 1 | DIM = 3 2 | 3 | TINY_PROFILE = FALSE 4 | 5 | DEBUG = FALSE 6 | 7 | USE_MPI = TRUE 8 | USE_OMP = FALSE 9 | 10 | include ./Make.package 11 | include ../Make.CNS 12 | 13 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Pulse/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += cns_prob.H cns_prob_parm.H 2 | CEXE_sources += cns_prob.cpp 3 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Pulse/cns_prob_parm.H: -------------------------------------------------------------------------------- 1 | #ifndef CNS_PROB_PARM_H_ 2 | #define CNS_PROB_PARM_H_ 3 | 4 | #include 5 | #include 6 | 7 | using namespace amrex::literals; 8 | 9 | struct ProbParm 10 | { 11 | amrex::Real rpulse = 0.5; 12 | amrex::Real rho0 = 1.2e-3; 13 | amrex::Real drho0 = 1.2e-4; 14 | amrex::Real p0 = 1.01325e6; 15 | }; 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/ShockRef/GNUmakefile: -------------------------------------------------------------------------------- 1 | DIM = 3 2 | 3 | TINY_PROFILE = FALSE 4 | 5 | DEBUG = FALSE 6 | 7 | USE_MPI = TRUE 8 | USE_OMP = FALSE 9 | 10 | include ./Make.package 11 | include ../Make.CNS 12 | 13 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/ShockRef/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += cns_prob.H cns_prob_parm.H 2 | CEXE_sources += cns_prob.cpp 3 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/ShockRef/cns_prob_parm.H: -------------------------------------------------------------------------------- 1 | #ifndef CNS_PROB_PARM_H_ 2 | #define CNS_PROB_PARM_H_ 3 | 4 | #include 5 | #include 6 | 7 | using namespace amrex::literals; 8 | 9 | struct ProbParm 10 | { 11 | amrex::Real p0 = 1.95e4; 12 | amrex::Real p1 = 7.42e6; 13 | amrex::Real rho0 = 3.29e-5; 14 | amrex::Real rho1 = 3.61e-4; 15 | amrex::Real v0 = 0.0; 16 | amrex::Real v1 = 0.0; 17 | amrex::Real x1 = 4.2; 18 | }; 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Sod/GNUmakefile: -------------------------------------------------------------------------------- 1 | DIM = 3 2 | 3 | TINY_PROFILE = FALSE 4 | 5 | DEBUG = FALSE 6 | 7 | USE_MPI = TRUE 8 | USE_OMP = FALSE 9 | 10 | include ./Make.package 11 | include ../Make.CNS 12 | 13 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Sod/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += cns_prob.H cns_prob_parm.H 2 | CEXE_sources += cns_prob.cpp 3 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Exec/Sod/cns_prob_parm.H: -------------------------------------------------------------------------------- 1 | #ifndef CNS_PROB_PARM_H_ 2 | #define CNS_PROB_PARM_H_ 3 | 4 | #include 5 | #include 6 | 7 | using namespace amrex::literals; 8 | 9 | struct ProbParm 10 | { 11 | amrex::Real p_l = 1.0; 12 | amrex::Real p_r = 0.1; 13 | amrex::Real rho_l = 1.0; 14 | amrex::Real rho_r = 0.125; 15 | amrex::Real u_l = 0.0; 16 | amrex::Real u_r = 0.0; 17 | }; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Source/CNS_parm.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | void Parm::Initialize () 5 | { 6 | constexpr auto Ru = amrex::Real(8.31451e7); 7 | cv = Ru / (eos_mu * (eos_gamma-amrex::Real(1.0))); 8 | cp = eos_gamma * Ru / (eos_mu * (eos_gamma-amrex::Real(1.0))); 9 | } 10 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Source/diffusion/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += CNS_diffusion_K.H 2 | CEXE_headers += CNS_diffusion_eb_K.H 3 | -------------------------------------------------------------------------------- /Tests/EB_CNS/Source/hydro/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += CNS_divop_K.H 2 | CEXE_headers += CNS_hydro_K.H 3 | CEXE_headers += CNS_hydro_eb_K.H 4 | 5 | -------------------------------------------------------------------------------- /Tests/Enum/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Enum/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = FALSE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | BL_NO_FORT = TRUE 16 | 17 | TINY_PROFILE = FALSE 18 | 19 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 20 | 21 | include ./Make.package 22 | include $(AMREX_HOME)/Src/Base/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/Enum/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Enum/inputs: -------------------------------------------------------------------------------- 1 | 2 | color1 = red 3 | color2 = green 4 | color3 = blue 5 | color4 = greenxxx 6 | color5 = Blue 7 | color6 = G-r-e-e.n 8 | 9 | colors = cyan yellow orange 10 | -------------------------------------------------------------------------------- /Tests/FFT/Batch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | 4 | set(_input_files) 5 | 6 | setup_test(${D} _sources _input_files) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/FFT/Batch/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | USE_FFT = TRUE 16 | 17 | BL_NO_FORT = TRUE 18 | 19 | TINY_PROFILE = FALSE 20 | 21 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 22 | 23 | include ./Make.package 24 | include $(AMREX_HOME)/Src/Base/Make.package 25 | 26 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 27 | -------------------------------------------------------------------------------- /Tests/FFT/Batch/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/FFT/C2C/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | 4 | set(_input_files) 5 | 6 | setup_test(${D} _sources _input_files) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/FFT/C2C/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | USE_FFT = TRUE 16 | 17 | BL_NO_FORT = TRUE 18 | 19 | TINY_PROFILE = FALSE 20 | 21 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 22 | 23 | include ./Make.package 24 | include $(AMREX_HOME)/Src/Base/Make.package 25 | 26 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 27 | -------------------------------------------------------------------------------- /Tests/FFT/C2C/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/FFT/OpenBC/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (NOT (3 IN_LIST AMReX_SPACEDIM)) 2 | return() 3 | endif() 4 | 5 | set(_sources main.cpp) 6 | 7 | set(_input_files) 8 | 9 | setup_test(3 _sources _input_files) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | -------------------------------------------------------------------------------- /Tests/FFT/OpenBC/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | USE_FFT = TRUE 16 | 17 | BL_NO_FORT = TRUE 18 | 19 | TINY_PROFILE = FALSE 20 | 21 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 22 | 23 | include ./Make.package 24 | include $(AMREX_HOME)/Src/Base/Make.package 25 | 26 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 27 | -------------------------------------------------------------------------------- /Tests/FFT/OpenBC/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/FFT/Poisson/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | 4 | set(_input_files) 5 | 6 | setup_test(${D} _sources _input_files) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/FFT/Poisson/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | USE_FFT = TRUE 16 | 17 | BL_NO_FORT = TRUE 18 | 19 | TINY_PROFILE = FALSE 20 | 21 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 22 | 23 | include ./Make.package 24 | include $(AMREX_HOME)/Src/Base/Make.package 25 | 26 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 27 | -------------------------------------------------------------------------------- /Tests/FFT/Poisson/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/FFT/R2C/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | 4 | set(_input_files) 5 | 6 | setup_test(${D} _sources _input_files) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/FFT/R2C/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | USE_FFT = TRUE 16 | 17 | BL_NO_FORT = TRUE 18 | 19 | TINY_PROFILE = FALSE 20 | 21 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 22 | 23 | include ./Make.package 24 | include $(AMREX_HOME)/Src/Base/Make.package 25 | 26 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 27 | -------------------------------------------------------------------------------- /Tests/FFT/R2C/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/FFT/R2X/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | 4 | set(_input_files) 5 | 6 | setup_test(${D} _sources _input_files) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/FFT/R2X/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | USE_FFT = TRUE 16 | 17 | BL_NO_FORT = TRUE 18 | 19 | TINY_PROFILE = FALSE 20 | 21 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 22 | 23 | include ./Make.package 24 | include $(AMREX_HOME)/Src/Base/Make.package 25 | 26 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 27 | -------------------------------------------------------------------------------- /Tests/FFT/R2X/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/FFT/RawPtr/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | 4 | set(_input_files) 5 | 6 | setup_test(${D} _sources _input_files) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/FFT/RawPtr/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | USE_FFT = TRUE 16 | 17 | BL_NO_FORT = TRUE 18 | 19 | TINY_PROFILE = FALSE 20 | 21 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 22 | 23 | include ./Make.package 24 | include $(AMREX_HOME)/Src/Base/Make.package 25 | 26 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 27 | -------------------------------------------------------------------------------- /Tests/FFT/RawPtr/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/FillBoundaryComparison/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files ba.max) 4 | 5 | setup_test(${D} _sources _input_files CMDLINE_PARAMS nrounds=1) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/FillBoundaryComparison/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_F/Exec/SingleVortex/GNUmakefile: -------------------------------------------------------------------------------- 1 | 2 | DEBUG = TRUE 3 | DEBUG = FALSE 4 | 5 | USE_MPI = TRUE 6 | USE_OMP = FALSE 7 | USE_MPI3 = FALSE 8 | 9 | MEM_PROFILE = FALSE 10 | TINY_PROFILE = FALSE 11 | 12 | COMP = gnu 13 | 14 | DIM = 2 15 | #DIM = 3 16 | 17 | USE_PARTICLES = TRUE 18 | USE_F_INTERFACES = TRUE 19 | 20 | Bpack := ./Make.package 21 | Blocs := . 22 | 23 | include ../Make.Adv 24 | 25 | 26 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_F/Exec/SingleVortex/Make.package: -------------------------------------------------------------------------------- 1 | f90EXE_sources += Prob_$(DIM)d.f90 2 | 3 | F90EXE_sources += face_velocity_$(DIM)d.F90 4 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_F/README: -------------------------------------------------------------------------------- 1 | AMR_Adv_CF: This code advects a single scalar field with a velocity 2 | field that is specified on faces. 3 | 4 | It is a AMReX based code designed to run in parallel using MPI/OMP. 5 | It uses the Fortran interfaces of AMReX. 6 | 7 | The directory Exec/SingleVortex includes a makefile and a sample inputs file. 8 | Plotfiles are generated that can be viewed with amrvis2d / amrvis3d. 9 | (CCSE's native vis / spreadsheet tool, downloadable separately from ccse.lbl.gov) 10 | or with Visit. 11 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_F/Source/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += fmain.F90 my_amr_mod.F90 initdata.F90 tagging_mod.F90 plotfile_mod.F90 3 | F90EXE_sources += averagedown_mod.F90 evolve_mod.F90 compute_dt_mod.F90 fillpatch_mod.F90 4 | F90EXE_sources += amr_data_mod.F90 bc_mod.F90 5 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_F/Source/Src_2d/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += advect_$(DIM)d_mod.F90 3 | 4 | f90EXE_sources += compute_flux_$(DIM)d.f90 slope_$(DIM)d.f90 5 | 6 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_F/Source/Src_3d/Make.package: -------------------------------------------------------------------------------- 1 | F90EXE_sources += advect_$(DIM)d_mod.F90 2 | f90EXE_sources += slope_$(DIM)d.f90 3 | f90EXE_sources += compute_flux_$(DIM)d.f90 4 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_F/Source/bc_mod.F90: -------------------------------------------------------------------------------- 1 | 2 | module bc_module 3 | 4 | use amrex_base_module 5 | 6 | implicit none 7 | 8 | ! periodic bc. See amrex_bc_types_module for a list of bc types. 9 | integer, save :: lo_bc(amrex_spacedim,1) = amrex_bc_int_dir ! the second dimension is the 10 | integer, save :: hi_bc(amrex_spacedim,1) = amrex_bc_int_dir ! number of components 11 | 12 | end module bc_module 13 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_F/Source/fmain.F90: -------------------------------------------------------------------------------- 1 | 2 | program main 3 | 4 | use amrex_amr_module 5 | 6 | use my_amr_module 7 | use initdata_module 8 | use evolve_module 9 | 10 | implicit none 11 | 12 | call amrex_init() 13 | call amrex_amrcore_init() 14 | 15 | call my_amr_init() 16 | 17 | call initdata() 18 | 19 | call evolve() 20 | 21 | call my_amr_finalize() 22 | 23 | call amrex_amrcore_finalize() 24 | call amrex_finalize() 25 | 26 | end program main 27 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_octree_F/Exec/SingleVortex/GNUmakefile: -------------------------------------------------------------------------------- 1 | 2 | DEBUG = TRUE 3 | 4 | USE_MPI = TRUE 5 | USE_OMP = FALSE 6 | USE_MPI3 = FALSE 7 | 8 | MEM_PROFILE = FALSE 9 | TINY_PROFILE = FALSE 10 | 11 | COMP = gnu 12 | USE_F_INTERFACES = TRUE 13 | 14 | DIM = 2 15 | #DIM = 3 16 | 17 | Bpack := ./Make.package 18 | Blocs := . 19 | 20 | include ../Make.Adv 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_octree_F/Exec/SingleVortex/Make.package: -------------------------------------------------------------------------------- 1 | f90EXE_sources += Prob.f90 2 | 3 | F90EXE_sources += face_velocity_$(DIM)d.F90 4 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_octree_F/Source/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += fmain.F90 my_amr_mod.F90 initdata.F90 tagging_mod.F90 plotfile_mod.F90 3 | F90EXE_sources += averagedown_mod.F90 evolve_mod.F90 compute_dt_mod.F90 fillpatch_mod.F90 4 | F90EXE_sources += amr_data_mod.F90 bc_mod.F90 5 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_octree_F/Source/Src_2d/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += advect_$(DIM)d_mod.F90 3 | 4 | f90EXE_sources += compute_flux_$(DIM)d.f90 slope_$(DIM)d.f90 5 | 6 | -------------------------------------------------------------------------------- /Tests/FortranInterface/Advection_octree_F/Source/bc_mod.F90: -------------------------------------------------------------------------------- 1 | 2 | module bc_module 3 | 4 | use amrex_base_module 5 | 6 | implicit none 7 | 8 | ! periodic bc. See amrex_bc_types_module for a list of bc types. 9 | integer, parameter :: lo_bc(amrex_spacedim,1) = amrex_bc_int_dir ! the second dimension is the 10 | integer, parameter :: hi_bc(amrex_spacedim,1) = amrex_bc_int_dir ! number of components 11 | 12 | contains 13 | 14 | end module bc_module 15 | -------------------------------------------------------------------------------- /Tests/GPU/AnyOf/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/GPU/AnyOf/inputs: -------------------------------------------------------------------------------- 1 | ncell = 128 2 | ncomp = 1 3 | nitem = 100000 4 | max_grid_size = 64 5 | nghost = 0 6 | 7 | fabarray.maxcomp = 25 8 | 9 | amrex.v = 1 10 | amrex.async_out = 0 11 | -------------------------------------------------------------------------------- /Tests/GPU/AtomicIf/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_CUDA = FALSE 10 | USE_ACC = FALSE 11 | USE_OMP_OFFLOAD = FALSE 12 | 13 | USE_MPI = FALSE 14 | USE_OMP = FALSE 15 | 16 | TINY_PROFILE = FALSE 17 | 18 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 19 | 20 | include ./Make.package 21 | include $(AMREX_HOME)/Src/Base/Make.package 22 | 23 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 24 | -------------------------------------------------------------------------------- /Tests/GPU/AtomicIf/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Exec/RT/GNUmakefile: -------------------------------------------------------------------------------- 1 | TINY_PROFILE = TRUE 2 | 3 | DEBUG = FALSE 4 | DIM=3 5 | USE_MPI = TRUE 6 | USE_OMP = FALSE 7 | 8 | USE_CUDA = TRUE 9 | COMP = gcc 10 | 11 | include ./Make.package 12 | include ../Make.CNS 13 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Exec/RT/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_headers += cns_prob.H cns_prob_parm.H 3 | CEXE_sources += cns_prob.cpp 4 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Exec/RT/cns_prob_parm.H: -------------------------------------------------------------------------------- 1 | #ifndef CNS_PROB_PARM_H_ 2 | #define CNS_PROB_PARM_H_ 3 | 4 | #include 5 | #include 6 | 7 | using namespace amrex::literals; 8 | 9 | struct ProbParm 10 | { 11 | amrex::Real rho_1 = 0.5; 12 | amrex::Real rho_2 = 2.0; 13 | amrex::Real p0_base = 5.0; 14 | }; 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Exec/Sod/GNUmakefile: -------------------------------------------------------------------------------- 1 | TINY_PROFILE = TRUE 2 | 3 | DEBUG = FALSE 4 | DIM=3 5 | USE_MPI = TRUE 6 | USE_OMP = FALSE 7 | 8 | USE_CUDA = TRUE 9 | COMP = gcc 10 | 11 | include ./Make.package 12 | include ../Make.CNS 13 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Exec/Sod/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_headers += cns_prob.H cns_prob_parm.H 3 | CEXE_sources += cns_prob.cpp 4 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Exec/Sod/cns_prob_parm.H: -------------------------------------------------------------------------------- 1 | #ifndef CNS_PROB_PARM_H_ 2 | #define CNS_PROB_PARM_H_ 3 | 4 | #include 5 | #include 6 | 7 | using namespace amrex::literals; 8 | 9 | struct ProbParm 10 | { 11 | amrex::Real p_l = 1.0; 12 | amrex::Real p_r = 0.1; 13 | amrex::Real rho_l = 1.0; 14 | amrex::Real rho_r = 0.125; 15 | amrex::Real u_l = 0.0; 16 | amrex::Real u_r = 0.0; 17 | }; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Source/CNS_index_macros.H: -------------------------------------------------------------------------------- 1 | #ifndef CNS_INDEX_H_ 2 | #define CNS_INDEX_H_ 3 | 4 | #define URHO 0 5 | #define UMX 1 6 | #define UMY 2 7 | #define UMZ 3 8 | #define UEDEN 4 9 | #define UEINT 5 10 | #define UTEMP 6 11 | #define NCONS 7 12 | 13 | #define QRHO 0 14 | #define QU 1 15 | #define QV 2 16 | #define QW 3 17 | #define QPRES 4 18 | #define QCS 5 19 | #define QEINT 6 20 | #define QTEMP 7 21 | #define NPRIM 8 22 | 23 | #define CETA 0 24 | #define CXI 1 25 | #define CLAM 2 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Source/CNS_parm.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | void Parm::Initialize () 5 | { 6 | constexpr amrex::Real Ru = amrex::Real(8.31451e7); 7 | cv = Ru / (eos_mu * (eos_gamma-amrex::Real(1.0))); 8 | cp = eos_gamma * Ru / (eos_mu * (eos_gamma-amrex::Real(1.0))); 9 | } 10 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Source/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | 4 | CEXE_headers += CNS.H CNS_K.H CNS_index_macros.H CNS_tagging.H CNS_derive.H 5 | CEXE_sources += CNS_advance.cpp CNS.cpp CNSBld.cpp CNS_io.cpp CNS_setup.cpp CNS_bcfill.cpp CNS_derive.cpp 6 | 7 | CEXE_headers += CNS_parm.H 8 | CEXE_sources += CNS_parm.cpp 9 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Source/diffusion/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += CNS_diffusion_K.H 2 | -------------------------------------------------------------------------------- /Tests/GPU/CNS/Source/hydro/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_headers += CNS_hydro_K.H 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/GPU/RandomNumberGeneration/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_CUDA = TRUE 10 | USE_HIP = FALSE 11 | USE_ACC = FALSE 12 | USE_OMP_OFFLOAD = FALSE 13 | 14 | USE_MPI = FALSE 15 | USE_OMP = FALSE 16 | 17 | TINY_PROFILE = TRUE 18 | 19 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 20 | 21 | include ./Make.package 22 | include $(AMREX_HOME)/Src/Base/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/GPU/RandomNumberGeneration/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/GPU/RandomNumberGeneration/inputs: -------------------------------------------------------------------------------- 1 | num_draw = 1000000 2 | -------------------------------------------------------------------------------- /Tests/GPU/Vector/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_CUDA = FALSE 10 | USE_ACC = FALSE 11 | USE_OMP_OFFLOAD = FALSE 12 | 13 | USE_MPI = FALSE 14 | USE_OMP = FALSE 15 | 16 | TINY_PROFILE = FALSE 17 | 18 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 19 | 20 | include ./Make.package 21 | include $(AMREX_HOME)/Src/Base/Make.package 22 | 23 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 24 | -------------------------------------------------------------------------------- /Tests/GPU/Vector/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/GPU/Vector/inputs: -------------------------------------------------------------------------------- 1 | amrex.the_arena_is_managed = 0 2 | -------------------------------------------------------------------------------- /Tests/HDF5Benchmark/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # This tests requires particle support 2 | if (NOT AMReX_PARTICLES) 3 | return() 4 | endif () 5 | 6 | foreach(D IN LISTS AMReX_SPACEDIM) 7 | set(_sources main.cpp) 8 | set(_input_files inputs ) 9 | 10 | setup_test(${D} _sources _input_files) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | endforeach() 15 | -------------------------------------------------------------------------------- /Tests/HDF5Benchmark/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLap_SP/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (WIN32 AND (AMReX_GPU_BACKEND STREQUAL "CUDA")) 2 | return() 3 | endif() 4 | 5 | foreach(D IN LISTS AMReX_SPACEDIM) 6 | if (D EQUAL 1) 7 | continue() 8 | endif () 9 | 10 | set(_sources 11 | main.cpp 12 | MyTest.cpp 13 | initProb.cpp 14 | MyTestPlotfile.cpp 15 | MyTest.H 16 | initProb_K.H) 17 | 18 | set(_input_files inputs) 19 | 20 | setup_test(${D} _sources _input_files) 21 | 22 | unset(_sources) 23 | unset(_input_files) 24 | endforeach() 25 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLap_SP/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp initProb.cpp MyTestPlotfile.cpp 4 | CEXE_headers += MyTest.H 5 | CEXE_headers += initProb_K.H MyTest_K.H 6 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLap_SP/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | int main (int argc, char* argv[]) 6 | { 7 | amrex::Initialize(argc, argv); 8 | 9 | { 10 | BL_PROFILE("main"); 11 | MyTest mytest; 12 | mytest.solve(); 13 | mytest.writePlotfile(); 14 | } 15 | 16 | amrex::Finalize(); 17 | } 18 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | if (D EQUAL 1) 3 | return() 4 | endif () 5 | 6 | set(_sources 7 | main.cpp 8 | MyTest.cpp 9 | initProb.cpp 10 | MyTestPlotfile.cpp 11 | MyTest.H 12 | initProb_K.H) 13 | 14 | set(_input_files inputs-rt-poisson-lev ) 15 | 16 | setup_test(${D} _sources _input_files) 17 | 18 | unset(_sources) 19 | unset(_input_files) 20 | endforeach() 21 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp initProb.cpp MyTestPlotfile.cpp 4 | CEXE_headers += MyTest.H 5 | CEXE_headers += initProb_K.H MyTest_K.H 6 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/inputs: -------------------------------------------------------------------------------- 1 | 2 | max_level = 1 3 | ref_ratio = 2 4 | n_cell = 128 5 | max_grid_size = 64 6 | 7 | composite_solve = 1 # composite solve or level by level? 8 | 9 | # In this tutorial, we set up two examples. 10 | prob_type = 1 11 | # prob_type = 2 12 | 13 | # For MLMG 14 | verbose = 2 15 | bottom_verbose = 0 16 | max_iter = 100 17 | max_fmg_iter = 0 # # of F-cycles before switching to V. To do pure V-cycle, set to 0 18 | linop_maxorder = 2 19 | agglomeration = 1 # Do agglomeration on AMR Level 0? 20 | consolidation = 1 # Do consolidation? 21 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/inputs-inhomNeumann: -------------------------------------------------------------------------------- 1 | 2 | max_level = 0 3 | n_cell = 128 4 | max_grid_size = 64 5 | 6 | # In this tutorial, we set up two examples. 7 | # prob_type = 1 8 | # prob_type = 2 9 | prob_type = 3 # ABecLaplacian with inhomogeneous Neumann 10 | 11 | # For MLMG 12 | verbose = 2 13 | bottom_verbose = 0 14 | max_iter = 100 15 | max_fmg_iter = 0 # # of F-cycles before switching to V. To do pure V-cycle, set to 0 16 | linop_maxorder = 2 17 | agglomeration = 1 # Do agglomeration on AMR Level 0? 18 | consolidation = 1 # Do consolidation? 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/inputs-mlhypre: -------------------------------------------------------------------------------- 1 | 2 | max_level = 1 3 | ref_ratio = 2 4 | n_cell = 8 5 | max_grid_size = 32 6 | 7 | linop_maxorder = 3 # mlhypre is hardwired to use maxorder=3 8 | 9 | composite_solve = 1 10 | 11 | # In this tutorial, we set up two examples. 12 | prob_type = 1 13 | #prob_type = 2 14 | 15 | amrex.fpe_trap_invalid = 1 16 | amrex.fpe_trap_overflow = 1 17 | amrex.fpe_trap_zero = 1 18 | 19 | use_mlhypre = 1 20 | 21 | verbose = 2 22 | 23 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/inputs-node: -------------------------------------------------------------------------------- 1 | 2 | max_level = 0 3 | ref_ratio = 2 4 | n_cell = 128 5 | max_grid_size = 64 6 | 7 | composite_solve = 0 # composite solve or level by level? 8 | 9 | prob_type = 4 # nodal ABecLaplacian 10 | 11 | # For MLMG 12 | verbose = 2 13 | bottom_verbose = 0 14 | max_iter = 100 15 | agglomeration = 1 # Do agglomeration on AMR Level 0? 16 | consolidation = 1 # Do consolidation? 17 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/inputs.gmres: -------------------------------------------------------------------------------- 1 | 2 | max_level = 0 3 | ref_ratio = 2 4 | n_cell = 128 5 | max_grid_size = 64 6 | 7 | composite_solve = 0 # composite solve or level by level? 8 | 9 | prob_type = 2 10 | 11 | use_gmres = 1 12 | 13 | verbose = 2 14 | 15 | amrex.fpe_trap_invalid = 1 16 | amrex.fpe_trap_zero = 1 17 | amrex.fpe_trap_overflow = 1 18 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | int main (int argc, char* argv[]) 6 | { 7 | amrex::Initialize(argc, argv); 8 | 9 | { 10 | BL_PROFILE("main"); 11 | MyTest mytest; 12 | mytest.solve(); 13 | mytest.writePlotfile(); 14 | } 15 | 16 | amrex::Finalize(); 17 | } 18 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-mpi-1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 1 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 1-MPI.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=1 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=256 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 64 -c 4 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-mpi-16.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 16 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 16-MPI.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=1 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=1024 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 1024 -c 4 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-mpi-2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 2 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 2-MPI.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=1 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=512 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 128 -c 4 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-mpi-32.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 32 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 32-MPI.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=1 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=1024 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 2048 -c 4 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-mpi-4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 4 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 4-MPI.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=1 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=512 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 256 -c 4 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-mpi-64.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 64 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 64-MPI.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=1 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=1024 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 4096 -c 4 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-mpi-8.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 8 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 8-MPI.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=1 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=512 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 512 -c 4 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-omp-1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 1 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 1-OMP.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=8 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=256 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 8 -c 32 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.OMP.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-omp-16.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 16 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 16-OMP.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=8 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=1024 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 128 -c 32 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.OMP.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-omp-2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 2 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 2-OMP.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=8 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=512 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 16 -c 32 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.OMP.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-omp-32.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 32 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 32-OMP.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=8 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=1024 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 256 -c 32 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.OMP.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-omp-4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 4 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 4-OMP.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=8 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=512 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 32 -c 32 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.OMP.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-omp-64.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 64 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 64-OMP.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=8 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=1024 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 512 -c 32 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.OMP.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_C/threadmultiple_test/knl-omp-8.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH -N 8 3 | #SBATCH -C knl 4 | #SBATCH -q debug 5 | #SBATCH -t 00:10:00 6 | #SBATCH -o 8-OMP.out 7 | 8 | #OpenMP settings: 9 | export OMP_NUM_THREADS=8 10 | export OMP_PLACES=threads 11 | export OMP_PROC_BIND=spread 12 | 13 | NCELLS=512 14 | 15 | export MPICH_MAX_THREAD_SAFETY=multiple 16 | 17 | #run the application: 18 | srun -n 64 -c 32 --cpu_bind=cores main3d.gnu.mic-knl.TPROF.MPI.OMP.ex inputs.test n_cell=${NCELLS} 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_F/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | if ( (D EQUAL 1) OR (NOT AMReX_FORTRAN_INTERFACES) ) 3 | continue() 4 | endif () 5 | 6 | set(_sources main.F90 mytest.F90 init_prob.F90) 7 | 8 | file( GLOB_RECURSE _input_files LIST_DIRECTORIES false ${CMAKE_CURRENT_LIST_DIR}/input*) 9 | 10 | setup_test(${D} _sources _input_files HAS_FORTRAN_MODULES) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | endforeach() 15 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_F/Make.package: -------------------------------------------------------------------------------- 1 | 2 | F90EXE_sources += main.F90 mytest.F90 init_prob.F90 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_F/inputs: -------------------------------------------------------------------------------- 1 | 2 | max_level = 1 3 | ref_ratio = 2 4 | n_cell = 128 5 | max_grid_size = 64 6 | 7 | composite_solve = 1 # composite solve or level by level? 8 | 9 | # In this tutorial, we set up two examples. 10 | prob_type = 1 11 | # prob_type = 2 12 | 13 | # For MLMG 14 | verbose = 2 15 | bottom_verbose = 0 16 | max_iter = 100 17 | max_fmg_iter = 0 # # of F-cycles before switching to V. To do pure V-cycle, set to 0 18 | linop_maxorder = 2 19 | agglomeration = 1 # Do agglomeration on AMR Level 0? 20 | consolidation = 1 # Do consolidation? 21 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/ABecLaplacian_F/main.F90: -------------------------------------------------------------------------------- 1 | 2 | program main 3 | 4 | use amrex_base_module, only : amrex_init, amrex_finalize 5 | 6 | use mytest_module, only : init, finalize, solve, write_plotfile 7 | 8 | implicit none 9 | 10 | call amrex_init() 11 | 12 | call init() 13 | 14 | call solve() 15 | 16 | call write_plotfile() 17 | 18 | call finalize() 19 | 20 | call amrex_finalize() 21 | 22 | end program main 23 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellEB/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp initEB.cpp 4 | CEXE_headers += MyTest.H MyEB.H 5 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellEB/inputs: -------------------------------------------------------------------------------- 1 | amrex.fpe_trap_invalid = 1 2 | 3 | #use_petsc = true 4 | eb2.geom_type = sphere 5 | eb2.sphere_center = 0.5 0.5 0.5 6 | eb2.sphere_radius = 0.25 7 | eb2.sphere_has_fluid_inside = 0 8 | 9 | eb2.geom_type = box 10 | eb2.box_lo = 0.23 0.37 0.4 11 | eb2.box_hi = 0.55 0.88 0.7 12 | eb2.box_has_fluid_inside = 0 13 | 14 | eb2.geom_type = two_spheres 15 | 16 | eb2.geom_type = flower 17 | 18 | eb2.geom_type = rotated_box 19 | 20 | eb2.geom_type = sphere 21 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellEB/inputs.rt.2d: -------------------------------------------------------------------------------- 1 | amrex.fpe_trap_invalid = 1 2 | 3 | eb2.geom_type = sphere 4 | eb2.sphere_center = 0.5 0.5 0.5 5 | eb2.sphere_radius = 0.25 6 | eb2.sphere_has_fluid_inside = 0 7 | 8 | eb2.geom_type = box 9 | eb2.box_lo = 0.23 0.37 0.4 10 | eb2.box_hi = 0.55 0.88 0.7 11 | eb2.box_has_fluid_inside = 0 12 | 13 | eb2.geom_type = two_spheres 14 | 15 | eb2.geom_type = flower 16 | 17 | eb2.geom_type = rotated_box 18 | 19 | eb2.geom_type = sphere 20 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellEB/inputs.rt.2d.petsc: -------------------------------------------------------------------------------- 1 | amrex.fpe_trap_invalid = 1 2 | 3 | use_petsc = 1 4 | 5 | eb2.geom_type = sphere 6 | eb2.sphere_center = 0.5 0.5 0.5 7 | eb2.sphere_radius = 0.25 8 | eb2.sphere_has_fluid_inside = 0 9 | 10 | eb2.geom_type = box 11 | eb2.box_lo = 0.23 0.37 0.4 12 | eb2.box_hi = 0.55 0.88 0.7 13 | eb2.box_has_fluid_inside = 0 14 | 15 | eb2.geom_type = two_spheres 16 | 17 | eb2.geom_type = flower 18 | 19 | eb2.geom_type = rotated_box 20 | 21 | eb2.geom_type = sphere 22 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellEB/inputs.rt.3d: -------------------------------------------------------------------------------- 1 | amrex.fpe_trap_invalid = 1 2 | 3 | #use_petsc = true 4 | eb2.geom_type = sphere 5 | eb2.sphere_center = 0.5 0.5 0.5 6 | eb2.sphere_radius = 0.25 7 | eb2.sphere_has_fluid_inside = 0 8 | 9 | eb2.geom_type = box 10 | eb2.box_lo = 0.23 0.37 0.4 11 | eb2.box_hi = 0.55 0.88 0.7 12 | eb2.box_has_fluid_inside = 0 13 | 14 | eb2.geom_type = two_spheres 15 | 16 | eb2.geom_type = flower 17 | 18 | eb2.geom_type = rotated_box 19 | 20 | eb2.geom_type = sphere 21 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellEB/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | int main (int argc, char* argv[]) 6 | { 7 | amrex::Initialize(argc, argv); 8 | 9 | { 10 | BL_PROFILE("main"); 11 | MyTest mytest; 12 | for (int i = 0; i < 1; ++i) { 13 | mytest.solve(); 14 | mytest.writePlotfile(); 15 | } 16 | } 17 | 18 | amrex::Finalize(); 19 | } 20 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellEB2/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp initEB.cpp 4 | CEXE_headers += MyTest.H MyEB.H MyTest_K.H 5 | 6 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellOverset/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | CEXE_sources += MyTest.cpp 3 | CEXE_headers += MyTest.H 4 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CellOverset/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include "MyTest.H" 5 | 6 | int main (int argc, char* argv[]) 7 | { 8 | amrex::Initialize(argc, argv); 9 | 10 | { 11 | MyTest mytest; 12 | mytest.solve(); 13 | mytest.writePlotfile(); 14 | } 15 | 16 | amrex::Finalize(); 17 | } 18 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CurlCurl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | if (D EQUAL 1 OR NOT AMReX_LINEAR_SOLVERS_EM) 3 | return() 4 | endif () 5 | 6 | set(_sources 7 | main.cpp 8 | MyTest.cpp 9 | MyTest.H 10 | initProb.cpp 11 | initProb_K.H) 12 | 13 | set(_input_files inputs) 14 | 15 | setup_test(${D} _sources _input_files) 16 | 17 | unset(_sources) 18 | unset(_input_files) 19 | endforeach() 20 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CurlCurl/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp initProb.cpp 4 | CEXE_headers += MyTest.H 5 | CEXE_headers += initProb_K.H 6 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CurlCurl/inputs: -------------------------------------------------------------------------------- 1 | 2 | n_cell = 128 3 | max_grid_size = 64 4 | 5 | verbose = 2 6 | bottom_verbose = 2 7 | 8 | alpha = 1.0 9 | beta_factor = 0.01 10 | 11 | amrex.fpe_trap_invalid=1 12 | amrex.fpe_trap_zero=1 13 | amrex.fpe_trap_overflow=1 14 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/CurlCurl/main.cpp: -------------------------------------------------------------------------------- 1 | #include "MyTest.H" 2 | 3 | #include 4 | #include 5 | 6 | int main (int argc, char* argv[]) 7 | { 8 | amrex::Initialize(argc, argv); 9 | 10 | { 11 | BL_PROFILE("main"); 12 | MyTest mytest; 13 | mytest.solve(); 14 | } 15 | 16 | amrex::Finalize(); 17 | } 18 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBConvergenceTest/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | CEXE_sources += MyTest.cpp initEB.cpp 3 | F90EXE_sources += RHS.F90 acoef.F90 bcoef.F90 4 | ifeq ($(DIM), 2) 5 | F90EXE_sources += BC_2D.F90 6 | endif 7 | ifeq ($(DIM), 3) 8 | F90EXE_sources += BC_3D.F90 9 | endif 10 | CEXE_headers += MyTest.H MyTest_F.H MyEB.H 11 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBConvergenceTest/inputs: -------------------------------------------------------------------------------- 1 | 2 | amrex.fpe_trap_invalid = 1 3 | n_cell = 32 4 | max_grid_size = 32 5 | eb2.geom_type = sphere 6 | eb2.sphere_center = 0.5 0.5 0.5 7 | eb2.sphere_radius = 0.25 8 | eb2.sphere_has_fluid_inside = 0 9 | 10 | eb2.geom_type = box 11 | eb2.box_lo = 0.23 0.37 12 | eb2.box_hi = 0.55 0.88 13 | eb2.box_has_fluid_inside = 0 14 | 15 | eb2.geom_type = two_spheres 16 | 17 | eb2.geom_type = two_spheres_one_box 18 | 19 | eb2.geom_type = flower 20 | 21 | eb2.geom_type = sphere 22 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBConvergenceTest/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | int main (int argc, char* argv[]) 6 | { 7 | amrex::Initialize(argc, argv); 8 | 9 | { 10 | BL_PROFILE("main"); 11 | MyTest mytest; 12 | for (int i = 0; i < 1; ++i) { 13 | mytest.solve(); 14 | } 15 | } 16 | 17 | amrex::Finalize(); 18 | } 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBTensor/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp MyTestPlotfile.cpp 4 | CEXE_headers += MyTest.H MyTest_$(DIM)D_K.H 5 | 6 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBTensor/inputs.rt.2d: -------------------------------------------------------------------------------- 1 | n_cell = 64 2 | max_grid_size = 32 3 | 4 | eb2.geom_type = sphere 5 | eb2.sphere_center = 0.0 0.0 6 | eb2.sphere_radius = 0.9 7 | eb2.sphere_has_fluid_inside = 1 8 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBTensor/inputs.rt.3d: -------------------------------------------------------------------------------- 1 | n_cell = 64 2 | max_grid_size = 32 3 | 4 | eb2.geom_type = cylinder 5 | eb2.cylinder_direction = 2 6 | eb2.cylinder_center = 0.0 0.0 0.0 7 | eb2.cylinder_radius = 0.9 8 | eb2.cylinder_height = -1.0 9 | eb2.cylinder_has_fluid_inside = 1 10 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBTensor/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | int main (int argc, char* argv[]) 6 | { 7 | amrex::Initialize(argc, argv); 8 | 9 | { 10 | BL_PROFILE("main"); 11 | MyTest mytest; 12 | mytest.solve(); 13 | mytest.writePlotfile(); 14 | } 15 | 16 | amrex::Finalize(); 17 | } 18 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBflux_grad/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp initEB.cpp 4 | CEXE_headers += MyTest.H MyEB.H 5 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBflux_grad/inputs: -------------------------------------------------------------------------------- 1 | amrex.fpe_trap_invalid = 1 2 | 3 | eb2.geom_type = sphere 4 | eb2.sphere_center = 0.5 0.5 0.5 5 | eb2.sphere_radius = 0.25 6 | eb2.sphere_has_fluid_inside = 0 7 | 8 | eb2.geom_type = box 9 | eb2.box_lo = 0.23 0.37 0.4 10 | eb2.box_hi = 0.55 0.88 0.7 11 | eb2.box_has_fluid_inside = 0 12 | 13 | eb2.geom_type = two_spheres 14 | 15 | eb2.geom_type = flower 16 | 17 | eb2.geom_type = rotated_box 18 | 19 | eb2.geom_type = sphere 20 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/EBflux_grad/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | int main (int argc, char* argv[]) 6 | { 7 | amrex::Initialize(argc, argv); 8 | 9 | { 10 | BL_PROFILE("main"); 11 | MyTest mytest; 12 | for (int i = 0; i < 1; ++i) { 13 | mytest.solve(); 14 | } 15 | } 16 | 17 | amrex::Finalize(); 18 | } 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/Hypre/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp initEB.cpp 4 | CEXE_headers += MyTest.H 5 | 6 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/Hypre/initEB.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | using namespace amrex; 6 | 7 | void 8 | MyTest::initializeEB () 9 | { 10 | EB2::Build(geom, 0, 0); 11 | } 12 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/Hypre/inputs.2d: -------------------------------------------------------------------------------- 1 | amrex.fpe_trap_invalid = 1 2 | 3 | verbose = 2 4 | reltol = 1.e-11 5 | 6 | n_cell = 128 7 | max_grid_size = 64 8 | 9 | eb2.geom_type = sphere 10 | eb2.sphere_center = 0.5 0.5 0.5 11 | eb2.sphere_radius = 0.13 12 | eb2.sphere_has_fluid_inside = 0 13 | 14 | #eb2.geom_type = all_regular 15 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/Hypre/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include "MyTest.H" 5 | 6 | int main (int argc, char* argv[]) 7 | { 8 | amrex::Initialize(argc, argv); 9 | 10 | { 11 | BL_PROFILE("main"); 12 | MyTest mytest; 13 | mytest.solve(); 14 | } 15 | 16 | amrex::Finalize(); 17 | } 18 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/LeastSquares/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp initEB.cpp initData.cpp initPoiseuilleData.cpp initPoiseuilleDataFor2D.cpp initPoiseuilleDataFor3D.cpp initTriangleWaveData.cpp initTriangleWaveDataFor2D.cpp 4 | CEXE_headers += MyTest.H MyEB.H 5 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/LeastSquares/initPoiseuilleData.cpp: -------------------------------------------------------------------------------- 1 | #include "MyTest.H" 2 | 3 | void MyTest::initializePoiseuilleData(int ilev) { 4 | #if (AMREX_SPACEDIM == 2) 5 | initializePoiseuilleDataFor2D(ilev); 6 | #else 7 | initializePoiseuilleDataFor3D(ilev); 8 | #endif 9 | } 10 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/LeastSquares/initTriangleWaveData.cpp: -------------------------------------------------------------------------------- 1 | #include "MyTest.H" 2 | 3 | void MyTest::initializeTriangleWaveData(int ilev) { 4 | #if (AMREX_SPACEDIM == 2) 5 | initializeTriangleWaveDataFor2D(ilev); 6 | #endif 7 | } 8 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/LeastSquares/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "MyTest.H" 3 | 4 | int main (int argc, char* argv[]) 5 | { 6 | amrex::Initialize(argc, argv); 7 | 8 | { 9 | BL_PROFILE("main"); 10 | MyTest mytest; 11 | 12 | mytest.compute_gradient(); 13 | 14 | for (int i = 0; i < 1; ++i) { 15 | mytest.apply(); 16 | mytest.writePlotfile(); 17 | } 18 | } 19 | 20 | amrex::Finalize(); 21 | } 22 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalOverset/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | CEXE_sources += MyTest.cpp 3 | CEXE_headers += MyTest.H 4 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalOverset/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include "MyTest.H" 5 | 6 | int main (int argc, char* argv[]) 7 | { 8 | amrex::Initialize(argc, argv); 9 | 10 | { 11 | MyTest mytest; 12 | mytest.solve(); 13 | mytest.writePlotfile(); 14 | } 15 | 16 | amrex::Finalize(); 17 | } 18 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalPoisson/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | if(D EQUAL 1 OR NOT AMReX_LINEAR_SOLVERS_INCFLO) 3 | continue() 4 | endif() 5 | 6 | set(_sources main.cpp MyTest.cpp MyTest.H MyTestPlotfile.cpp) 7 | 8 | set(_input_files inputs-ci) 9 | 10 | setup_test(${D} _sources _input_files) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | endforeach() 15 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalPoisson/GNUmakefile: -------------------------------------------------------------------------------- 1 | DEBUG = FALSE 2 | 3 | USE_MPI = TRUE 4 | USE_OMP = FALSE 5 | USE_HYPRE = FALSE 6 | 7 | COMP = gnu 8 | 9 | DIM = 3 10 | 11 | AMREX_HOME = ../../.. 12 | 13 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 14 | 15 | include ./Make.package 16 | 17 | Pdirs := Base Boundary AmrCore LinearSolvers 18 | 19 | Ppack += $(foreach dir, $(Pdirs), $(AMREX_HOME)/Src/$(dir)/Make.package) 20 | 21 | include $(Ppack) 22 | 23 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 24 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalPoisson/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp MyTestPlotfile.cpp 4 | CEXE_headers += MyTest.H 5 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalPoisson/inputs-ci: -------------------------------------------------------------------------------- 1 | 2 | max_level = 1 3 | ref_ratio = 2 4 | n_cell = 64 5 | max_grid_size = 32 6 | 7 | composite_solve = 1 # composite solve or level by level? 8 | 9 | # For MLMG 10 | verbose = 2 11 | bottom_verbose = 0 12 | max_iter = 100 13 | max_fmg_iter = 0 # # of F-cycles before switching to V. To do pure V-cycle, set to 0 14 | reltol = 1.e-11 15 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalPoisson/inputs-gmres: -------------------------------------------------------------------------------- 1 | 2 | max_level = 1 3 | ref_ratio = 2 4 | n_cell = 128 5 | max_grid_size = 64 6 | 7 | composite_solve = 0 # composite solve or level by level? 8 | use_gmres = 1 9 | domain_ratio = 1.0 10 | 11 | # For MLMG 12 | verbose = 2 13 | bottom_verbose = 0 14 | max_iter = 100 15 | max_fmg_iter = 0 # # of F-cycles before switching to V. To do pure V-cycle, set to 0 16 | reltol = 1.e-11 17 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalPoisson/inputs-rt: -------------------------------------------------------------------------------- 1 | 2 | max_level = 1 3 | ref_ratio = 2 4 | n_cell = 128 5 | max_grid_size = 64 6 | 7 | composite_solve = 1 # composite solve or level by level? 8 | 9 | # For MLMG 10 | verbose = 2 11 | bottom_verbose = 0 12 | max_iter = 100 13 | max_fmg_iter = 0 # # of F-cycles before switching to V. To do pure V-cycle, set to 0 14 | reltol = 1.e-11 15 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodalPoisson/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | int main (int argc, char* argv[]) 6 | { 7 | amrex::Initialize(argc, argv); 8 | 9 | { 10 | BL_PROFILE("main"); 11 | MyTest mytest; 12 | for(int i=0;i 3 | #include 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | 10 | #include "MyTest.H" 11 | 12 | using namespace amrex; 13 | 14 | void 15 | MyTest::initializeEB () 16 | { 17 | // ParmParse pp("eb2"); 18 | // std::string geom_type; 19 | // pp.get("geom_type", geom_type); 20 | 21 | EB2::Build(geom.back(), max_level, max_level+max_coarsening_level); 22 | } 23 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodeEB/inputs.rt.2d: -------------------------------------------------------------------------------- 1 | 2 | n_cell = 128 3 | 4 | max_grid_size = 32 5 | 6 | verbose = 2 7 | bottom_verbose = 0 8 | 9 | # eb2.geom_type = all_regular 10 | 11 | eb2.geom_type = sphere 12 | eb2.sphere_center = 0.7006 0.5521 0.0 13 | eb2.sphere_radius = 0.125 14 | eb2.sphere_has_fluid_inside = 0 15 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodeEB/inputs.rt.3d.x: -------------------------------------------------------------------------------- 1 | 2 | n_cell = 32 3 | n_cell = 64 4 | n_cell = 128 5 | 6 | verbose = 2 7 | bottom_verbose = 0 8 | 9 | max_grid_size = 32 10 | 11 | #eb2.geom_type = all_regular 12 | 13 | eb2.geom_type = cylinder 14 | eb2.cylinder_direction = 0 15 | eb2.cylinder_center = 0.0 0.7006 0.5521 16 | eb2.cylinder_radius = 0.125 17 | eb2.cylinder_height = -1.0 18 | eb2.cylinder_has_fluid_inside = 0 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodeEB/inputs.rt.3d.y: -------------------------------------------------------------------------------- 1 | 2 | n_cell = 32 3 | n_cell = 64 4 | n_cell = 128 5 | 6 | verbose = 2 7 | bottom_verbose = 0 8 | 9 | max_grid_size = 32 10 | 11 | #eb2.geom_type = all_regular 12 | 13 | eb2.geom_type = cylinder 14 | eb2.cylinder_direction = 1 15 | eb2.cylinder_center = 0.5521 0.0 0.7006 16 | eb2.cylinder_radius = 0.125 17 | eb2.cylinder_height = -1.0 18 | eb2.cylinder_has_fluid_inside = 0 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodeEB/inputs.rt.3d.z: -------------------------------------------------------------------------------- 1 | 2 | n_cell = 32 3 | n_cell = 64 4 | n_cell = 128 5 | 6 | verbose = 2 7 | bottom_verbose = 0 8 | 9 | max_grid_size = 32 10 | 11 | #eb2.geom_type = all_regular 12 | 13 | eb2.geom_type = cylinder 14 | eb2.cylinder_direction = 2 15 | eb2.cylinder_center = 0.7006 0.5521 0.0 16 | eb2.cylinder_radius = 0.125 17 | eb2.cylinder_height = -1.0 18 | eb2.cylinder_has_fluid_inside = 0 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodeTensorLap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (AMReX_GPU_BACKEND STREQUAL NONE) 2 | foreach(D IN LISTS AMReX_SPACEDIM) 3 | if(D EQUAL 1 OR NOT AMReX_LINEAR_SOLVERS_EM) 4 | continue() 5 | endif() 6 | 7 | set(_sources main.cpp MyTest.cpp MyTest.H MyTestPlotfile.cpp) 8 | set(_input_files) 9 | 10 | setup_test(${D} _sources _input_files ) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | endforeach() 15 | endif () 16 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodeTensorLap/GNUmakefile: -------------------------------------------------------------------------------- 1 | DEBUG = FALSE 2 | 3 | USE_MPI = TRUE 4 | USE_OMP = FALSE 5 | 6 | USE_HYPRE = FALSE 7 | 8 | COMP = gnu 9 | 10 | DIM = 2 11 | 12 | AMREX_HOME = ../../.. 13 | 14 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 15 | 16 | include ./Make.package 17 | 18 | Pdirs := Base Boundary AmrCore LinearSolvers/MLMG 19 | 20 | Ppack += $(foreach dir, $(Pdirs), $(AMREX_HOME)/Src/$(dir)/Make.package) 21 | 22 | include $(Ppack) 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodeTensorLap/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_sources += main.cpp 3 | CEXE_sources += MyTest.cpp MyTestPlotfile.cpp 4 | CEXE_headers += MyTest.H 5 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/NodeTensorLap/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include "MyTest.H" 4 | 5 | int main (int argc, char* argv[]) 6 | { 7 | amrex::Initialize(argc, argv); 8 | 9 | { 10 | BL_PROFILE("main"); 11 | MyTest mytest; 12 | mytest.solve(); 13 | mytest.compute_norms(); 14 | mytest.writePlotfile(); 15 | } 16 | 17 | amrex::Finalize(); 18 | } 19 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/TensorOverset/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | CEXE_sources += MyTest.cpp 3 | CEXE_headers += MyTest.H MyTest_K.H 4 | -------------------------------------------------------------------------------- /Tests/LinearSolvers/TensorOverset/main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include "MyTest.H" 5 | 6 | int main (int argc, char* argv[]) 7 | { 8 | amrex::Initialize(argc, argv); 9 | 10 | { 11 | MyTest mytest; 12 | mytest.solve(); 13 | mytest.writePlotfile(); 14 | } 15 | 16 | amrex::Finalize(); 17 | } 18 | -------------------------------------------------------------------------------- /Tests/MultiBlock/Advection/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | if(D EQUAL 1) 3 | continue() 4 | endif() 5 | set(_sources main.cpp) 6 | set(_input_files ) 7 | 8 | setup_test(${D} _sources _input_files) 9 | 10 | unset(_sources) 11 | unset(_input_files) 12 | endforeach() 13 | -------------------------------------------------------------------------------- /Tests/MultiBlock/Advection/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | #DEBUG = TRUE 5 | 6 | DIM = 3 7 | 8 | COMP = gcc 9 | 10 | USE_MPI = TRUE 11 | USE_OMP = FALSE 12 | USE_CUDA = FALSE 13 | USE_HIP = FALSE 14 | 15 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 16 | 17 | include ./Make.package 18 | include $(AMREX_HOME)/Src/Base/Make.package 19 | include $(AMREX_HOME)/Src/Boundary/Make.package 20 | include $(AMREX_HOME)/Src/AmrCore/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/MultiBlock/Advection/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/MultiBlock/IndexType/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | if(D EQUAL 1) 3 | continue() 4 | endif() 5 | 6 | set(_sources main.cpp) 7 | set(_input_files ) 8 | 9 | setup_test(${D} _sources _input_files) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Tests/MultiBlock/IndexType/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | #DEBUG = TRUE 5 | 6 | DIM = 3 7 | 8 | COMP = gcc 9 | 10 | USE_MPI = TRUE 11 | USE_OMP = FALSE 12 | USE_CUDA = FALSE 13 | USE_HIP = FALSE 14 | 15 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 16 | 17 | include ./Make.package 18 | include $(AMREX_HOME)/Src/Base/Make.package 19 | 20 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 21 | -------------------------------------------------------------------------------- /Tests/MultiBlock/IndexType/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/MultiPeriod/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/MultiPeriod/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = FALSE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | BL_NO_FORT = TRUE 16 | 17 | TINY_PROFILE = FALSE 18 | 19 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 20 | 21 | include ./Make.package 22 | include $(AMREX_HOME)/Src/Base/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/MultiPeriod/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/OpenMP/atomicAdd/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (NOT AMReX_GPU_BACKEND STREQUAL NONE) 2 | return() 3 | endif () 4 | 5 | foreach(D IN LISTS AMReX_SPACEDIM) 6 | set(_sources main.cpp) 7 | set(_input_files) 8 | 9 | setup_test(${D} _sources _input_files) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Tests/OpenMP/atomicAdd/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../.. 2 | 3 | DEBUG = FALSE 4 | DIM = 3 5 | COMP = gcc 6 | 7 | USE_MPI = FALSE 8 | USE_OMP = TRUE 9 | 10 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 11 | 12 | include ./Make.package 13 | include $(AMREX_HOME)/Src/Base/Make.package 14 | 15 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 16 | -------------------------------------------------------------------------------- /Tests/OpenMP/atomicAdd/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/ParmParse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/ParmParse/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME ?= ../../amrex 2 | 3 | DEBUG = TRUE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = FALSE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | BL_NO_FORT = TRUE 16 | 17 | TINY_PROFILE = FALSE 18 | 19 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 20 | 21 | include ./Make.package 22 | include $(AMREX_HOME)/Src/Base/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/ParmParse/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Parser/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Parser/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = FALSE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | BL_NO_FORT = TRUE 16 | 17 | TINY_PROFILE = FALSE 18 | 19 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 20 | 21 | include ./Make.package 22 | include $(AMREX_HOME)/Src/Base/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/Parser/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Parser2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp fn.cpp) 3 | set(_input_files fn.cpp) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Parser2/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = FALSE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | BL_NO_FORT = TRUE 16 | 17 | TINY_PROFILE = FALSE 18 | 19 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 20 | 21 | include ./Make.package 22 | include $(AMREX_HOME)/Src/Base/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/Parser2/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp fn.cpp 2 | -------------------------------------------------------------------------------- /Tests/ParserUserFn/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp my_fn.H my_fn.cpp) 3 | set(_input_files) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/ParserUserFn/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = FALSE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | BL_NO_FORT = TRUE 16 | 17 | TINY_PROFILE = FALSE 18 | 19 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 20 | 21 | include ./Make.package 22 | include $(AMREX_HOME)/Src/Base/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/ParserUserFn/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp my_fn.cpp 2 | CEXE_headers += my_fn.H 3 | -------------------------------------------------------------------------------- /Tests/Particles/Ascent_Insitu_SOA/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if ( NOT AMReX_ASCENT ) 2 | return () 3 | endif () 4 | 5 | foreach(D IN LISTS AMReX_SPACEDIM) 6 | set(_sources main.cpp) 7 | set(_input_files inputs.rt ) 8 | 9 | setup_test(${D} _sources _input_files NTASKS 2) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Tests/Particles/Ascent_Insitu_SOA/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | USE_ASCENT = TRUE 16 | 17 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 18 | 19 | include ./Make.package 20 | include $(AMREX_HOME)/Src/Base/Make.package 21 | include $(AMREX_HOME)/Src/Particle/Make.package 22 | include $(AMREX_HOME)/Src/Extern/Conduit/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/Particles/Ascent_Insitu_SOA/inputs.rt: -------------------------------------------------------------------------------- 1 | ascent.size = (32, 64, 64) 2 | ascent.max_grid_size = 32 3 | ascent.is_periodic = 1 4 | ascent.num_ppc = 1 5 | ascent.nlevs = 1 6 | 7 | ascent.num_runtime_real = 0 8 | ascent.num_runtime_int = 0 9 | 10 | particles.do_tiling = 1 11 | -------------------------------------------------------------------------------- /Tests/Particles/AssignDensity/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/AssignDensity/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/AssignMultiLevelDensity/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/AssignMultiLevelDensity/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/AsyncIO/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/AsyncIO/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/CheckpointRestart/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # This tests requires particle support 2 | if (NOT AMReX_PARTICLES) 3 | return() 4 | endif () 5 | 6 | foreach(D IN LISTS AMReX_SPACEDIM) 7 | set(_sources main.cpp) 8 | set(_input_files inputs ) 9 | 10 | setup_test(${D} _sources _input_files) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | endforeach() 15 | -------------------------------------------------------------------------------- /Tests/Particles/CheckpointRestart/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Particles/CheckpointRestartSOA/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # This tests requires particle support 2 | if (NOT AMReX_PARTICLES) 3 | return() 4 | endif () 5 | 6 | foreach(D IN LISTS AMReX_SPACEDIM) 7 | set(_sources main.cpp) 8 | set(_input_files inputs) 9 | 10 | setup_test(${D} _sources _input_files) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | endforeach() 15 | -------------------------------------------------------------------------------- /Tests/Particles/CheckpointRestartSOA/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Particles/CheckpointRestartSOA_AsyncIO/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # This tests requires particle support 2 | if (NOT AMReX_PARTICLES) 3 | return() 4 | endif () 5 | 6 | foreach(D IN LISTS AMReX_SPACEDIM) 7 | set(_sources main.cpp) 8 | set(_input_files inputs) 9 | 10 | setup_test(${D} _sources _input_files) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | endforeach() 15 | -------------------------------------------------------------------------------- /Tests/Particles/CheckpointRestartSOA_AsyncIO/GNUmakefile: -------------------------------------------------------------------------------- 1 | ../CheckpointRestartSOA/GNUmakefile -------------------------------------------------------------------------------- /Tests/Particles/CheckpointRestartSOA_AsyncIO/Make.package: -------------------------------------------------------------------------------- 1 | ../CheckpointRestartSOA/Make.package -------------------------------------------------------------------------------- /Tests/Particles/CheckpointRestartSOA_AsyncIO/main.cpp: -------------------------------------------------------------------------------- 1 | ../CheckpointRestartSOA/main.cpp -------------------------------------------------------------------------------- /Tests/Particles/DenseBins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/DenseBins/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/DenseBins/inputs: -------------------------------------------------------------------------------- 1 | amrex.the_arena_is_managed = 1 2 | nitems = 100000017 3 | nbins = 5000 4 | 5 | #nitems = 20 6 | #nbins = 4 7 | -------------------------------------------------------------------------------- /Tests/Particles/GhostsAndVirtuals/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if ( NOT (3 IN_LIST AMReX_SPACEDIM) OR AMReX_MPI 2 | OR AMReX_PRECISION STREQUAL "SINGLE" 3 | OR AMReX_PARTICLES_PRECISION STREQUAL "SINGLE" ) 4 | return () 5 | endif () 6 | 7 | set(_sources main.cpp) 8 | set(_input_files inputs particle_file.init fixed_grids.init) 9 | 10 | setup_test(3 _sources _input_files) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | -------------------------------------------------------------------------------- /Tests/Particles/GhostsAndVirtuals/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/GhostsAndVirtuals/fixed_grids.init: -------------------------------------------------------------------------------- 1 | 3 2 | 5 3 | (( 6, 3, 6) (12, 9,13) (0,0,0)) 4 | (( 0, 0, 6) (3, 3,9) (0,0,0)) 5 | (( 13, 13, 6) (15, 15,9) (0,0,0)) 6 | (( 24, 25, 19) (28, 29,29) (0,0,0)) 7 | (( 29, 23, 16) (31, 25,19) (0,0,0)) 8 | 4 9 | ((14,10,14) (20,16,18) (0,0,0)) 10 | ((20,10,14) (28,16,18) (0,0,0)) 11 | ((28,10,14) (31,16,18) (0,0,0)) 12 | ((12,10,14) (14,16,18) (0,0,0)) 13 | 0 14 | -------------------------------------------------------------------------------- /Tests/Particles/InitFromAscii/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if ( NOT (3 IN_LIST AMReX_SPACEDIM) OR AMReX_MPI ) 2 | return () 3 | endif () 4 | 5 | set(_sources main.cpp) 6 | set(_input_files inputs ) 7 | 8 | setup_test(3 _sources _input_files) 9 | 10 | file(COPY particles.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/3d) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | -------------------------------------------------------------------------------- /Tests/Particles/InitFromAscii/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/InitFromAscii/inputs: -------------------------------------------------------------------------------- 1 | nx = 128 2 | ny = 128 3 | nz = 128 4 | 5 | max_grid_size = 32 6 | 7 | -------------------------------------------------------------------------------- /Tests/Particles/InitFromAscii/particles.txt: -------------------------------------------------------------------------------- 1 | 8 2 | 0.1 0.1 16.2 1000.0 4.0 1.0 6.0 3 | 8.1 0.1 16.2 1000.0 -5 0.0 -7.0 4 | 16.1 0.1 16.2 1000.0 6.0 -8.0 2.0 5 | 24.1 0.1 16.2 1000.0 9.0 4.0 8.0 6 | 0.1 8.1 16.2 1000.0 -8.0 -3.0 -10.0 7 | 8.1 8.1 16.2 1000.0 2.0 1.0 0.0 8 | 16.1 8.1 16.2 1000.0 0.0 2.0 3.0 9 | 24.1 8.1 16.2 1000.0 -9.0 7.0 5.0 10 | -------------------------------------------------------------------------------- /Tests/Particles/InitRandom/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # This tests requires particle support 2 | if (NOT AMReX_PARTICLES) 3 | return() 4 | endif () 5 | 6 | foreach(D IN LISTS AMReX_SPACEDIM) 7 | set(_sources main.cpp) 8 | set(_input_files inputs ) 9 | 10 | setup_test(${D} _sources _input_files) 11 | 12 | unset(_sources) 13 | unset(_input_files) 14 | endforeach() 15 | -------------------------------------------------------------------------------- /Tests/Particles/InitRandom/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Particles/InitRandom/inputs: -------------------------------------------------------------------------------- 1 | # Domain size 2 | ncells = 64 3 | 4 | # Maximum allowable size of each subdomain in the problem domain; 5 | # this is used to decompose the domain for parallel calculations. 6 | max_grid_size = 8 7 | 8 | # Number of levels 9 | nlevs = 1 10 | 11 | # Number of particles per cell 12 | nppc = 2 13 | 14 | -------------------------------------------------------------------------------- /Tests/Particles/Intersection/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/Intersection/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/Intersection/inputs: -------------------------------------------------------------------------------- 1 | intersect.size = (128, 128, 128) 2 | intersect.max_grid_size = 32 3 | intersect.is_periodic = 0 4 | intersect.nlevs = 1 5 | -------------------------------------------------------------------------------- /Tests/Particles/NamedSoAComponents/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | #set(_input_files) 4 | #set(_input_files inputs) 5 | 6 | setup_test(${D} _sources _input_files NTHREADS 2) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/Particles/NamedSoAComponents/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | #TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/NamedSoAComponents/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborList/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborList/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = TRUE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborList/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborList/inputs: -------------------------------------------------------------------------------- 1 | nbor_list.size = (24, 24, 24) 2 | nbor_list.max_grid_size = 8 3 | nbor_list.is_periodic = 1 4 | 5 | 6 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborParticles/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources CheckPair.H Constants.H main.cpp MDParticleContainer.cpp MDParticleContainer.H ) 3 | 4 | set(_input_files inputs ) 5 | 6 | setup_test(${D} _sources _input_files) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborParticles/Constants.H: -------------------------------------------------------------------------------- 1 | #ifndef CONSTANTS_H_ 2 | #define CONSTANTS_H_ 3 | 4 | #include 5 | 6 | namespace Params 7 | { 8 | // This is designed to represent MFiX-like conditions where the grid spacing is 9 | // roughly 2.5 times the particle diameter. In main.cpp we set grid spacing to 1 10 | // so here we set cutoff to diameter = 1/2.5 --> cutoff = 0.2 11 | static constexpr amrex::ParticleReal cutoff = 0.2 ; 12 | static constexpr amrex::ParticleReal min_r = 1.e-4; 13 | } 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborParticles/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = TRUE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborParticles/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp MDParticleContainer.cpp 2 | 3 | CEXE_headers += MDParticleContainer.H Constants.H CheckPair.H 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Tests/Particles/NeighborParticles/inputs: -------------------------------------------------------------------------------- 1 | nbor_parts.size = (24, 24, 24) 2 | nbor_parts.max_grid_size = 8 3 | nbor_parts.is_periodic = 1 4 | nbor_parts.num_ppc = 1 5 | 6 | nbor_list.size = (24, 24, 24) 7 | nbor_list.max_grid_size = 8 8 | nbor_list.is_periodic = 1 9 | nbor_list.num_ppc = 1 10 | nbor_list.do_plotfile = 1 11 | nbor_list.check_answer = 1 -------------------------------------------------------------------------------- /Tests/Particles/ParallelContext/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | if (NOT AMReX_GPU_BACKEND STREQUAL NONE) 4 | set(_input_files inputs.rt.cuda ) 5 | else () 6 | set(_input_files inputs.rt ) 7 | endif () 8 | 9 | setup_test(${D} _sources _input_files) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Tests/Particles/ParallelContext/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/ParallelContext/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/Particles/ParallelContext/inputs.rt: -------------------------------------------------------------------------------- 1 | redistribute.size = (64, 64, 128) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 0, 0) 6 | redistribute.do_random = 0 7 | redistribute.nsteps = 100 8 | redistribute.do_regrid = 0 9 | 10 | redistribute.num_runtime_real = 0 11 | redistribute.num_runtime_int = 0 12 | 13 | particles.do_tiling=1 14 | -------------------------------------------------------------------------------- /Tests/Particles/ParallelContext/inputs.rt.cuda: -------------------------------------------------------------------------------- 1 | redistribute.size = (64, 64, 128) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 0, 0) 6 | redistribute.do_random = 0 7 | redistribute.nsteps = 100 8 | redistribute.do_regrid = 0 9 | 10 | redistribute.num_runtime_real = 0 11 | redistribute.num_runtime_int = 0 12 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleArray/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | 4 | setup_test(${D} _sources FALSE) 5 | 6 | unset(_sources) 7 | endforeach() 8 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleArray/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleArray/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleIterator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | 4 | setup_test(${D} _sources FALSE) 5 | 6 | unset(_sources) 7 | endforeach() 8 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleIterator/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleMesh/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleMesh/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleMeshMultiLevel/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp mypc.H trilinear_deposition_K.H) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleMeshMultiLevel/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += mypc.H 2 | CEXE_headers += trilinear_deposition_K.H 3 | CEXE_sources += main.cpp 4 | 5 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleMeshMultiLevel/mypc.H: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using MyParticleContainer = amrex::ParticleContainer<1>; 4 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleReduce/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (AMReX_MPI) 2 | return() 3 | endif() 4 | 5 | foreach(D IN LISTS AMReX_SPACEDIM) 6 | set(_sources main.cpp) 7 | set(_input_files inputs ) 8 | 9 | setup_test(${D} _sources _input_files) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleReduce/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleReduce/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleReduce/inputs: -------------------------------------------------------------------------------- 1 | reduce.size = (256, 256, 256) 2 | reduce.max_grid_size = 128 3 | reduce.num_ppc = 1 4 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleTransformations/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleTransformations/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleTransformations/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/Particles/ParticleTransformations/inputs: -------------------------------------------------------------------------------- 1 | reduce.size = (256, 256, 256) 2 | reduce.max_grid_size = 128 3 | reduce.num_ppc = 1 4 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | if (NOT AMReX_GPU_BACKEND STREQUAL NONE) 4 | set(_input_files inputs.rt.cuda ) 5 | else () 6 | set(_input_files inputs.rt ) 7 | endif () 8 | 9 | setup_test(${D} _sources _input_files) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/inputs: -------------------------------------------------------------------------------- 1 | redistribute.size = (256, 256, 384) 2 | redistribute.max_grid_size = 128 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 500 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 0 12 | redistribute.num_runtime_int = 0 13 | 14 | redistribute.sort = 0 15 | 16 | amrex.use_gpu_aware_mpi = 0 17 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/inputs.rt: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 0 12 | redistribute.num_runtime_int = 0 13 | 14 | particles.do_tiling=1 15 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/inputs.rt.cuda: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 2 12 | redistribute.num_runtime_int = 3 13 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/inputs.rt.cuda.big: -------------------------------------------------------------------------------- 1 | redistribute.size = (64, 64, 128) 2 | redistribute.max_grid_size = 64 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 4 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 0 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 2 12 | redistribute.num_runtime_int = 3 13 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/inputs.rt.cuda.mr: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 3 9 | redistribute.test_level_lost = 3 10 | redistribute.do_regrid = 1 11 | 12 | redistribute.num_runtime_real = 1 13 | redistribute.num_runtime_int = 0 14 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/inputs.rt.cuda.nonperiodic: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 0 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 0 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 0 12 | redistribute.num_runtime_int = 1 13 | -------------------------------------------------------------------------------- /Tests/Particles/Redistribute/inputs.rt.cuda.sort: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.sort = 1 12 | 13 | redistribute.num_runtime_real = 2 14 | redistribute.num_runtime_int = 3 15 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | if (NOT AMReX_GPU_BACKEND STREQUAL NONE) 4 | set(_input_files inputs.rt.cuda ) 5 | else () 6 | set(_input_files inputs.rt ) 7 | endif () 8 | 9 | setup_test(${D} _sources _input_files NTASKS 2) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/inputs: -------------------------------------------------------------------------------- 1 | redistribute.size = (256, 256, 384) 2 | redistribute.max_grid_size = 128 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 500 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 0 12 | redistribute.num_runtime_int = 0 13 | 14 | redistribute.sort = 0 15 | 16 | amrex.use_gpu_aware_mpi = 0 17 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/inputs.rt: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 0 12 | redistribute.num_runtime_int = 0 13 | 14 | particles.do_tiling=1 15 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/inputs.rt.cuda: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 2 12 | redistribute.num_runtime_int = 3 13 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/inputs.rt.cuda.big: -------------------------------------------------------------------------------- 1 | redistribute.size = (64, 64, 128) 2 | redistribute.max_grid_size = 64 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 4 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 0 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 2 12 | redistribute.num_runtime_int = 3 13 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/inputs.rt.cuda.mr: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 3 9 | redistribute.test_level_lost = 3 10 | redistribute.do_regrid = 1 11 | 12 | redistribute.num_runtime_real = 1 13 | redistribute.num_runtime_int = 0 14 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/inputs.rt.cuda.nonperiodic: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 0 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 0 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.num_runtime_real = 0 12 | redistribute.num_runtime_int = 1 13 | -------------------------------------------------------------------------------- /Tests/Particles/RedistributeSOA/inputs.rt.cuda.sort: -------------------------------------------------------------------------------- 1 | redistribute.size = (32, 64, 64) 2 | redistribute.max_grid_size = 32 3 | redistribute.is_periodic = 1 4 | redistribute.num_ppc = 1 5 | redistribute.move_dir = (1, 1, 1) 6 | redistribute.do_random = 1 7 | redistribute.nsteps = 100 8 | redistribute.nlevs = 1 9 | redistribute.do_regrid = 1 10 | 11 | redistribute.sort = 1 12 | 13 | redistribute.num_runtime_real = 2 14 | redistribute.num_runtime_int = 3 15 | -------------------------------------------------------------------------------- /Tests/Particles/SENSEI_Insitu_SOA/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if ( NOT AMReX_SENSEI ) 2 | return () 3 | endif () 4 | 5 | foreach(D IN LISTS AMReX_SPACEDIM) 6 | set(_sources main.cpp) 7 | set(_input_files inputs.rt ) 8 | 9 | setup_test(${D} _sources _input_files NTASKS 2) 10 | 11 | unset(_sources) 12 | unset(_input_files) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Tests/Particles/SENSEI_Insitu_SOA/inputs.rt: -------------------------------------------------------------------------------- 1 | insitu.size = (32, 64, 64) 2 | insitu.max_grid_size = 32 3 | insitu.is_periodic = 1 4 | insitu.num_ppc = 1 5 | insitu.nlevs = 1 6 | 7 | insitu.num_runtime_real = 0 8 | insitu.num_runtime_int = 0 9 | 10 | particles.do_tiling=1 11 | -------------------------------------------------------------------------------- /Tests/Particles/SOAParticle/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | #set(_input_files) 4 | #set(_input_files inputs) 5 | 6 | setup_test(${D} _sources _input_files NTHREADS 2) 7 | 8 | unset(_sources) 9 | unset(_input_files) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /Tests/Particles/SOAParticle/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | 13 | #TINY_PROFILE = TRUE 14 | USE_PARTICLES = TRUE 15 | 16 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 17 | 18 | include ./Make.package 19 | include $(AMREX_HOME)/Src/Base/Make.package 20 | include $(AMREX_HOME)/Src/Particle/Make.package 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 23 | -------------------------------------------------------------------------------- /Tests/Particles/SOAParticle/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Particles/SparseBins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Particles/SparseBins/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Particles/SparseBins/inputs: -------------------------------------------------------------------------------- 1 | intersect.size = (128, 128, 128) 2 | intersect.max_grid_size = 32 3 | intersect.is_periodic = 0 4 | intersect.nlevs = 1 5 | -------------------------------------------------------------------------------- /Tests/Particles/TypeDescriptor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (AMReX_MPI) 2 | return () 3 | endif() 4 | 5 | foreach(D IN LISTS AMReX_SPACEDIM) 6 | set(_sources main.cpp) 7 | 8 | setup_test(${D} _sources FALSE) 9 | 10 | unset(_sources) 11 | endforeach() 12 | -------------------------------------------------------------------------------- /Tests/Particles/TypeDescriptor/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../../ 2 | 3 | DEBUG = TRUE 4 | DEBUG = FALSE 5 | 6 | DIM = 3 7 | 8 | COMP = gcc 9 | 10 | TINY_PROFILE = FALSE 11 | USE_PARTICLES = TRUE 12 | 13 | PRECISION = DOUBLE 14 | 15 | USE_MPI = FALSE 16 | USE_OMP = FALSE 17 | 18 | ################################################### 19 | 20 | EBASE = main 21 | 22 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 23 | 24 | include ./Make.package 25 | include $(AMREX_HOME)/Src/Base/Make.package 26 | 27 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 28 | -------------------------------------------------------------------------------- /Tests/Particles/TypeDescriptor/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | 3 | -------------------------------------------------------------------------------- /Tests/Reinit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files inputs) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/Reinit/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../ 2 | 3 | DEBUG = FALSE 4 | DIM = 3 5 | COMP = gcc 6 | 7 | USE_MPI = TRUE 8 | USE_OMP = FALSE 9 | USE_CUDA = FALSE 10 | 11 | TINY_PROFILE = TRUE 12 | 13 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 14 | 15 | include ./Make.package 16 | include $(AMREX_HOME)/Src/Base/Make.package 17 | 18 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 19 | -------------------------------------------------------------------------------- /Tests/Reinit/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/Reinit/inputs: -------------------------------------------------------------------------------- 1 | amrex.abort_on_out_of_gpu_memory=1 2 | amrex.signal_handling=0 3 | amrex.the_arena_is_managed = 0 4 | amrex.throw_exception=1 5 | amrex.verbose=2 6 | -------------------------------------------------------------------------------- /Tests/Reinit/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | 4 | int main (int argc, char* argv[]) 5 | { 6 | #ifdef AMREX_USE_MPI 7 | MPI_Init(&argc, &argv); 8 | #endif 9 | { 10 | amrex::Initialize(argc,argv); 11 | amrex::Finalize(); 12 | } 13 | 14 | { 15 | amrex::Initialize(argc,argv); 16 | amrex::Finalize(); 17 | } 18 | 19 | { 20 | amrex::Initialize(argc,argv); 21 | amrex::Finalize(); 22 | } 23 | #ifdef AMREX_USE_MPI 24 | MPI_Finalize(); 25 | #endif 26 | } 27 | -------------------------------------------------------------------------------- /Tests/RoundoffDomain/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/RoundoffDomain/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/SmallMatrix/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/SmallMatrix/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME := ../.. 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gcc 8 | 9 | USE_MPI = FALSE 10 | USE_OMP = FALSE 11 | USE_CUDA = FALSE 12 | USE_HIP = FALSE 13 | USE_SYCL = FALSE 14 | 15 | BL_NO_FORT = TRUE 16 | 17 | TINY_PROFILE = FALSE 18 | 19 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 20 | 21 | include ./Make.package 22 | include $(AMREX_HOME)/Src/Base/Make.package 23 | 24 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 25 | -------------------------------------------------------------------------------- /Tests/SmallMatrix/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tests/complementIn/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | foreach(D IN LISTS AMReX_SPACEDIM) 2 | set(_sources main.cpp) 3 | set(_input_files ) 4 | 5 | setup_test(${D} _sources _input_files) 6 | 7 | unset(_sources) 8 | unset(_input_files) 9 | endforeach() 10 | -------------------------------------------------------------------------------- /Tests/complementIn/GNUmakefile: -------------------------------------------------------------------------------- 1 | AMREX_HOME = ../../ 2 | 3 | DEBUG = FALSE 4 | 5 | DIM = 3 6 | 7 | COMP = gnu 8 | 9 | USE_MPI = TRUE 10 | USE_OMP = FALSE 11 | TINY_PROFILE = TRUE 12 | 13 | include $(AMREX_HOME)/Tools/GNUMake/Make.defs 14 | 15 | include ./Make.package 16 | include $(AMREX_HOME)/Src/Base/Make.package 17 | 18 | include $(AMREX_HOME)/Tools/GNUMake/Make.rules 19 | -------------------------------------------------------------------------------- /Tests/complementIn/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_sources += main.cpp 2 | -------------------------------------------------------------------------------- /Tools/CMake/AMReX_Config.H.in: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_CONFIG_H_ 2 | #define AMREX_CONFIG_H_ 3 | 4 | #ifndef AMREX_SPACEDIM 5 | # cmakedefine AMREX_SPACEDIM @AMReX_SPACEDIM_LAST@ 6 | # define BL_SPACEDIM @AMReX_SPACEDIM_LAST@ 7 | #else 8 | # define BL_SPACEDIM AMREX_SPACEDIM 9 | #endif 10 | 11 | #if AMREX_SPACEDIM==1 12 | # include "AMReX_Config_1D.H" 13 | #elif AMREX_SPACEDIM==2 14 | # include "AMReX_Config_2D.H" 15 | #elif AMREX_SPACEDIM==3 16 | # include "AMReX_Config_3D.H" 17 | #else 18 | # error "AMREX_SPACEDIM not 1, 2 or 3" 19 | #endif 20 | 21 | #endif /* AMREX_CONFIG_H_ */ 22 | -------------------------------------------------------------------------------- /Tools/CMake/AMReX_Version.H.in: -------------------------------------------------------------------------------- 1 | #ifndef AMREX_VERSION_H_ 2 | #define AMREX_VERSION_H_ 3 | 4 | #cmakedefine AMREX_GIT_VERSION @AMREX_GIT_VERSION@ 5 | #cmakedefine AMREX_RELEASE_NUMBER @AMREX_RELEASE_NUMBER@ 6 | 7 | #endif // AMREX_VERSION_H_ 8 | -------------------------------------------------------------------------------- /Tools/C_util/AugmentPlotfile/AugFolder.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | if [[ -z "$1" ]]; then 5 | echo "Name of folder containing plotfiles must be supplied." 6 | exit 7 | fi 8 | 9 | echo -e "infile = tmp_infile\noutfile = tmp_outfile\nadd_vorticity = 1\nadd_divergence = 1" > tmp_inputs 10 | 11 | for f in `ls -1 $1 | grep plt[0-9]*[0-9]`; do 12 | echo "Processing $1/${f}..." 13 | mv $1/$f tmp_infile 14 | mpirun -n 4 ./AugmentPlotfile3d.gnu.MPI.ex tmp_inputs 15 | mv tmp_outfile $1/${f} 16 | rm -R tmp_infile 17 | done 18 | 19 | rm tmp_inputs 20 | 21 | -------------------------------------------------------------------------------- /Tools/C_util/AugmentPlotfile/inputs: -------------------------------------------------------------------------------- 1 | 2 | infile = test_infile 3 | 4 | outfile = test_outfile 5 | 6 | add_vorticity = 1 7 | 8 | 9 | add_divergence = 1 10 | 11 | 12 | #verbose = 1 13 | 14 | -------------------------------------------------------------------------------- /Tools/C_util/Convergence/Make.package: -------------------------------------------------------------------------------- 1 | CEXE_headers += 2 | 3 | CEXE_sources += AMReX_DataServices.cpp AMReX_AmrData.cpp 4 | 5 | CEXE_sources += ComputeAmrDataNorms.cpp 6 | CEXE_headers += ComputeAmrDataNorms.H 7 | FEXE_sources += AMReX_AVGDOWN_$(DIM)D.F 8 | 9 | #ifeq ($(USE_ARRAYVIEW),TRUE) 10 | # CEXE_sources += DatasetClient.cpp 11 | # CEXE_headers += DatasetClient.H 12 | #endif 13 | -------------------------------------------------------------------------------- /Tools/GNUMake/Make.upcxx: -------------------------------------------------------------------------------- 1 | 2 | # UPC++ 3 | 4 | CXX = upcxx 5 | #upc++ 6 | -------------------------------------------------------------------------------- /Tools/GNUMake/comps/intel.mak: -------------------------------------------------------------------------------- 1 | CXX = icpx 2 | has_intel_llvm_compiler := $(shell $(CXX) -dumpversion) 3 | 4 | ifdef has_intel_llvm_compiler 5 | $(info Using intel-llvm) 6 | include $(AMREX_HOME)/Tools/GNUMake/comps/intel-llvm.mak 7 | else 8 | $(info Using intel-classic) 9 | include $(AMREX_HOME)/Tools/GNUMake/comps/intel-classic.mak 10 | endif 11 | -------------------------------------------------------------------------------- /Tools/GNUMake/packages/Make.bittree: -------------------------------------------------------------------------------- 1 | 2 | CPPFLAGS += -DAMREX_USE_BITTREE 3 | include $(AMREX_HOME)/Src/Extern/Bittree/Make.package 4 | 5 | ifndef AMREX_BITTREE_HOME 6 | ifdef BITTREE_$(DIM)D_HOME 7 | AMREX_BITTREE_HOME = $(BITTREE_$(DIM)D_HOME) 8 | endif 9 | endif 10 | 11 | ifdef AMREX_BITTREE_HOME 12 | BITTREE_ABSPATH = $(abspath $(AMREX_BITTREE_HOME)) 13 | INCLUDE_LOCATIONS += $(BITTREE_ABSPATH)/include 14 | LIBRARY_LOCATIONS += $(BITTREE_ABSPATH)/lib 15 | LIBRARIES += -Wl,-rpath,$(BITTREE_ABSPATH)/lib -lbittree 16 | endif 17 | -------------------------------------------------------------------------------- /Tools/GNUMake/packages/Make.catalyst: -------------------------------------------------------------------------------- 1 | ######################################################### 2 | # Catalyst (https://gitlab.kitware.com/paraview/catalyst) Support 3 | ######################################################### 4 | 5 | CPPFLAGS += -DAMREX_USE_CATALYST 6 | 7 | ifdef CATALYST_DIR 8 | INCLUDE_LOCATIONS += $(CATALYST_DIR)/include 9 | VPATH_LOCATIONS += $(CATALYST_DIR)/include 10 | LIBRARY_LOCATIONS += $(CATALYST_DIR)/lib 11 | LIBRARIES += -Wl,-rpath,$(CATALYST_DIR)/lib 12 | 13 | LIBRARIES += -lcatalyst 14 | 15 | endif 16 | 17 | -------------------------------------------------------------------------------- /Tools/GNUMake/sites/Make.hs: -------------------------------------------------------------------------------- 1 | # 2 | # For Hamburg Observatory computers 3 | # 4 | HS_MACHINES := aurora 5 | 6 | ifneq ($(which_computer), $(findstring $(which_computer), $(HS_MACHINES))) 7 | $(error Unknown HS computer, $(which_computer)) 8 | endif 9 | 10 | ifeq ($(which_computer),$(filter $(which_computer),aurora)) 11 | 12 | ifeq ($(USE_MPI),TRUE) 13 | CC = mpincc 14 | CXX = mpinc++ 15 | FC = mpinfort 16 | F90 = mpinfort 17 | endif 18 | 19 | endif -------------------------------------------------------------------------------- /Tools/Migration/README.md: -------------------------------------------------------------------------------- 1 | See `Docs/Migration/`. 2 | -------------------------------------------------------------------------------- /Tools/Migration/amrex_real.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # amrex::Real --> amrex_real in all _f.H and _F.H files 4 | 5 | find . -type d \( -name .git -o -path ./Tools/Migration -o -path ./Docs/Migration \) -prune -o -type f \( -name "*_f.H" -o -name "*_F.H" \) -exec grep -Iq . {} \; -exec sed -i 's/amrex::Real/amrex_real/g' {} + 6 | -------------------------------------------------------------------------------- /Tools/Migration/step-5-amrex-namespace/amrex-namespace.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | OLD="BoxLib::" 4 | NEW="amrex::" 5 | echo ${OLD}" --> "${NEW} 6 | find . -type d \( -name .git -o -path ./Tools/Migration -o -path ./Docs/Migration \) -prune -o -type f -exec grep -Iq . {} \; -exec sed -i 's/'"${OLD}"'/'"${NEW}"'/g' {} + 7 | 8 | -------------------------------------------------------------------------------- /Tools/Plotfile/Make.package: -------------------------------------------------------------------------------- 1 | 2 | CEXE_headers += AMReX_PPMUtil.H 3 | CEXE_sources += AMReX_PPMUtil.cpp 4 | -------------------------------------------------------------------------------- /Tools/Plotfile/Palette: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AMReX-Codes/amrex/335f529c035f6a1e1addf03efb088bc527cd771f/Tools/Plotfile/Palette -------------------------------------------------------------------------------- /Tools/Py_util/amrex_particles_to_vtp/README: -------------------------------------------------------------------------------- 1 | Use amrex_particles_vtp.py as 2 | 3 | python amrex_particles_vtp.py fileprefix 4 | 5 | Example: 6 | 7 | python amrex_particles_vtp.py 0 2 samplefiles/particles 8 | 9 | For amrex_binary_particles_to_vtp.py, do: 10 | 11 | python amrex_binary_particles_to_vtp.py plotfilename particle_type 12 | 13 | Example: 14 | 15 | python amrex_binary_particles_to_vtp.py plt000354 DM 16 | 17 | The vtp files are written in the folder where the amrex particle files reside. 18 | -------------------------------------------------------------------------------- /Tutorials/README.md: -------------------------------------------------------------------------------- 1 | The AMReX Tutorials are now found at https://github.com/AMReX-Codes/amrex-tutorials -------------------------------------------------------------------------------- /configure: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | Tools/libamrex/configure.py "$@" 4 | 5 | --------------------------------------------------------------------------------