integrate_baryon_mass_density Module Procedure

module procedure integrate_baryon_mass_density module subroutine integrate_baryon_mass_density(this, center, radius, central_density, dr, dth, dphi, mass, mass_profile, mass_profile_idx, radii, surf)

Uses

    • utility
    • numerics
    • constants
    • tensor
    • NR
  • proc~~integrate_baryon_mass_density~~UsesGraph proc~integrate_baryon_mass_density integrate_baryon_mass_density NR NR proc~integrate_baryon_mass_density->NR constants constants proc~integrate_baryon_mass_density->constants module~utility utility proc~integrate_baryon_mass_density->module~utility numerics numerics proc~integrate_baryon_mass_density->numerics tensor tensor proc~integrate_baryon_mass_density->tensor module~utility->constants matrix matrix module~utility->matrix

Perform 3D integration over a spherical grid of the baryon mass density. Output baryon mass and radial mass profile.

FT 19.02.2021

Upgraded to ellipsoidal grid

FT 15.11.2022


Arguments

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

Object of class idbase which this PROCEDURE is a member of

double precision, intent(in), DIMENSION(3) :: center

Center of the star

double precision, intent(in) :: radius

Central density of the star

double precision, intent(in) :: central_density

Integration steps

double precision, intent(in) :: dr

Radius of the star

double precision, intent(in) :: dth

Radius of the star

double precision, intent(in) :: dphi

Radius of the star

double precision, intent(inout) :: mass

Integrated mass of the star

double precision, intent(out), DIMENSION(3,0:NINT(radius/dr)) :: mass_profile

Array storing the radial mass profile of the star

integer, intent(out), DIMENSION(0:NINT(radius/dr)) :: mass_profile_idx

Array to store the indices for array mass_profile, sorted so that mass_profile[mass_profile_idx] is in increasing order

double precision, intent(in), optional, DIMENSION(2) :: radii
type(surface), intent(in), optional :: surf

Surface of the matter object


Calls

proc~~integrate_baryon_mass_density~~CallsGraph proc~integrate_baryon_mass_density integrate_baryon_mass_density bilinear_interpolation bilinear_interpolation proc~integrate_baryon_mass_density->bilinear_interpolation indexx indexx proc~integrate_baryon_mass_density->indexx proc~cartesian_from_spherical cartesian_from_spherical proc~integrate_baryon_mass_density->proc~cartesian_from_spherical proc~determinant_sym3x3 determinant_sym3x3 proc~integrate_baryon_mass_density->proc~determinant_sym3x3

Called by

proc~~integrate_baryon_mass_density~~CalledByGraph proc~integrate_baryon_mass_density integrate_baryon_mass_density interface~integrate_baryon_mass_density integrate_baryon_mass_density interface~integrate_baryon_mass_density->proc~integrate_baryon_mass_density

Contents


Variables

Type Visibility Attributes Name Initial
double precision, private :: a_x
double precision, private :: a_y
double precision, private :: a_z
double precision, private :: baryon_density
double precision, private :: colat
logical, private, parameter :: debug = .FALSE.
double precision, private, DIMENSION(6) :: g
double precision, private :: gamma_euler
double precision, private :: long
double precision, private :: mass_element
double precision, private :: max_radius
integer, private :: phi
integer, private :: r
double precision, private :: rad
double precision, private :: rad_coord
double precision, private :: sq_g
character(len=:), private, ALLOCATABLE :: surface_type
integer, private :: th
double precision, private :: xtemp
double precision, private :: ytemp
double precision, private :: ztemp