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
Last synced: 6 months ago · JSON representation ·

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
Created almost 2 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

Fluidum

Build Status

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

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

.github/workflows/CI.yml actions
  • 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
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite