Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
public module subroutine correct_center_of_mass(npart, pos, nu, get_density, validate_pos, com_star, verbose)
Arguments
Type
Intent
Optional
Attributes
Name
integer,
intent(in)
::
npart
double precision,
intent(inout),
DIMENSION(3,npart)
::
pos
double precision,
intent(inout),
DIMENSION(npart)
::
nu
function get_density(x, y, z) result(density)
Arguments
Type
Intent
Optional
Attributes
Name
double precision,
intent(in)
::
x
double precision,
intent(in)
::
y
double precision,
intent(in)
::
z
Return Value
double precision
function validate_pos(x, y, z) result(answer)
Arguments
Type
Intent
Optional
Attributes
Name
double precision,
intent(in)
::
x
double precision,
intent(in)
::
y
double precision,
intent(in)
::
z
Return Value
logical
double precision,
intent(in),
DIMENSION(3)
::
com_star
logical,
intent(in),
optional
::
verbose
Description
Translate the particles so that their center of mass
coincides with the center of mass of the star, given by \(\mathrm{ID}\)