-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Hi !
I am going to work on some two-phase compressible flow solver on the AMReX and find this repo matches my need. However, I cannot compile the code following the instructions. I will grateful if you could help me with this issue!
Following these instructions, I successfully build the IRL libray
git clone https://github.com/nataraj2/MultiphaseSolverAMReX.git
cd MultiphaseSolverAMReX
sh install.sh
Then following this instruction
vi amrex/Tools/GNUMake/Make.local
I revise Make.local as
# origin setups
# IRLDIR=/Users/natarajan/Desktop/Research/MultiphaseAMR/MultiphaseSolverAMR/GitHub/GitHub_AfterPush/MultiphaseSolverAMReX/interfacereconstructionlibrary
# CXX := /opt/local/bin/mpicxx
# CC := /opt/local/bin/mpicc
# FC := /opt/local/bin/mpif90
# F90 := /opt/local/bin/mpif90
# revised setups on my pc
IRLDIR=/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary
CXX := /usr/bin/mpicxx
CC := /usr/bin/mpicc
FC := /usr/bin/mpif90
F90 := /usr/bin/mpif90
After that, I try to running the case of Zalesak's disk.
cd amrex/Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Exec/Zalesak_Elvira
make -j
However, the make command reports the following errors:
(base) fane@MS-PC:~/open_code_tests/MultiphaseSolverAMReX/amrex/Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Exec/Zalesak_Elvira$ make
Loading ../../../../../Tools/GNUMake/comps/gnu.mak...
Loading ../../../../../Tools/GNUMake/sites/Make.unknown...
Loading ../../../../../Tools/GNUMake/Make.local...
../../../../../Src/Base/Make.package ../../../../../Src/Boundary/Make.package ../../../../../Src/AmrCore/Make.package ../../../../../Src/F_Interfaces/Base/Make.package ../../../../../Src/F_Interfaces/AmrCore/Make.package ../../../../../Src/LinearSolvers/MLMG/Make.package ../../../../../Src/F_Interfaces/LinearSolvers/Make.package
-pthread -I/usr/lib/x86_64-linux-gnu/openmpi/lib -L/usr/lib/x86_64-linux-gnu/openmpi/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lmpi_cxx -lmpi -L/opt/local/lib -L/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/install/lib -L/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/install/absl/lib -lirl_c -lirl -lirl_fortran -labsl_all -framework CoreFoundation
Generating AMReX_Config.H ...
Generating AMReX_Version.H ...
Building f90/F90 dependency File ...
../../../../../Tools/F_scripts/dep.py --prefix tmp_build_dir/o/3d.gnu.MPI.EXE \
--temp_dir tmp_build_dir/f/3d.gnu.MPI.EXE \
--cpp "cpp -E -traditional-cpp -P" \
--defines "-DBL_LANG_FORT -DAMREX_LANG_FORT -DBL_USE_MPI -DAMREX_USE_MPI -DBL_SPACEDIM=3 -DAMREX_SPACEDIM=3 -DBL_FORT_USE_UNDERSCORE -DAMREX_FORT_USE_UNDERSCORE -DBL_Linux -DAMREX_Linux -DNDEBUG -DOMPI_SKIP_MPICXX -DBL_USE_F_INTERFACES -Itmp_build_dir/s/3d.gnu.MPI.EXE -I. -I. -I../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Exec/Zalesak_Elvira -I../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source -I../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d -I../../../../../Src/Base -I../../../../../Src/Base/Parser -I../../../../../Src/Boundary -I../../../../../Src/AmrCore -I../../../../../Src/F_Interfaces/Base -I../../../../../Src/F_Interfaces/AmrCore -I../../../../../Src/LinearSolvers/MLMG -I../../../../../Src/F_Interfaces/LinearSolvers " \
--f90_preprocess "cat " fileio.f90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/Adv_3d.f90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/slope_3d.f90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/compute_flux_3d.f90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/compute_semilagrangian_flux.f90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/compgeom_lookup.f90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/mod_reconstruct.f90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/plic_mod.f90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/dump_ensight_str.f90 ../../../../../Src/Base/AMReX_constants_mod.f90 face_velocity_3d.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/fmain.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/my_amr_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/initdata.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/tagging_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/plotfile_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/averagedown_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/evolve_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/compute_dt_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/fillpatch_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/face_velocity_multifab.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_cell_value.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_correction_step.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_interp_pressure.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_interp_rho.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_multiphase_variables.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/amr_data_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/bc_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/rhs_helmholtz.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/solve_helmholtz.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/my_AMReX_FILCC_3D.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/my_AMReX_filcc_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_vortmag.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/restart_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/grid_mod.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_plic_half.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/precision.F90 ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/string.F90 ../../../../../Src/Base/AMReX_FILCC_3D.F90 ../../../../../Src/Base/AMReX_BLutil_F.F90 ../../../../../Src/Base/AMReX_BLProfiler_F.F90 ../../../../../Src/Base/AMReX_filcc_mod.F90 ../../../../../Src/Base/AMReX_omp_mod.F90 ../../../../../Src/Base/AMReX_acc_mod.F90 ../../../../../Src/Base/AMReX_fort_mod.F90 ../../../../../Src/Base/AMReX_error_mod.F90 ../../../../../Src/Base/AMReX_parmparse_mod.F90 ../../../../../Src/Base/AMReX_string_mod.F90 ../../../../../Src/Base/AMReX_bc_types_mod.F90 ../../../../../Src/Base/AMReX_io_mod.F90 ../../../../../Src/Base/AMReX_ParallelDescriptor_F.F90 ../../../../../Src/Base/AMReX_mempool_mod.F90 ../../../../../Src/Boundary/AMReX_LO_UTIL.F90 ../../../../../Src/Boundary/AMReX_lo_bctypes_mod.F90 ../../../../../Src/AmrCore/AMReX_FillPatchUtil_3d.F90 ../../../../../Src/F_Interfaces/Base/AMReX_init_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_parallel_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_base_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_box_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_boxarray_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_distromap_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_geometry_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_multifab_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_plotfile_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_multifabutil_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_physbc_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_fab_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_fi_mpi_mod.F90 ../../../../../Src/F_Interfaces/Base/AMReX_mpi_reduce_int.F90 ../../../../../Src/F_Interfaces/Base/AMReX_mpi_reduce_real.F90 ../../../../../Src/F_Interfaces/AmrCore/AMReX_amr_mod.F90 ../../../../../Src/F_Interfaces/AmrCore/AMReX_amrcore_mod.F90 ../../../../../Src/F_Interfaces/AmrCore/AMReX_tagbox_mod.F90 ../../../../../Src/F_Interfaces/AmrCore/AMReX_fillpatch_mod.F90 ../../../../../Src/F_Interfaces/AmrCore/AMReX_fluxregister_mod.F90 ../../../../../Src/F_Interfaces/AmrCore/AMReX_flash_fluxregister_mod.F90 ../../../../../Src/F_Interfaces/AmrCore/AMReX_interpolater_mod.F90 ../../../../../Src/LinearSolvers/MLMG/AMReX_MLLinOp_nd.F90 ../../../../../Src/F_Interfaces/LinearSolvers/AMReX_linear_solver_mod.F90 ../../../../../Src/F_Interfaces/LinearSolvers/AMReX_linop_mod.F90 ../../../../../Src/F_Interfaces/LinearSolvers/AMReX_poisson_mod.F90 ../../../../../Src/F_Interfaces/LinearSolvers/AMReX_abeclaplacian_mod.F90 ../../../../../Src/F_Interfaces/LinearSolvers/AMReX_multigrid_mod.F90 tmp_build_dir/s/3d.gnu.MPI.EXE/AMReX_Config.H tmp_build_dir/s/3d.gnu.MPI.EXE/AMReX_Version.H > tmp_build_dir/d/3d.gnu.MPI.EXE/f90.depends
warning: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/Adv_3d.f90 not found
warning: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/compute_flux_3d.f90 not found
warning: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/plic_mod.f90 not found
warning: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/evolve_mod.F90 not found
warning: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/amr_data_mod.F90 not found
warning: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/grid_mod.F90 not found
warning: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_plic_half.F90 not found
Loading ../../../../../Tools/GNUMake/comps/gnu.mak...
Loading ../../../../../Tools/GNUMake/sites/Make.unknown...
Loading ../../../../../Tools/GNUMake/Make.local...
../../../../../Src/Base/Make.package ../../../../../Src/Boundary/Make.package ../../../../../Src/AmrCore/Make.package ../../../../../Src/F_Interfaces/Base/Make.package ../../../../../Src/F_Interfaces/AmrCore/Make.package ../../../../../Src/LinearSolvers/MLMG/Make.package ../../../../../Src/F_Interfaces/LinearSolvers/Make.package
tmp_build_dir/d/3d.gnu.MPI.EXE/f90.depends:3: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/Adv_3d.f90 not found
tmp_build_dir/d/3d.gnu.MPI.EXE/f90.depends:11: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/compute_flux_3d.f90 not found
tmp_build_dir/d/3d.gnu.MPI.EXE/f90.depends:28: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d/plic_mod.f90 not found
tmp_build_dir/d/3d.gnu.MPI.EXE/f90.depends:78: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/evolve_mod.F90 not found
tmp_build_dir/d/3d.gnu.MPI.EXE/f90.depends:143: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/amr_data_mod.F90 not found
tmp_build_dir/d/3d.gnu.MPI.EXE/f90.depends:180: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/grid_mod.F90 not found
tmp_build_dir/d/3d.gnu.MPI.EXE/f90.depends:188: module irl_fortran_interface required by ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/mod_compute_plic_half.F90 not found
-pthread -I/usr/lib/x86_64-linux-gnu/openmpi/lib -L/usr/lib/x86_64-linux-gnu/openmpi/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lmpi_cxx -lmpi -L/opt/local/lib -L/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/install/lib -L/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/install/absl/lib -lirl_c -lirl -lirl_fortran -labsl_all -framework CoreFoundation
Compiling Restart.cpp ...
ccache /usr/bin/mpicxx -MMD -MP -Werror=return-type -g -O3 -pthread -lstdc++ -std=c++14 -I/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/install/absl/lib -I/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/external/abseil-cpp -I/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary -I/home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/include -DBL_USE_MPI -DAMREX_USE_MPI -DBL_SPACEDIM=3 -DAMREX_SPACEDIM=3 -DBL_FORT_USE_UNDERSCORE -DAMREX_FORT_USE_UNDERSCORE -DBL_Linux -DAMREX_Linux -DNDEBUG -DOMPI_SKIP_MPICXX -DBL_USE_F_INTERFACES -Itmp_build_dir/s/3d.gnu.MPI.EXE -I. -I. -I../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Exec/Zalesak_Elvira -I../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source -I../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Src_3d -I../../../../../Src/Base -I../../../../../Src/Base/Parser -I../../../../../Src/Boundary -I../../../../../Src/AmrCore -I../../../../../Src/F_Interfaces/Base -I../../../../../Src/F_Interfaces/AmrCore -I../../../../../Src/LinearSolvers/MLMG -I../../../../../Src/F_Interfaces/LinearSolvers -c ../../../../../Tutorials/Amr/MultiphaseSolver_Zalesak_Elvira/Source/Restart.cpp -o tmp_build_dir/o/3d.gnu.MPI.EXE/Restart.o
make: ccache: Command not found
make: *** [../../../../../Tools/GNUMake/Make.rules:257: tmp_build_dir/o/3d.gnu.MPI.EXE/Restart.o] Error 127
It seems that module irl_fortran_interface cannot be found by the compiler. I found the irl_fortran_interface.mod file in the path /home/fane/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/install/include/irl_fortran, where the file tree under the install folder is
(base) fane@MS-PC:~/open_code_tests/MultiphaseSolverAMReX/interfacereconstructionlibrary/install$ tree -L 2
.
├── absl
│ └── lib
├── include
│ ├── irl
│ └── irl_fortran
└── lib
├── libirl.a
├── libirl_c.a
└── libirl_fortran.a
To help the compiler to find the irl_fortran_interface.mod, I revise the Make.local as
# original
gfortran_lib = -I$(IRLDIR)/install
# revised
gfortran_lib = -I$(IRLDIR)/install/include/irl_fortran
# original
CXXFLAGS += -lstdc++ -std=c++14 -I$(IRLDIR)/install/absl/lib -I$(IRLDIR)/external/abseil-cpp -I$(IRLDIR) -I$(IRLDIR)/include
# revised
CXXFLAGS += -lstdc++ -std=c++14 -I$(IRLDIR)/install/absl/lib -I$(IRLDIR)/external/abseil-cpp -I$(IRLDIR) -I$(IRLDIR)/install/include/irl_fortran
But, still, it's not working.
I am appreciated for any help! Thanks!