SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Variant of Schwarzschild density data object based on spherical-harmonic expansion of potential coefficients at radial mesh points. More...
#include <schwarzschild.h>
Public Member Functions | |
CSchwDataDensSHMesh (const CDensity *density, size_t _numShells, double innerShellMass, double outerShellMass, size_t _Nang) | |
virtual SCHWDATATYPE | dataType () const |
descendant classes return their type | |
virtual std::string | dataName () const |
string identificator of the class | |
virtual void | computeDensityData (const CPointMassSet< double > &traj, vectord *data) const |
evaluate coefs for orbit trajectory data, called from COrbitRuntimeSchwSH, implemented differently in derived classes | |
virtual double | getConstraintNormFactor (size_t index) const |
return a scaling coefficient which is used to normalize the penalty for constraint deviation in the optimization problem. More... | |
virtual void | getCoefDecomposition (size_t index, double *n, int *l, int *m) const |
convenience function returning n,l,m for a given coef.index | |
Public Member Functions inherited from smile::CSchwDataDensSH | |
CSchwDataDensSH (const CDensity *density, size_t _Nang) | |
virtual size_t | numConstraints () const |
number of constraints that this kind of data object handles | |
virtual double | getConstraint (size_t index) const |
return the value of the given constraint | |
size_t | getNumCoefsAngularExpansion () const |
return number of coefficients in angular spherical-harmonic expansion | |
Public Member Functions inherited from smile::CSchwDataBasicDens | |
CSchwDataBasicDens (const CDensity *density) | |
virtual double | getOrbitConstraint (size_t index, const CSchwInformation *info) const |
decode constraint value from an information object stored for a given orbit | |
virtual bool | isSchwInformationCorrect (const CSchwInformation *info) const |
check compatibility of information object for an orbit with this data object | |
Static Public Member Functions | |
static const char * | myName () |
Private Attributes | |
const size_t | numMesh |
number of mesh points for computing expansion coefficients stored for convenience (equal to meshRadii.size()) | |
vectord | meshRadii |
expansion coefficients are evaluated at given radii | |
Additional Inherited Members | |
Public Types inherited from smile::CBasicSchwData | |
enum | SCHWDATATYPE { SD_UNKNOWN =0, SD_DENS =0x100, SD_KINEM =0x200, SD_DENS_SPATIAL_GRID =0x40, SD_DENS_SPHERICAL_HARMONIC =0x80, SD_DENS_GRIDCLASSIC =SD_DENS | SD_DENS_SPATIAL_GRID | 1, SD_DENS_GRIDCYLINDRICAL =SD_DENS | SD_DENS_SPATIAL_GRID | 2, SD_DENS_SHBSE =SD_DENS | SD_DENS_SPHERICAL_HARMONIC | 3, SD_DENS_SHMESH =SD_DENS | SD_DENS_SPHERICAL_HARMONIC | 4, SD_KINEM_SHELL =SD_KINEM| 1, SD_KINEM_ANGMOMDIST =SD_KINEM| 2 } |
Lists all possible variants of data objects. More... | |
Protected Attributes inherited from smile::CSchwDataDensSH | |
const size_t | Nang |
order of expansion in angular harmonics (lmax) | |
vectord | coefConstraints |
required constraints of the model (specified by descendant classes) | |
Protected Attributes inherited from smile::CSchwDataBasicDens | |
double | totalMass |
Variant of Schwarzschild density data object based on spherical-harmonic expansion of potential coefficients at radial mesh points.
Only even non-negative harmonics in l,m are used because of triaxial symmetry. Nang is the expansion order (lmax), and the number of coefficients at each radius is (Nang/2+1)*(Nang/2+2)/2 Note: the potential in which the model is evolved, needs not to be itself a spline expansion, but if it is, then the model coefs are initialized from the potential rather than by computing integrals over density (which are expensive).
|
virtual |
return a scaling coefficient which is used to normalize the penalty for constraint deviation in the optimization problem.
Introduced to make the optimization problem more uniformly scaled (//optional, by default returns 1)
Implements smile::CBasicSchwData.