constructor Submodule

Implementation of the constructor and destructor of TYPE bnsfuka, and of the bnsfuka-member PROCEDURES that call the C-bound PROCEDURES constructig and destructing the \(\texttt{FUKA}\) \(\texttt{bns_export}\) object

FT 23.10.2020



Uses

  • module~~constructor~3~~UsesGraph module~constructor~3 constructor module~bns_fuka bns_fuka module~constructor~3->module~bns_fuka iso_c_binding iso_c_binding module~bns_fuka->iso_c_binding mesh_refinement mesh_refinement module~bns_fuka->mesh_refinement module~bns_base bns_base module~bns_fuka->module~bns_base module~id_base id_base module~bns_fuka->module~id_base module~utility utility module~bns_fuka->module~utility timing timing module~bns_fuka->timing module~bns_base->module~id_base module~bns_base->module~utility module~id_base->module~utility module~id_base->timing constants constants module~utility->constants matrix matrix module~utility->matrix

Contents


Module Procedures

module procedure construct_binary module subroutine construct_binary(this, fukafile)

Construct the \(\texttt{FUKA}\) \(\texttt{bns_export}\) object

Read more…

Arguments

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

bnsfuka object which this PROCEDURE is a member of

character(kind=C_CHAR, len=*), intent(in), optional :: fukafile

\(\texttt{FUKA}\) binary file containing the spectral \(\mathrm{BNS}\) \(\mathrm{ID}\)

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

Constructs an object of TYPE bnsfuka

Read more…

Arguments

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

Constructed bnsfuka object

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

\(\texttt{FUKA}\) binary file containing the spectral \(\mathrm{BNS}\) \(\mathrm{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_binary module subroutine destruct_binary(this)

Destructs the \(\texttt{FUKA}\) \(\texttt{bns_export}\) object and frees the pointer bns_ptr pointing to it

Read more…

Arguments

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

bnsfuka object which this PROCEDURE is a member of

module procedure destruct_bnsfuka module subroutine destruct_bnsfuka(this)

Destructs an object of TYPE bnsfuka

Read more…

Arguments

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

bnsfuka 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 initialize_id_bnsfuka recursive module subroutine initialize_id_bnsfuka(this, flag, switch)

Initialize the \(\texttt{FUKA}\) \(\mathrm{BNS}\) \(\mathrm{ID}\).

Read more…

Arguments

Type IntentOptional Attributes Name
class(bnsfuka), 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