constructor Submodule

Implementation of the constructor and destructor of TYPE ejecta

FT xx.11.2021



Uses

  • module~~constructor~5~~UsesGraph module~constructor~5 constructor module~ejecta_generic ejecta_generic module~constructor~5->module~ejecta_generic module~id_base id_base module~ejecta_generic->module~id_base module~utility utility module~ejecta_generic->module~utility module~id_base->module~utility timing timing module~id_base->timing constants constants module~utility->constants matrix matrix module~utility->matrix

Contents


Module Procedures

module procedure construct_ejecta module subroutine construct_ejecta(derived_type, filename, eos_filenames)

Constructs an object of TYPE ejecta

Read more…

Arguments

Type IntentOptional Attributes Name
class(ejecta), intent(out) :: derived_type

Constructed ejecta object

character(len=*), intent(in), optional :: filename

\(\texttt{LORENE}\) binary file containing the spectral DRS ID

character(len=*), intent(in), optional, DIMENSION(:) :: eos_filenames

Array of strings containing the names of the files containing the \(\mathrm{EOS}\) to be used for each matter object. If not PRESENT, information from the file filename is used

module procedure destruct_ejecta module subroutine destruct_ejecta(this)

Destructs an object of TYPE ejecta

Read more…

Arguments

Type IntentOptional Attributes Name
type(ejecta), intent(inout) :: this

ejecta object to be destructed

module procedure finalize module subroutine finalize(npart, pos, nlrf, u, pr, vel_u, theta, nstar, nu)

This SUBROUTINE is curretly just a placeholder. It could be used, for exmaple, to correct the ADM momentum at the end of the execution, or correct for residual eccentricity, etc.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: npart

Particle number

double precision, intent(inout), DIMENSION(3,npart) :: pos

Particle positions

double precision, intent(inout), DIMENSION(npart) :: nlrf

Baryon density in the local rest frame on the particles

double precision, intent(inout), DIMENSION(npart) :: u

Specific internal energy on the particles

double precision, intent(inout), DIMENSION(npart) :: pr

Pressure on the particles

double precision, intent(inout), DIMENSION(3,npart) :: vel_u

Spatial velocity in the computing frame on the particles

double precision, intent(inout), DIMENSION(npart) :: theta

Generalized Lorentz factor on the particles

double precision, intent(inout), DIMENSION(npart) :: nstar

Proper baryon density in the local rest frame on the particles

double precision, intent(inout), DIMENSION(npart) :: nu

Baryon number per particle

module procedure nothing module subroutine nothing(this, flag, switch)

Procedure that does nothing. It is used to instantiate a deferred idbase procedure which s not needed in TYPE ejecta_generic. It also serves as a placeholder in case the idbase procedure will be needed in the future.

Read more…

Arguments

Type IntentOptional Attributes Name
class(ejecta), intent(inout) :: this
integer, intent(in) :: flag

Identifies what kind of initialization has to be done

logical, intent(in), optional :: switch

If .TRUE., switch to a different initialization