bssn_formulation Module

This module contains the definition of the EXTENDED TYPE bssn, representing the \(\mathrm{ID}\) for the \(\mathrm{BSSNOK}\) formulation of the Einstein equations



Uses

  • module~~bssn_formulation~~UsesGraph module~bssn_formulation bssn_formulation mesh_refinement mesh_refinement module~bssn_formulation->mesh_refinement module~id_base id_base module~bssn_formulation->module~id_base module~sph_particles sph_particles module~bssn_formulation->module~sph_particles module~standard_tpo_formulation standard_tpo_formulation module~bssn_formulation->module~standard_tpo_formulation module~utility utility module~bssn_formulation->module~utility timing timing module~bssn_formulation->timing module~id_base->module~utility module~id_base->timing module~sph_particles->module~id_base module~sph_particles->module~utility module~sph_particles->timing module~standard_tpo_formulation->mesh_refinement module~standard_tpo_formulation->module~id_base module~standard_tpo_formulation->module~sph_particles module~standard_tpo_formulation->module~utility module~standard_tpo_formulation->timing constants constants module~utility->constants matrix matrix module~utility->matrix

Used by

  • module~~bssn_formulation~~UsedByGraph module~bssn_formulation bssn_formulation module~bssn_variables bssn_variables module~bssn_variables->module~bssn_formulation module~constraints constraints module~constraints->module~bssn_formulation module~constructor constructor module~constructor->module~bssn_formulation module~io~3 io module~io~3->module~bssn_formulation module~landau_lifshitz landau_lifshitz module~landau_lifshitz->module~bssn_formulation module~memory~2 memory module~memory~2->module~bssn_formulation module~ricci ricci module~ricci->module~bssn_formulation program~convergence_test convergence_test program~convergence_test->module~bssn_formulation program~sphincs_id sphincs_id program~sphincs_id->module~bssn_formulation

Contents


Interfaces

interface

public interface bssn

interface

  • public subroutine bssn_constraint_terms_interior(nx, ny, nz, imin, imax, dx, dy, dz, gt11, gt12, gt13, gt22, gt23, gt33, At11, At12, At13, At22, At23, At33, trk, phi, Xt1, Xt2, Xt3, eTtt, eTtx, eTty, eTtz, eTxx, eTxy, eTxz, eTyy, eTyz, eTzz, alp, beta1, beta2, beta3, cXt1, cXt2, cXt3, Ham, M1, M2, M3, rho, s1, s2, s3) bind(C, NAME="0")

    ML_BSSN_NV_ConstraintTermsInterior_Body

    FT 03.02.2022


    Arguments

    Type IntentOptional Attributes Name
    integer(kind=C_INT), intent(in), VALUE :: nx
    integer(kind=C_INT), intent(in), VALUE :: ny
    integer(kind=C_INT), intent(in), VALUE :: nz
    integer(kind=C_INT), intent(in), DIMENSION(3) :: imin
    integer(kind=C_INT), intent(in), DIMENSION(3) :: imax
    real(kind=C_DOUBLE), intent(in), VALUE :: dx
    real(kind=C_DOUBLE), intent(in), VALUE :: dy
    real(kind=C_DOUBLE), intent(in), VALUE :: dz
    real(kind=C_DOUBLE), intent(in) :: gt11(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: gt12(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: gt13(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: gt22(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: gt23(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: gt33(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: At11(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: At12(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: At13(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: At22(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: At23(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: At33(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: trk(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: phi(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: Xt1(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: Xt2(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: Xt3(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTtt(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTtx(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTty(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTtz(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTxx(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTxy(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTxz(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTyy(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTyz(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: eTzz(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: alp(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: beta1(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: beta2(nx,ny,nz)
    real(kind=C_DOUBLE), intent(in) :: beta3(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: cXt1(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: cXt2(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: cXt3(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: Ham(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: M1(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: M2(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: M3(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: rho(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: s1(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: s2(nx,ny,nz)
    real(kind=C_DOUBLE), intent(out) :: s3(nx,ny,nz)

interface

  • public subroutine bssn_ricci_interior(nx, ny, nz, imin, imax, dx, dy, dz, gt11, gt12, gt13, gt22, gt23, gt33, At11, At12, At13, At22, At23, At33, trk, phi, Xt1, Xt2, Xt3, R11, R12, R13, R22, R23, R33, R) bind(C, NAME="0")

    ML_BSSN_NV_RicciInterior_Body

    FT 10.02.2022


    Arguments

    Type IntentOptional Attributes Name
    integer(kind=C_INT), intent(in), VALUE :: nx

    Number of mesh points in the direction

    integer(kind=C_INT), intent(in), VALUE :: ny

    Number of mesh points in the direction

    integer(kind=C_INT), intent(in), VALUE :: nz

    Number of mesh points in the direction

    integer(kind=C_INT), intent(in), DIMENSION(3) :: imin

    Minimum indexes at which to compute the Ricci tensor and scalar, along the three spatial directions. Usually, these are the first non-ghost indexes

    integer(kind=C_INT), intent(in), DIMENSION(3) :: imax

    Maximum indexes at which to compute the Ricci tensor and scalar, along the three spatial directions. Usually, these are the last non-ghost indexes

    real(kind=C_DOUBLE), intent(in), VALUE :: dx

    Mesh spacing in the direction

    real(kind=C_DOUBLE), intent(in), VALUE :: dy

    Mesh spacing in the direction

    real(kind=C_DOUBLE), intent(in), VALUE :: dz

    Mesh spacing in the direction

    real(kind=C_DOUBLE), intent(in) :: gt11(nx,ny,nz)

    3D array storing the component of the conformal spatal metric on the mesh

    real(kind=C_DOUBLE), intent(in) :: gt12(nx,ny,nz)

    3D array storing the component of the conformal spatal metric on the mesh

    real(kind=C_DOUBLE), intent(in) :: gt13(nx,ny,nz)

    3D array storing the component of the conformal spatal metric on the mesh

    real(kind=C_DOUBLE), intent(in) :: gt22(nx,ny,nz)

    3D array storing the component of the conformal spatal metric on the mesh

    real(kind=C_DOUBLE), intent(in) :: gt23(nx,ny,nz)

    3D array storing the component of the conformal spatal metric on the mesh

    real(kind=C_DOUBLE), intent(in) :: gt33(nx,ny,nz)

    3D array storing the component of the conformal spatal metric on the mesh

    real(kind=C_DOUBLE), intent(in) :: At11(nx,ny,nz)

    3D array storing the component of the conformal traceless extrinsic curvature on the mesh

    real(kind=C_DOUBLE), intent(in) :: At12(nx,ny,nz)

    3D array storing the component of the conformal traceless extrinsic curvature on the mesh

    real(kind=C_DOUBLE), intent(in) :: At13(nx,ny,nz)

    3D array storing the component of the conformal traceless extrinsic curvature on the mesh

    real(kind=C_DOUBLE), intent(in) :: At22(nx,ny,nz)

    3D array storing the component of the conformal traceless extrinsic curvature on the mesh

    real(kind=C_DOUBLE), intent(in) :: At23(nx,ny,nz)

    3D array storing the component of the conformal traceless extrinsic curvature on the mesh

    real(kind=C_DOUBLE), intent(in) :: At33(nx,ny,nz)

    3D array storing the component of the conformal traceless extrinsic curvature on the mesh

    real(kind=C_DOUBLE), intent(in) :: trk(nx,ny,nz)

    3D array storing the component of the trace of the extrinsic curvature on the mesh

    real(kind=C_DOUBLE), intent(in) :: phi(nx,ny,nz)

    3D array storing the conformal factor on the mesh

    real(kind=C_DOUBLE), intent(in) :: Xt1(nx,ny,nz)

    3D array storing the component of the conformal connection on the mesh

    real(kind=C_DOUBLE), intent(in) :: Xt2(nx,ny,nz)

    3D array storing the component of the conformal connection on the mesh

    real(kind=C_DOUBLE), intent(in) :: Xt3(nx,ny,nz)

    3D array storing the component of the conformal connection on the mesh

    real(kind=C_DOUBLE), intent(out) :: R11(nx,ny,nz)

    3D array storing the component of the spatial Ricci tensor on the mesh

    real(kind=C_DOUBLE), intent(out) :: R12(nx,ny,nz)

    3D array storing the component of the spatial Ricci tensor on the mesh

    real(kind=C_DOUBLE), intent(out) :: R13(nx,ny,nz)

    3D array storing the component of the spatial Ricci tensor on the mesh

    real(kind=C_DOUBLE), intent(out) :: R22(nx,ny,nz)

    3D array storing the component of the spatial Ricci tensor on the mesh

    real(kind=C_DOUBLE), intent(out) :: R23(nx,ny,nz)

    3D array storing the component of the spatial Ricci tensor on the mesh

    real(kind=C_DOUBLE), intent(out) :: R33(nx,ny,nz)

    3D array storing the component of the spatial Ricci tensor on the mesh

    real(kind=C_DOUBLE), intent(out) :: R(nx,ny,nz)

    3D array storing the Ricci scalar on the mesh

interface

  • public module subroutine compute_and_print_bssn_constraints_grid(this, id, namefile, name_logfile, points)

    Interface to compute_and_print_tpo_constraints_grid

    Arguments

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

    bssn object to which this PROCEDURE is bound

    class(idbase), intent(inout) :: id

    idbase object used to read the hydrodynamical \(\mathrm{ID}\) to the mesh

    character(len=*), intent(inout) :: namefile
    character(len=*), intent(inout) :: name_logfile
    double precision, intent(in), optional, DIMENSION(:,:,:,:), TARGET :: points

interface

  • public module subroutine compute_and_print_bssn_constraints_particles(this, parts_obj, namefile, name_logfile, points)

    Interface to compute_and_print_tpo_constraints_particles

    Arguments

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

    bssn object to which this PROCEDURE is bound

    class(particles), intent(inout) :: parts_obj

    particles object used to map the hydrodynamical \(\mathrm{ID}\) to the mesh

    character(len=*), intent(inout) :: namefile
    character(len=*), intent(inout) :: name_logfile
    double precision, intent(in), optional, DIMENSION(:,:,:,:), TARGET :: points

interface

  • public module subroutine compute_and_print_bssn_variables(this, namefile)

    Interface to compute_and_print_tpo_variables

    Arguments

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

    bssn object to which this PROCEDURE is bound

    character(len=*), intent(inout), optional :: namefile

interface

  • public module subroutine compute_ricci(this)

    Computes the Ricci tensor and the Ricci scalar on the mesh

    Arguments

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

    bssn object to which this PROCEDURE is bound

interface

  • public module function construct_bssn(id, dx, dy, dz) result(bssnid)

    Constructs the bssn object from the number of grid points along each axis

    Arguments

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

    idbase object to use to construct the bssn object

    double precision, optional :: dx

    Mesh spacings

    double precision, optional :: dy

    Mesh spacings

    double precision, optional :: dz

    Mesh spacings

    Return Value type(bssn)

    bssn object to be constructed

interface

  • public module subroutine deallocate_bssn_fields(this)

    Interface to deallocate_fields

    Arguments

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

    bssn object to which this PROCEDURE is bound

interface

  • public module subroutine destruct_bssn(this)

    Interface to destruct_bssn

    Arguments

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

    bssn object to which this PROCEDURE is bound

interface

  • public module subroutine destructor(this)

    Interface to destructor

    Arguments

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

    bssn object to which this PROCEDURE is bound, to be destructed

interface

  • public module subroutine print_formatted_id_bssn_variables(this, points, namefile)

    Interface to print_formatted_id_tpo_variables

    Arguments

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

    bssn object to which this PROCEDURE is bound

    double precision, intent(in), optional, DIMENSION(:,:,:,:) :: points
    character(len=*), intent(inout), optional :: namefile

interface

  • public module subroutine read_bssn_dump_print_formatted(this, namefile_bin, namefile)

    Interface to read_bssn_dump_print_formatted

    Arguments

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

    bssn object to which this PROCEDURE is bound

    character(len=*), intent(inout), optional :: namefile_bin
    character(len=*), intent(inout), optional :: namefile

Derived Types

type, public, extends(tpo) ::  bssn

TYPE representing the \(\mathrm{BSSNOK}\) formulation of the Einstein equations

Components

Type Visibility Attributes Name Initial
type(grid_function), public :: A_BSSN3_ll

Conformal traceless extrinsic curvature

type(grid_function), public :: GC

Connection constraint computed with the \(\mathrm{ID}\) on the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: GC_int

Integral of the connection constraint computed with the \(\mathrm{ID}\) on the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: GC_l2

norm of the connection constraint computed with the \(\mathrm{ID}\) on the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: GC_loo

norm, i.e., supremum of the absolute value, of the connection constraint computed with the \(\mathrm{ID}\) on the mesh

type(grid_function), public :: GC_parts

Connection constraint computed with the \(\mathrm{BSSNOK}\) \(\mathrm{ID}\) on the mesh, and the hydrodynamical \(\mathrm{ID}\) mapped from the particles to the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: GC_parts_int

Integral of the connection constraint computed with the \(\mathrm{BSSNOK}\) \(\mathrm{ID}\) on the mesh, and the hydrodynamical \(\mathrm{ID}\) mapped from the particles to the mesh with the \(\mathrm{ID}\) on the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: GC_parts_l2

norm of the connection constraint computed with the \(\mathrm{BSSNOK}\) \(\mathrm{ID}\) on the mesh, and the hydrodynamical \(\mathrm{ID}\) mapped from the particles to the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: GC_parts_loo

norm, i.e., supremum of the absolute value, of the connection constraint computed with the \(\mathrm{BSSNOK}\) \(\mathrm{ID}\) on the mesh, and the hydrodynamical \(\mathrm{ID}\) mapped from the particles to the mesh

type(grid_function), public :: Gamma_u

Conformal connection

type(grid_function_scalar), public :: HC

Grid scalar function storing the Hamiltonian constraint (violations) computed using the ID on the mesh

double precision, public, DIMENSION(:), ALLOCATABLE :: HC_int

Integral the Hamiltonian constraint computed using the stress-energy tensor mapped from the particles

double precision, public, DIMENSION(:), ALLOCATABLE :: HC_l2

norm of the Hamiltonian constraint computed on the mesh

double precision, public, DIMENSION(:), ALLOCATABLE :: HC_loo

norm of the Hamiltonian constraint computed on the mesh (i.e., its maximum)

type(grid_function_scalar), public :: HC_parts

Grid scalar function storing the Hamiltonian constraint (violations) computed using the stress-energy tensor mapped from the particles to the mesh

double precision, public, DIMENSION(:), ALLOCATABLE :: HC_parts_int

Integral the Hamiltonian constraint computed on the mesh

double precision, public, DIMENSION(:), ALLOCATABLE :: HC_parts_l2

norm of the Hamiltonian constraint computed on the mesh, using the stress-energy tensor mapped from the particles

double precision, public, DIMENSION(:), ALLOCATABLE :: HC_parts_loo

norm of the Hamiltonian constraint computed on the mesh, using the stress-energy tensor mapped from the particles (i.e., its maximum)

type(grid_function), public :: K_phys3_ll

Grid function storing the extrinsic curvature

type(grid_function), public :: MC

Grid function storing the momentum constraint (violations) computed using the ID on the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: MC_int

Integral of the momentum constraint computed on the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: MC_l2

norm of the momentum constraint computed on the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: MC_loo

norm of the momentum constraint computed on the mesh (i.e., its maximum)

type(grid_function), public :: MC_parts

Grid function storing the momentum constraint (violations) computed using the stress-energy tensor mapped from the particles to the mesh

double precision, public, DIMENSION(:,:), ALLOCATABLE :: MC_parts_int

Integral of the momentum constraint computed using the stress-energy tensor mapped from the particles

double precision, public, DIMENSION(:,:), ALLOCATABLE :: MC_parts_l2

norm of the Hamiltonian constraint computed on the mesh, using the stress-energy tensor mapped from the particles

double precision, public, DIMENSION(:,:), ALLOCATABLE :: MC_parts_loo

norm of the momentum constraint computed on the mesh, using the stress-energy tensor mapped from the particles (i.e., its maximum)

type(grid_function), public :: Ricci_ll

Ricci tensor

type(grid_function_scalar), public :: Ricci_scalar

Ricci scalar

type(grid_function), public :: S

Grid function storing the matter source in the momentum constraint computed using the ID on the mesh, multiplied by

type(grid_function), public :: S_parts

Grid function storing the matter source in the momentum constraint computed using the stress-energy tensor mapped from the particles to the mesh, multiplied by

type(timer), public :: bssn_computer_timer

Timer that times how long it takes to compute the \(\mathrm{BSSNOK}\) variables on the refined mesh

integer, public :: call_flag = 0

Flag set to a value different than 0 if the SUBROUTINE compute_and_print_bssn_variables is called

integer, public :: cons_step

Constraint violations are printed to file every cons_step-th grid point

type(grid_function), public :: coords

Grid function storing the Cartesian coordinates

logical, public :: export_bin

.TRUE. if the binary files for SPHINCS_BSSN are to be exported, .FALSE. otherwise

logical, public :: export_constraints

.TRUE. if the constraint violations are to be printed to file, .FALSE. otherwise

logical, public :: export_constraints_details

.TRUE. if the points at which the constraints violations are within the intervals , with and , are to be printed to file; .FALSE. otherwise

logical, public :: export_constraints_x

.TRUE. if only the constrain violations on the axis are to be

logical, public :: export_constraints_xy

.TRUE. if only the constrain violations on the plane are to be

logical, public :: export_form_x

.TRUE. if the \(\mathrm{ID}\) in the formatted files is to be on the x axis only, .FALSE. otherwise

logical, public :: export_form_xy

.TRUE. if the \(\mathrm{ID}\) in the formatted files is to be on the xy plane only, .FALSE. otherwise

type(grid_function), public :: g_BSSN3_ll

Conformal spatial metric

type(grid_function), public :: g_phys3_ll

Grid function storing the spatial metric

type(timer), public :: grid_timer

Timer that times how long it takes to set up the grid and allocate the grid functions

type(timer), public :: importer_timer

Timer that times how long it takes to import the \(\texttt{LORENE}\) ID on the mesh

type(grid_function_scalar), public :: lapse

Grid scalar function storing the lapse function

type(level), public, DIMENSION(:), ALLOCATABLE :: levels

Array containing the information on each refinement level

integer, public :: n_matter

Number of matter objects in the physical system

integer, public :: nlevels

Number of refinement levels

integer, public, DIMENSION(:), ALLOCATABLE :: npoints_xaxis

Array containing the number of mesh points of the highest-resolution refinement level across the x-axis-size of the matter objects

type(grid_function_scalar), public :: phi

Conformal factor

type(grid_function_scalar), public :: rad_coord

Grid scalar function storing the radial coordinates of each grid point

type(grid_function_scalar), public :: rho

Grid scalar function storing the matter source in the Hamiltonian constraint computed using the ID on the mesh, multiplied by

type(grid_function_scalar), public :: rho_parts

Grid scalar function storing the matter source in the Hamiltonian constraint computed using the stress-energy tensor mapped from the particles to the mesh, multiplied by

type(grid_function), public :: shift_u

Grid function storing the shift vector

integer, public :: tpo_id_number

Negative integer that identifies the tpo object

type(grid_function_scalar), public :: trK

Trace of extrinsic curvature

Constructor

public interface construct_bssn ()

Finalizations Procedures

final :: destructor

Destructor; finalizes members from both TYPES tpo and bssn, by calling destruct_bssn

Type-Bound Procedures

procedure , public :: abs_values_in Interface
procedure , public , NON_OVERRIDABLE :: analyze_constraint Interface

Analyze a constraint (or an arbitrary scalar grid function) by examining its values at the refined mesh. Computes the number of mesh points at which the scalar grid function has values lying within predefined (hard-coded) intervals

Read more…
procedure , public , NON_OVERRIDABLE :: compute_adm_momentum_fluid_m2p Interface

Computes an estimate of the linear momentum of the fluid using the \(\mathrm{SPH}\) hydro fields, and the spacetime metric mapped from the mesh

Read more…
generic, public :: compute_and_print_tpo_constraints => compute_and_print_tpo_constraints_grid, compute_and_print_tpo_constraints_particles

Overloaded PROCEDURE to compute the constraints using only the \(\mathrm{ID}\) on the refined mesh, or the spacetime \(\mathrm{ID}\) on the refined mesh and the hydrodynamical \(\mathrm{ID}\) mapped from the particles to the refined mesh

procedure , public :: compute_and_print_tpo_constraints_grid => compute_and_print_bssn_constraints_grid Interface

Computes the \(\mathrm{BSSNOK}\) constraints using the full \(\mathrm{ID}\) on the refined mesh, prints a summary with the statistics for the constraints. Optionally, prints the constraints to a formatted file to be read by , and analyze the constraints by calling analyze_constraint

procedure , public :: compute_and_print_tpo_constraints_particles => compute_and_print_bssn_constraints_particles Interface

Computes the \(\mathrm{BSSNOK}\) constraints using the \(\mathrm{BSSNOK}\) \(\mathrm{ID}\) on the refined mesh and the hydrodynamical \(\mathrm{ID}\) mapped from the particles to the mesh, prints a summary with the statistics for the constraints. Optionally, prints the constraints to a formatted file to be read by , and analyze the constraints by calling analyze_constraint

procedure , public :: compute_and_print_tpo_variables => compute_and_print_bssn_variables Interface

Computes the \(\mathrm{BSSNOK}\) variables at the particle positions, and optionally prints them to a binary file to be read by and , and to a formatted file to be read by , by calling print_formatted_id_tpo_variables

procedure , public :: compute_ricci Interface

Computes the Ricci tensor and the Ricci scalar on the mesh

procedure , public :: deallocate_fields => deallocate_bssn_fields Interface

Deallocates memory for the bssn member arrays

procedure , public , NON_OVERRIDABLE :: deallocate_standard_tpo_variables Interface

Deallocates memory for the standard 3+1 fields

procedure , public :: define_allocate_fields => allocate_bssn_fields Interface

Allocates memory for the bssn member grid functions

procedure , public :: destruct_bssn Interface

Destructor for the EXTENDED TYPE bssn, not ABSTRACT TYPE tpo

procedure , public :: get_HC Interface
procedure , public :: get_HC_parts Interface
procedure , public :: get_MC Interface
procedure , public :: get_MC_parts Interface
procedure , public :: get_dx Interface
procedure , public :: get_dy Interface
procedure , public :: get_dz Interface
procedure , public :: get_grid_point Interface
procedure , public :: get_levels Interface
procedure , public :: get_ngrid_x Interface
procedure , public :: get_ngrid_y Interface
procedure , public :: get_ngrid_z Interface
procedure , public :: get_nlevels Interface
procedure , public :: get_xR Interface
procedure , public :: get_yR Interface
procedure , public :: get_zR Interface
procedure , public :: print_formatted_id_tpo_variables => print_formatted_id_bssn_variables Interface

Prints the \(\mathrm{BSSNOK}\) \(\mathrm{ID}\) to a formatted file

procedure , public , NON_OVERRIDABLE :: print_summary Interface

Prints a summary about the features of the refined mesh

procedure , public :: read_bssn_dump_print_formatted Interface

Reads the binary \(\mathrm{ID}\) file printed by compute_and_print_tpo_variables

procedure , public , NON_OVERRIDABLE :: setup_standard_tpo_variables Interface

Set up the refined mesh by reading the gravity_grid_parameter.dat parameter file, and read the standard 3+1 \(\mathrm{ID}\) using the given idbase object, on the refined mesh

procedure , public , NON_OVERRIDABLE :: test_recovery_m2p Interface

Computes the conserved variables from the physical ones, and vice versa, to test that the recovered physical variables are the same to those computed from the \(\mathrm{ID}\). Uses the metric mapped from the grid to the particles.

Read more…