CosmoGRaPH v0.0
Public Types | Public Member Functions | Public Attributes | List of all members
cosmo::Sheet Class Reference

#include <sheets.h>

Collaboration diagram for cosmo::Sheet:
Collaboration graph
[legend]

Public Types

enum  carrierCountScheme { per_dx = 0, per_ds = 1 }
 
enum  depositScheme { CIC = 0, PCS = 1, CINT = 2 }
 

Public Member Functions

void setDt (real_t dt)
 
real_t _S1IDXtoX0 (idx_t s1)
 
real_t _S2IDXtoY0 (idx_t s2)
 
real_t _S3IDXtoZ0 (idx_t s3)
 
real_t _S1IDXtoX0 (real_t s1)
 
real_t _S2IDXtoY0 (real_t s2)
 
real_t _S3IDXtoZ0 (real_t s3)
 
void _MassDeposit (real_t weight, real_t x_idx, real_t y_idx, real_t z_idx, arr_t &rho)
 
void _CICDeposit (real_t weight, real_t x_idx, real_t y_idx, real_t z_idx, arr_t &rho)
 
void _PCSDeposit (real_t weight, real_t x_idx, real_t y_idx, real_t z_idx, arr_t &rho)
 Piecewise cubic spline deposition.
 
void _CINTDeposit (real_t weight, real_t x_idx, real_t y_idx, real_t z_idx, arr_t &rho)
 Deposition based on cubic interoplation (CINT)
 
void _deconvolve (arr_t &field)
 
void _pushSheetMassToRho (idx_t s1, idx_t s2, idx_t s3)
 
void _setMetricPotentials ()
 
void _RK4Calc ()
 
void _stepInit ()
 
void _K1Finalize ()
 
void _K2Finalize ()
 
void _K3Finalize ()
 
void _K4Finalize ()
 
real_t _getXRangeInSVoxel (register_t &DX, idx_t s1_idx, idx_t s2_idx, idx_t s3_idx, real_t X0_lower, real_t X0_upper)
 
void addBSSNSource (BSSN *bssn, real_t tot_mass)
 
void rescaleFieldPerturbations (arr_t &field, real_t multiplier)
 
void rescaleVelocityPerturbations (arr_t &ux, arr_t &uy, arr_t &uz, real_t multiplier)
 
void rescalePositionPerturbations (arr_t &dx, arr_t &dy, arr_t &dz, real_t multiplier)
 
void rescaleAllFieldPerturbations (BSSN *bssn, real_t multiplier)
 
void RKStep (BSSN *bssn)
 
void stepInit ()
 
void K1Finalize ()
 
void K2Finalize ()
 
void K3Finalize ()
 
void K4Finalize ()
 
std::vector< real_t > getgammaiIJ (idx_t s1, idx_t s2, idx_t s3, BSSN *bssnSim)
 
std::vector< real_t > getgammaIJ (idx_t s1, idx_t s2, idx_t s3, BSSN *bssnSim)
 
std::vector< real_t > getRayDataAtS (idx_t s, BSSN *bssnSim, Lambda *lambda)
 Function to get metric/data for a particular particle; Currently only ok for zero shift (maybe ok in general?); returns data from _p register.
 

Public Attributes

idx_t nx
 
idx_t ny
 
idx_t nz
 
idx_t ns1
 
idx_t ns2
 
idx_t ns3
 Phase-space sheet resolution.
 
real_t lx
 
real_t ly
 
real_t lz
 Metric grid physical dimensions.
 
real_t dx
 
real_t dy
 
real_t dz
 Metric grid physical spacing.
 
register_t Dx
 
register_t Dy
 
register_t Dz
 Metric-space displacements.
 
register_t vx
 
register_t vy
 
register_t vz
 Phase-space velocity fields.
 
arr_t tmp
 Array for misc. tmp storage (such as deconvolving)
 
bool follow_null_geodesics
 
real_t rescale_sheet
 
real_t ray_bundle_epsilon
 
real_t det_g_obs
 
idx_t step
 
carrierCountScheme carrier_count_scheme
 
depositScheme deposit
 
idx_t carriers_per_dx
 
idx_t carriers_per_dy
 
idx_t carriers_per_dz
 
arr_t d1alpha_a
 
arr_t d2alpha_a
 
arr_t d3alpha_a
 
arr_t d1gammai11_a
 
arr_t d1gammai22_a
 
arr_t d1gammai33_a
 
arr_t d1gammai12_a
 
arr_t d1gammai13_a
 
arr_t d1gammai23_a
 
arr_t d2gammai11_a
 
arr_t d2gammai22_a
 
arr_t d2gammai33_a
 
arr_t d2gammai12_a
 
arr_t d2gammai13_a
 
arr_t d2gammai23_a
 
arr_t d3gammai11_a
 
arr_t d3gammai22_a
 
arr_t d3gammai33_a
 
arr_t d3gammai12_a
 
arr_t d3gammai13_a
 
arr_t d3gammai23_a
 
arr_t d1beta1_a
 
arr_t d1beta2_a
 
arr_t d1beta3_a
 
arr_t d2beta1_a
 
arr_t d2beta2_a
 
arr_t d2beta3_a
 
arr_t d3beta1_a
 
arr_t d3beta2_a
 
arr_t d3beta3_a
 

Detailed Description

Class used to run a sheet sim.

Member Function Documentation

real_t cosmo::Sheet::_getXRangeInSVoxel ( register_t DX,
idx_t  s1_idx,
idx_t  s2_idx,
idx_t  s3_idx,
real_t  X0_lower,
real_t  X0_upper 
)

Get Min/max x/y/z coordinates at voxel corners

void cosmo::Sheet::_pushSheetMassToRho ( idx_t  s1,
idx_t  s2,
idx_t  s3 
)

Compute conribution to rho(x) from data in a phase-space sheet voxel and add to rho(x) grid. Do so via 1501.01959 mass deposition scheme. TODO: improve; consider higher-order or analytic versions of this

void cosmo::Sheet::_RK4Calc ( )

Intermediate RK4 calculations for phase space fields

real_t cosmo::Sheet::_S1IDXtoX0 ( idx_t  s1)
inline

Functions to convert s-indices to non-displaced coordinates

void cosmo::Sheet::_setMetricPotentials ( )

Set metric potentials (or really just derivatives thereof)

void cosmo::Sheet::addBSSNSource ( BSSN bssn,
real_t  tot_mass 
)

Compute conribution to rho(x) from data in a phase-space Sheet voxel and add to rho(x) grid. Do so via 1501.01959 mass deposition scheme. TODO: improve; consider higher-order or analytic versions of this


The documentation for this class was generated from the following files: