#include <sheets.h>
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 |
Class used to run a sheet sim.
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
|
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