Giter Site home page Giter Site logo

pfhopkins / gizmo-public Goto Github PK

View Code? Open in Web Editor NEW
9.0 4.0 1.0 3.16 MB

Public version of the GIZMO multi-physics massively-parallel code

Home Page: http://www.tapir.caltech.edu/~phopkins/Site/GIZMO.html

Makefile 1.33% Shell 2.16% C 93.51% Fortran 0.99% Perl 0.02% Python 1.06% IDL 0.73% C++ 0.19%
astrophysics cosmology galaxies hydrodynamics magnetohydrodynamics physics planets radiation simulation stars

gizmo-public's Introduction

Welcome!

This is GIZMO: a flexible, multi-method multi-physics code. The code solves the fluid using Lagrangian mesh-free finite-volume Godunov methods (or SPH, or fixed-grid Eulerian methods), and self-gravity with fast hybrid PM-Tree methods and fully-adaptive resolution. Other physics include: magnetic fields (ideal and non-ideal), radiation-hydrodynamics, anisotropic conduction and viscosity, sub-grid turbulent diffusion, radiative cooling, cosmological integration, sink particles, dust-gas mixtures, cosmic rays, degenerate equations of state, galaxy/star/black hole formation and feedback, self-interacting and scalar-field dark matter, on-the-fly structure finding, and more.

See the User Guide for an up-to-date physics list, or the original code website for examples demonstrating the advantages of the new methods, different types of GIZMO simulations, and its massively-parallel scalings.

The code is descended from P-SPH, itself descended from GADGET-3 (so a huge debt owes to the work of Volker Springel), and many of the GADGET conventions remain (for compatibility with GADGET outputs and codes). See the source code for appropriate attribution of the code elements.

Both the public code (alternative repo here) and the development (private) code are hosted on git version-controlled repositories. For code issues, feature requests, or bugs, please post Discussion and Issues interface at the public code github repository. The previous GIZMO Google Group had to be de-activated owing to security and spam concerns.

Basic Rules:

  1. The reference for code methods, setup, use and citation policy is the User Guide, available as gizmo_documentation.html in the scripts folder as part of this repository, or via download here. Read it! The code is extensively documented. Important things you need to know before running are there. Most questions are already answered.

  2. Access to the development (private) code does not imply permission to use any modules identified as proprietary either in the User Guide or Template_Config.sh file (or elsewhere). The development code can only be used or distributed with explicit permission from the code authors. Many of the non-public modules are proprietary and developed by students for on-going research; it is not acceptable to use or share these routines without first obtaining the explicit permission of both the lead code author and author(s) of the relevant routines. If in doubt, ask. Anyone violating these terms will have code access immediately revoked.

The public version of the code is free software, distributed under the GNU General Public License. You may freely distribute and copy the public code. You may also modify it as you wish, and distribute these modified versions as long as you indicate prominently any changes you made in the original code, and as long as you leave the copyright notices, and the no-warranty notice intact. Please read the General Public License for more details. Note that the authors retain their copyright on the code.

If you use any version of the code, please reference the code paper, Hopkins 2015, MNRAS, 450, 53; you should also reference Volker Springel's GADGET paper (Springel, 2005, MNRAS, 364, 1105) for the domain decomposition and N-body algorithms. Appropriate citations for specific modules are described in the Users Guide.

gizmo-public's People

Contributors

pfhopkins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gizmo-public's Issues

Fatal error in internal_Allgatherv: Invalid buffer pointer... Buffers must not be aliased

Cannot run the soundwave example.

Built from source at HEAD on MacOS (5cb76f7)

> uname -a
Darwin air.net 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:33:31 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T8112 arm64

[Draft PR with changes coming]

Ran the command

./GIZMO scripts/test_problems/soundwave.params > log.txt 2> err.txt

soundwave.err.txt:

Abort(866720769) on node 0 (rank 0 in comm 0): Fatal error in internal_Allgatherv: Invalid buffer pointer, error stack:
internal_Allgatherv(3036): MPI_Allgatherv(sendbuf=0x2803c1740, sendcount=4576, MPI_BYTE, recvbuf=0x2803c1740, recvcounts=0x2803caf40, displs=0x2803caf60, MPI_BYTE, MPI_COMM_WORLD) failed
internal_Allgatherv(2943): Buffers must not be aliased

soundwave.out.txt

Error when running on SDSC Expanse: "[exp-8-32:1263294:0:1263294] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x1567b35556c0)"

I have been successfully running simulations using GIZMO on the compute cluster at my home university for about two years, however I am attempting to run on Expanse CPU at SDSC and have repeatedly come up against this same crash and error message (given in the title) which I have not seen before. I have tried various combinations of compilers available on Expanse, but I seem to run up against this same error no matter which I use. This crash consistently happens during the gravity_tree () routine, but not always at the same point in the simulation. I have been in communication with the Expanse support, but we are stumped. Below I include the the module sets I have loaded and how I run. What can I try to resolve this problem?
Many Thanks,
Julianne

modules:

#module load slurm cpu/0.15.4 intel/19.1.1.217 intel-mpi/2019.8.254 fftw/3.3.8 gsl/2.5 hdf5/1.10.6
#module load slurm cpu/0.15.4 gcc/10.2.0 openmpi/4.0.4 fftw/3.3.8 gsl/2.5 hdf5/1.10.6
#module load slurm cpu/0.17.3b gcc/10.2.0/npcyll4 gsl/2.7/wtlsmyy openmpi/4.1.3/oq3qvsv hdf5/1.10.7/5o4oibc
module load slurm cpu/0.15.4 gcc/10.2.0 openmpi/4.0.4-openib fftw/3.3.8 gsl/2.5 hdf5/1.10.6

to run:
module purge
source modules
ulimit -s unlimited
mpirun -v -x LD_LIBRARY_PATH ./GIZMO params.param

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.