This MODULE contains the implementation of the methods of TYPE bns_base that deal with the computation of the radii of the stars.
FT 27.09.2022
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
double precision, | private, | parameter | :: | tol | = | 1.D-5 |
Finds the center of a star, as the point where the density is maximal.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnsbase), | intent(in) | :: | this |
bnsbase object owning this PROCEDURE |
||
double precision, | intent(in) | :: | separation |
Separation between the stars |
||
double precision, | intent(in) | :: | x_sign |
Sign of the x coordinates of the point inside the star |
||
procedure(get_density_at_pos), | optional | :: | get_density |
Center of a star, as the point where the density is maximal.
Finds the surfaces of the stars, and prints them to a formatted file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnsbase), | intent(inout) | :: | this |
bnsbase object owning this PROCEDURE |
Finds the radius of a matter object, relative to a center and along a direction. The radius is determined as the first point where the density is zero.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnsbase), | intent(in) | :: | this |
bnsbase object owning this PROCEDURE |
||
double precision, | intent(in), | DIMENSION(3) | :: | center |
Center point relative to which the radius is measured |
|
double precision, | intent(in), | DIMENSION(3) | :: | vector |
Vector that defines the direction along which to measure the radius. If not normalized, it will be normalized. |
|
procedure(get_density_at_pos), | optional | :: | get_density |
Radius of the star relative to center
, along the direction
specified by vector
Finds the surface of a star, using [[bnsbase::find_radius]] along many directions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bnsbase), | intent(in) | :: | this |
bnsbase object owning this PROCEDURE |
||
double precision, | intent(in), | DIMENSION(3) | :: | center |
Center point relative to which the radius is measured |
|
integer, | intent(in) | :: | n_theta |
Number of points in for the colatitude |
||
integer, | intent(in) | :: | n_phi |
Number of points in for the azimuth |
||
double precision, | intent(out), | DIMENSION(:,:,:), ALLOCATABLE | :: | surface |
Array storing the coordinates of the points on the surface |