sph_variables Submodule

This SUBMODULE contains the implementation of the method of TYPE sph_particles that computes the \(\mathrm{SPH}\) variables.

FT 16.10.2020

Renamed from particles_methods to particles_sph_variables upon improving modularity

FT 12.07.2021



Uses

  • module~~sph_variables~~UsesGraph module~sph_variables sph_variables constants constants module~sph_variables->constants module~sph_particles sph_particles module~sph_variables->module~sph_particles module~utility utility module~sph_variables->module~utility module~sph_particles->module~utility module~id_base id_base module~sph_particles->module~id_base timing timing module~sph_particles->timing module~utility->constants matrix matrix module~utility->matrix module~id_base->module~utility module~id_base->timing

Contents


Module Procedures

module procedure compute_and_print_sph_variables module subroutine compute_and_print_sph_variables(this, namefile)

Compute the \(\mathrm{SPH}\) variables from the \(\mathrm{ID}\), and print them to a binary file to be read by \(\texttt{SPHINCS_BSSN}\), and to a formatted file

Read more…

Arguments

Type IntentOptional Attributes Name
class(particles), intent(inout) :: this

particles object which this PROCEDURE is a member of

character(len=*), intent(inout), optional :: namefile

Name of the formatted file where the SPH ID is printed to

module procedure compute_sph_hydro module subroutine compute_sph_hydro(this, npart_in, npart_fin, eqos, nlrf, u, Pr, enthalpy, cs, verbose)

Computes the hydro fields on a section of the particles specified as input. First, computes the \(\mathrm{SPH}\) pressure starting from the \(\mathrm{SPH}\) baryon mass density, and the specific internal energy. The pressure is computed differently for different \(\mathrm{EOS}\), and for cold and hot systems. Then computes the enthalpy and the sound speed accordingly.

Read more…

Arguments

Type IntentOptional Attributes Name
class(particles), intent(inout) :: this

particles object which this PROCEDURE is a member of

integer, intent(in) :: npart_in

First index of the desired section of the particles

integer, intent(in) :: npart_fin

Last index of the desired section of the particles

class(eos), intent(in) :: eqos

\(\mathrm{EOS}\) to be used

double precision, intent(in), DIMENSION(npart_fin - npart_in + 1) :: nlrf

Baryon mass density in the local rest frame

double precision, intent(inout), DIMENSION(npart_fin - npart_in + 1) :: u

Specific internal energy

double precision, intent(inout), DIMENSION(npart_fin - npart_in + 1) :: Pr

Pressure

double precision, intent(inout), DIMENSION(npart_fin - npart_in + 1) :: enthalpy

Enthalpy

double precision, intent(inout), DIMENSION(npart_fin - npart_in + 1) :: cs

Speed of sound

logical, intent(in), optional :: verbose