fluidum.jl
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: fafafrens
- License: mit
- Language: Julia
- Default Branch: main
- Size: 254 MB
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Fluidum
To install the package and its dependencies one can use
julia
import Pkg
Pkg.add(url = "https://github.com/fafafrens/Fluidum.jl")
After this one can use the package simply by using
julia
using Fluidum
Example 1+1 dimension
A simple example of running heavy quark simulations (actually is not simple at all since it is not understandable: what Observable does? what runFluidum ? Why we need 2 equations of state ? )
```julia using Fluidum
define equation of state and transport coefficients
eos = Heavy_Quark() viscosity=QGPViscosity(0.2,0.2) bulk=SimpleBulkViscosity(0.1,15.0) diffusion=ZeroDiffusion()
collect eos and transport coefficient in the FluidProperties struct
params=Fluidum.FluidProperties(eos,viscosity,bulk,diffusion)
define a radial grid
gridpoints=100 rmax=30 disc=CartesianDiscretization(OriginInterval(gridpoints,rmax))
define the name and number of fields, with appropriate parity
onedvischydro = onedvischydro=Fields( NDField((:even,),(:ghost,),:temperature), NDField((:odd,),(:ghost,),:ur), NDField((:even,),(:ghost,),:piphiphi), NDField((:even,),(:ghost,),:pietaeta), NDField((:even,),(:ghost,),:piB) )
discfields = DiscreteFileds(onedvisc_hydro,disc,Float64)
define a example function for the temperature
function temperature(r) 0.4*1/(exp(r/7)+1 )+0.0001 end
set the temperature field
phi=setarray((x)->temperature(x),:temperature,discfields);
define a time range for the evolution
tspan = (0.2,1000)
evolve until freeze-out temperature Tfo
freezeoutroutine(discfields,Fluidum.matrxi1dvisc!,params,phi,tspan;Tfo=0.1565) ```
Example 2+1 dimension
Instead you can also solve in 2 dimension ```julia using Fluidum
set up the fluid poroperties
fluidpropery=FluidProperties(FluiduMEoS(),SimpleShearViscosity(0.1,.1),ZeroBulkViscosity(),ZeroDiffusion())
the convention here are T, ux, uy, piyy, pizz, pixy, piB this has to match with the matrix defined
twodvischydro=Fields( NDField((:ghost,:ghost),(:ghost,:ghost),:temperature), NDField((:ghost,:ghost),(:ghost,:ghost),:ux), NDField((:ghost,:ghost),(:ghost,:ghost),:uy), NDField((:ghost,:ghost),(:ghost,:ghost),:piyy), NDField((:ghost,:ghost),(:ghost,:ghost),:pizz), NDField((:ghost,:ghost),(:ghost,:ghost),:pixy), NDField((:ghost,:ghost),(:ghost,:ghost),:piB) )
we define a 2 cartesian grid form -25 to 25 50 point each dimension
discretization=CartesianDiscretization(Fluidum.SymmetricInterval(50,25.),Fluidum.SymmetricInterval(50,25.))
we prepare the field with the discretization
twodvischydrodiscrete=DiscreteFileds(twodvisc_hydro,discretization,Float64)
#we define some random intial condition function temperature(r) 0.4(1+0.3rand())/(exp(abs(r)-10)+1 )+0.01 end
we set the array corresponding to the temperature
phi=setarray((x,y)->temperature(hypot(x,y)),:temperature,twodvischydrodiscrete);
using Plots
here to undertand whath we are doing
plot(phi[1,:,25])
this is the time span
tspan=(0.4,20)
this create the ODEProblem and feed it diffenential equations
res=oneshoot(twodvischydrodiscrete,Fluidum.matrxi2dvisc!,fluidpropery,phi,tspan)
plot the solution
using Plots plot(phi[1,:,25]) plot!(res[end][1,:,25]) ```
Citing
When using Fluidum.jl for research, teaching or similar, please cite our work, see CITATIONS.bib.
Owner
- Login: fafafrens
- Kind: user
- Repositories: 1
- Profile: https://github.com/fafafrens
Citation (CITATIONS.bib)
@article{Capellino:2023cxe,
author = "Capellino, F. and Dubla, A. and Floerchinger, S. and Grossi, E. and Kirchner, A. and Masciocchi, S.",
title = "{Fluid dynamics of charm quarks in the quark-gluon plasma}",
eprint = "2307.14449",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
doi = "10.1103/PhysRevD.108.116011",
journal = "Phys. Rev. D",
volume = "108",
number = "11",
pages = "116011",
year = "2023"
}
@article{Floerchinger:2018pje,
author = "Floerchinger, Stefan and Grossi, Eduardo and Lion, Jorrit",
title = "{Fluid dynamics of heavy ion collisions with mode expansion}",
eprint = "1811.01870",
archivePrefix = "arXiv",
primaryClass = "nucl-th",
doi = "10.1103/PhysRevC.100.014905",
journal = "Phys. Rev. C",
volume = "100",
number = "1",
pages = "014905",
year = "2019"
}
GitHub Events
Total
- Watch event: 5
- Delete event: 9
- Push event: 82
- Pull request event: 20
- Create event: 9
Last Year
- Watch event: 5
- Delete event: 9
- Push event: 82
- Pull request event: 20
- Create event: 9
Dependencies
- actions/checkout v4 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v2 composite
- JuliaRegistries/TagBot v1 composite