Chiral Mean Field (CMF) model
The Chiral Mean Field (CMF) model is based on a non-linear realization of the \(SU(3)\) sigma model, where hadrons interact through meson exchange, including \(\sigma\), \(\zeta\), \(\delta\), \(\omega\), \(\phi\), and \(\rho\). It is constructed in a chirally invariant manner, with most of the particle masses deriving from interactions with the medium. Consequently, these masses decrease at high densities and/or temperatures [1]. The commonly used sigma model is enhanced by the non-linear realization, which employs pseudoscalar mesons as angular parameters for the chiral transformation. This model also offers an ideal mechanism for generating equations of state (EoS’s) for astrophysical applications and has been fitted to match low- and high-energy physics data [2]. It is applicable at zero temperature, intermediate, and higher temperatures, accommodating degrees of freedom expected to manifest in various astrophysical scenarios, including leptons, baryons, and quarks, all within a single description. Furthermore, it reproduces QCD features such as chiral symmetry restoration and the transition to quark matter (utilizing a Polyakov-inspired loop (\(\Phi\)) as an order parameter for the deconfinement phase transition) [3]. The model is relativistic and thus respects causality, provided that repulsive vector interactions do not exceed certain limits [4]. Moreover, the model has been extended to account for the influence of magnetic fields and anomalous magnetic moments [5].
Quickstart
Using Docker
The quickest way to obtain the module involves pulling one of its docker images from the CMF++ container registry. Therefore, Docker must be locally installed.
To pull a Docker image, for instance v0.9.3, use
docker pull registry.gitlab.com/nsf-muses/module-cmf/cmf:v0.9.3
Alternatively, to build the latest version, just clone the repository clone and build the docker image with
git clone https://gitlab.com/nsf-muses/module-cmf/cmf
cd cmf
bash build_docker.sh
the container tagged as cmf:local
will be created.
Without using Docker
Required libraries
The module can also be compiled and executed locally without using Docker. For this purpose, the following libraries are required:
yaml-cpp, install CMAKE, and build yaml-cpp from source with:
git clone https://github.com/jbeder/yaml-cpp.git cd yaml-cpp mkdir build cd build cmake -DYAML_BUILD_SHARED_LIBS=OFF .. make make DESTDIR=/desired/path/to/installation install
the file
libyaml-cpp.a
will be created upon successful compilation in DESTDIR.for macOS, use Homebrew
brew install yaml-cpp
. For Linux, use your package manager, for instance, in Debian usesudo apt-get install libyaml-cpp-dev
or install from source using the instructions detailed above.)doctest, install CMAKE, and build doctest from source with:
git clone https://github.com/doctest/doctest.git cd doctest cmake . make DESTDIR=/desired/path/to/installation install
the file
doctest.h
will be created upon successful compilation in DESTDIR/PREFIX, the default PREFIX is /usr/local/.for macOS, use Homebrew
brew install doctest
. For Linux, use your package manager, for instance, in Debian usesudo apt-get install doctest-dev
or install from source using the instructions detailed above.)Windows using Windows Subsystem for Linux (WSL)
It is recommended to use Windows WSL instead of cygwin. For this purpose, open a PowerShell terminal and install WSL with
wsl --install -d Debian
, then reboot your system. Once your system is up again, a Powershell terminal will open itself and request a new UNIX username. Note that your username must fulfill the UNIX username conventions (must start with a lowercase letter, may only contain lowercase letters, underscore (_), and dash (-), and may optionally end with a dollar sign ($)). After accepting the username, a password needs to be provided. Then the terminal will open the Debian Linux subsystem inside Windows. To update your subsystem and install the required libraries, usesudo apt update && sudo apt upgrade -y sudo apt-get -y install build-essential libyaml-cpp-dev doctest-dev yes | pip3 install openapi-core
For basic usage please refer to WSL documentation.
How to build?
After successful installation of the required libraries, type
git clone https://gitlab.com/nsf-muses/module-cmf/cmf
bash build.sh
The executable cmf will be created upon successful compilation and
linking. Note that if the libraries are not installed in the default
path, the
Makefile
will need some modifications, specifically in the flags -I and -L inside
CXXFLAGS
and LDFLAGS
, respectively.
Usage
The basic execution involves one input yaml file called
config.yaml, this file can be created with the python script
create_config.py.
Then, this file has to be validated against the openAPI CMF
specifications
yaml,
with the python script
yaml_preprocess.py,
where all the missing values will be filled into their default value and
the validated_config.yaml
file will be created. If the config.yaml
is valid then the cmf
executable can be called. The cmf
executable admits either no arguments (default case) or just one: the
path for the validated_config.yaml
file, which by default is
../input/validated_config.yaml
. After this,
clean_output.py,
a python script layer is called to clean, interpolate, and filter the
data into quarks, baryons and vacuum, and then split it into stable,
metastable, and unstable solutions. Finally, the
postprocess.py
script is executed to create the output files for the other MUSES
modules based on the cleaned ouput files from the previous step. In
order to expedite the preprocess-execution-postprocess cycle, two
execution scripts are provided:
run_docker.sh,
for docker execution with a config.yaml inside the default input folder;
and
run.sh
for local execution with a config.yaml inside the default input folder
Using Docker
The most basic execution is called the default one, which will use this YAML configuration file . After successfully built of the container, it can be executed with
cd /path/to/git/clone/of/cmf/repo/
bash run_docker_default.sh
the output files will be located in /path/to/git/clone/of/cmf/repo/output/.
For a run with different parameters, just create a new YAML configuration file inside /path/to/git/clone/of/cmf/repo/input/ using the command line options for the python script create_config.py, then:
cd /path/to/git/clone/of/cmf/repo/
bash run_docker.sh
Without using Docker
After successful building via bash build.sh, and creation of a config.yaml file with the python script create_config.py, type
cd /path/to/git/clone/of/cmf/repo/
bash run.sh
For default execution without Docker, type
cd /path/to/git/clone/of/cmf/repo/
bash run_default.sh
the output files will be located in
/path/to/git/clone/of/cmf/repo/output/
.
Output
Successful execution for a production run will produce multiple output files in the
/path/to/git/clone/of/cmf/repo/output/
folder depending on the value
of the flags output_Lepton
, output_flavor_equilibration
,
output_particle_properties
, and output_debug
:
CMF_output_stable.csv/h5, tabulated CSV/HDF5 output for the stable EoS as defined in the schema inside the OpenAPI-Specifications file
CMF_output_metastable.csv/h5, tabulated CSV/HDF5 output for the metastable EoS as defined in the schema inside the OpenAPI-Specifications file
CMF_output_unstable.csv/h5, tabulated CSV/HDF5 output for the unstable EoS as defined in the schema inside the OpenAPI-Specifications file
CMF_output_particle_properties_baryons.csv/h5, tabulated CSV/HDF5 output for the baryons stable+metastable EoS population details as defined in the schema inside the OpenAPI-Specifications file. Outputed if
output_particle_properties
is set to true.CMF_output_particle_properties_quarks.csv/h5, tabulated CSV/HDF5 output for the quark stable+metastable EoS population details as defined in the schema inside the OpenAPI-Specifications file. Outputed if
output_particle_properties
is set to true.CMF_output_for_Lepton_quarks.csv/h5, tabulated CSV/HDF5 output for the quarks stable+metastable EoS for Lepton module as defined in the schema inside the OpenAPI-Specifications file. Outputed if
output_Lepton
is set to true.CMF_output_for_Lepton_baryons.csv/h5, tabulated CSV/HDF5 output for the baryons stable+metastable EoS for Lepton module as defined in the schema inside the OpenAPI-Specifications file. Outputed if
output_Lepton
is set to true.CMF_output_for_Flavor_equilibration.csv/h5, tabulated CSV/HDF5 output for the stable EoS for Flavor equilibration module as defined in the schema inside the OpenAPI-Specifications file. Outputed if
output_Flavor_equilibration
is set to true.
Scientific motivation and algorithm
Introduction
Since the inception of the Big Bang theory, the realm of physics spanning from Planck’s time (\(10^{-43} \text{s}\)) to the present has piqued significant interest. According to this theory, scientists posit the existence of a singularity, characterized by quantum fluctuations, at the universe’s inception. Suddenly, a colossal explosion ensued, releasing an immense surge of energy. In this extraordinary environment of scorching temperatures, matter was conspicuously absent, leaving only pure radiation fields in its wake.
Approximately \(10^{-36} \text{s}\) later, the universe underwent a remarkable expansion known as the inflation era, during which the four fundamental forces segregated. Following this era of inflation, the universe continued to expand, and temperatures gradually subsided, allowing matter to take form. At this juncture, a scalding concoction of quark-gluon plasma (QGP), comprising liberated quarks, gluons, photons, and leptons, emerged. From this primordial plasma, hadrons emerged.
The dynamics in this energy regime are governed by quantum chromodynamics (QCD), which can be categorized into two sub-regimes: the high-energy realm (\(10^2 \text{GeV}\)) and the low-energy realm (\(10^{-2} \text{GeV}\)). In the high-energy realm, quarks and gluons are the dominant degrees of freedom, with quarks exhibiting asymptotic freedom, characterized by a small coupling constant and the applicability of perturbation theory. Conversely, in the low-energy realm, quarks and gluons are confined within hadrons, resulting in a large coupling constant and the inapplicability of perturbation theory. This low-energy realm is also referred to as the non-perturbative regime of QCD. The interplay of asymptotic freedom and quark confinement confers distinctive properties upon the strong force, setting it apart from other forces.
As the universe expanded and cooled, it gave rise to galaxies, stars, and ultimately life. To this day, 13.7 billion years after the Big Bang, the universe continues its expansion.
To unravel the mysteries of the early universe, physicists delve into high-energy interactions. This quest is pursued through relativistic heavy-ion collisions (HICs). Relativistic HICs recreate the extreme conditions of QCD matter by colliding two beams of heavy ions, each hurtling at approximately 99% of the speed of light, head-on. Under specific conditions, this collision melts heavy ions, releasing their constituent gluons and quarks. As the collision zone expands and temperatures plummet, hadronization occurs, causing quarks and gluons to coalesce into hadrons. Throughout this process, the properties of these particles undergo profound alterations, offering insights into the events within the collision zone. Empirical data is meticulously analyzed using appropriate techniques to decipher the intricacies of QCD physics.
The property of asymptotic freedom in strong interactions endows the QGP with chiral symmetry. Within chiral symmetry, the mass of light quarks becomes negligible in comparison to that of heavy quarks, a scenario known as the chiral limit. At low temperatures and moderate densities, hadrons materialize due to QCD confinement. The transition from QGP to hadrons, marking the breaking of chiral symmetry, has been estimated through recent lattice calculations to occur at around \(T_c \sim 155 \text{MeV}\). Moreover, at low baryonic densities and high temperatures, a crossover region materializes where quarks and hadrons coexist, constituting a second-order phase transition. Within the cores of neutron stars, where densities can reach several times the nuclear saturation density, this environment serves as a natural laboratory for probing QCD physics.
Neutron star interiors encompass a vast range of densities, spanning from approximately \(10^{4} \text{g cm}^{-3}\) in the crust to about \(10^{15} \text{g cm}^{-3}\) in the stellar core, representing several times the nuclear saturation density. While our understanding of matter holds reasonably well up to slightly beyond saturation density, knowledge about higher densities remains limited. An exception occurs at extremely high densities, surpassing those within neutron star cores, where perturbative QCD (PQCD) yields reliable results. Given that lattice QCD has not yet been extrapolated to high densities, effective models, such as the CMF model, calibrated for different energy regimes, become a natural choice for describing such environments. These models can generate dependable results pertaining to the matter’s equation of state (EoS) and the associated particle population. In the context of neutron stars, this data can be employed in dynamic simulations encompassing core-collapse supernova explosions, star cooling, and compact star mergers, necessitating tabulated information on microphysics as input.
Algorithm
In computational terms, the CMF model is represented as a collection of seven coupled non-linear algebraic equations for the variables \(\sigma\), \(\zeta\), \(\delta\), \(\omega\), \(\rho\), \(\phi\), and \(\Phi\):
where the index \(i\) runs for quarks (up, down, strange), Baryons (Octet and Decuplet), Mesons (scalar, pseudoscalar, and vector), and their correspondent antiparticles. The coupling factors \(g_{i\sigma}\), \(g_{i\zeta}\), \(g_{i\delta}\), \(g_{i\omega}\), \(g_{i\phi}\), \(g_{i\Phi}\) correlate particle \(i\)-th with the mean fields \(\sigma\), \(\zeta\), \(\delta\), \(\omega\), \(\phi\), and \(\rho\), respectively. \(\rho_{s}\) is the scalar density and \(n_B\) is the vector density.
The following flowchart represents the basic algorithm of the code:
Therefore, the main solving routine used is the multidimensional root solver fsolve based on the MINPACK library.