Giter Club home page Giter Club logo

nataraj2 / multiphasesolveramrex Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 62.42 MB

An all-Mach, discretely conservative, geometric volume-of-fluid multiphase flow solver for liquid-gas flows

CMake 1.37% Makefile 0.46% C++ 55.39% Fortran 21.67% C 2.36% Shell 0.23% Mathematica 0.64% Roff 1.00% MATLAB 0.18% RPC 0.01% Yacc 0.03% Python 15.96% Jupyter Notebook 0.01% Perl 0.25% Haskell 0.01% TeX 0.06% HTML 0.04% Cuda 0.27% JavaScript 0.01% CSS 0.07%

multiphasesolveramrex's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

earlfan

multiphasesolveramrex's Issues

Need help on the compilation

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.