TrixiParticles.jl is a numerical simulation framework designed for particle-based numerical methods, with an emphasis on multiphysics applications, written in Julia. A primary goal of the framework is to be user-friendly for engineering, science, and educational purposes. In addition to its extensible design and optimized implementation, we prioritize the user experience, including installation, pre- and postprocessing. Its features include:
- Incompressible Navier-Stokes
- Methods: Weakly Compressible Smoothed Particle Hydrodynamics (WCSPH), Entropically Damped Artificial Compressibility (EDAC)
- Solid-body mechanics
- Methods: Total Lagrangian SPH (TLSPH)
- Fluid-Structure Interaction
- Output formats:
- VTK
If you have not yet installed Julia, please follow the instructions for your operating system. TrixiParticles.jl works with Julia v1.9 and newer. We recommend using the latest stable release of Julia.
If you plan on editing TrixiParticles.jl itself, you can download TrixiParticles.jl locally and use the code from the cloned directory:
git clone git@github.com:trixi-framework/TrixiParticles.jl.git
cd TrixiParticles.jl
mkdir run
cd run
julia --project=. -e 'using Pkg; Pkg.develop(PackageSpec(path=".."))' # Install locally
julia --project=. -e 'using Pkg; Pkg.add("OrdinaryDiffEq")' # Install additional packages
Note: OrdinaryDiffEq is only necessary to run examples.
If you installed TrixiParticles.jl this way, you always have to start Julia with the --project
flag set to your run
directory, e.g.,
julia --project=.
Erik Faulhaber (University of Cologne) and Niklas Neher (HLRS) implemented the foundations for TrixiParticles.jl and are principal developers along with Sven Berger (hereon). The project was started by Michael Schlottke-Lakemper (RWTH Aachen University/HLRS) and Gregor Gassner (University of Cologne), who provide scientific direction and technical advice. The full list of contributors can be found in AUTHORS.md.
TrixiParticles.jl is licensed under the MIT license (see LICENSE.md). Since TrixiParticles.jl is
an open-source project, we are very happy to accept contributions from the
community. Please refer to CONTRIBUTING.md for more details.
Note that we strive to be a friendly, inclusive open-source community and ask all members
of our community to adhere to our CODE_OF_CONDUCT.md
.
To get in touch with the developers,
join us on Slack
or create an issue.
The project has benefited from funding from hereon and HiRSE.