SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Classes that compute and store various data for Schwarzschild modelling, and the driver class for performing modelling. More...
#include "common.h"
Classes | |
class | smile::CBasicSchwData |
Base class for Schwarzschild Data objects. More... | |
class | smile::CBasicSchwModel |
Base class for Schwarzschild Modelling driver objects. More... | |
class | smile::CMatrixBasicSchwModel |
matrix interface class that passes the linear matrix elements from Schwarzschild model object to the solver More... | |
class | smile::CBasicShellSchwData |
Base class for storing kinematic information on a radial grid. More... | |
class | smile::CSchwDataKinemShell |
Schwarzschild data object to handle (rudimentary) kinematic data, in the form of radial and tangential velocity dispersions in a number of radial shells. More... | |
class | smile::CSchwDataAngMomDist |
Schwarzschild data object to manage kinematic data in the form of binned angular momentum distribution as a function of energy. More... | |
class | smile::CSchwDataBasicDens |
Base class for density data objects. More... | |
class | smile::CSchwDataDensGrid |
Base class for Schwarzschild data objects with grid-based density model. More... | |
class | smile::CSchwDataDensGridClassic |
Schwarzschild data object for the classic grid-based density model. More... | |
class | smile::CSchwDataDensGridCylindrical |
Schwarzschild data object for the grid-based density model in cylindrical geometry. More... | |
class | smile::CSchwDataDensSH |
Base class for variants of Schwarzschild density data objects based on spherical-harmonic expansion of density of both target model and orbits. More... | |
class | smile::CSchwDataDensSHMesh |
Variant of Schwarzschild density data object based on spherical-harmonic expansion of potential coefficients at radial mesh points. More... | |
class | smile::CSchwDataDensSHBSE |
Variant of Schwarzschild density data object based on basis-set expansion in terms of Zhao(1995) basis set for density of both required profile and of orbits. More... | |
class | smile::CSchwInformation |
Information object that keeps density data for all variants of Schwarzschild data objects. More... | |
class | smile::COrbitRuntimeSchwKinemShell |
Runtime function recording shell-based kinematic data (time spent in each shell and radial/tangential velocity dispersion in a shell). More... | |
class | smile::COrbitRuntimeSchwKinemShellCreator |
corresponding creator class for shell-kinematic Schw runtime function More... | |
class | smile::COrbitRuntimeSchwAngMomDist |
Runtime function recording binned angular momentum distribution. More... | |
class | smile::COrbitRuntimeSchwAngMomDistCreator |
corresponding creator class for angular momentum Schw runtime function More... | |
class | smile::COrbitRuntimeSchwDensGrid |
Runtime function corresponding to classic 3d-grid Schwarzschild density data object. More... | |
class | smile::COrbitRuntimeSchwDensGridCreator |
corresponding creator class for classic Schw runtime function More... | |
class | smile::COrbitRuntimeSchwDensSH |
Runtime function corresponding to Schwatzschild density data object based on spherical-harmonic expansion of potential coefficients at radial grid points or for some radial basis functions (serves both variants) More... | |
class | smile::COrbitRuntimeSchwDensSHCreator |
corresponding creator class for SH Schw runtime function More... | |
class | smile::CSchwModelQuadOpt |
The class for performing Schwarzschild modelling of density and kinematic data from the theoretical point of view (without "observational errors"). More... | |
class | smile::CChaosOrbitFilteringFnc |
Orbit filtering function that evaluates chaotic properties of an orbit, based on threshold in frequency diffusion rate and in Lyapunov exponent value, multiplied by some predefined factor. More... | |
class | smile::CCentrophilicOrbitFilteringFnc |
Orbit filtering function that selects centrophilic orbits. More... | |
class | smile::CAngMomOrbitFilteringFnc |
Orbit filtering function that evaluates the z-component of angular momentum of an orbit. More... | |
Namespaces | |
smile | |
common namespace for all core SMILE classes, functions and variables | |
Typedefs | |
------- Definition of base (abstract) classes -------- | |
typedef std::vector< const CBasicSchwData * > | smile::vectorSchwData |
array of heterogeneous data objects to be used simultaneously in the modelling | |
Functions | |
------- Miscellaneous functions -------- | |
void | smile::createRadialGrid (const CDensity *density, size_t numShells, double totalMass, double innerShellMass, double outerShellMass, vectord *grid) |
convenience function that creates a "non-uniform grid" in mass and returns array of corresponding radii. | |
const char * | smile::getSchwDataNameByType (CBasicSchwData::SCHWDATATYPE dataType) |
Correspondence between Schw.model names and types. More... | |
CBasicSchwData::SCHWDATATYPE | smile::getSchwDataTypeByName (const std::string &DataName) |
return Schwarzschild data type associated with the text name (Classic by default) | |
CBasicOrbitRuntimeFncCreator * | smile::createSchwCreator (const CBasicSchwData *schwData) |
convenience function to return an orbit runtime function creator associated with a given Schwarzschild data class | |
Classes that compute and store various data for Schwarzschild modelling, and the driver class for performing modelling.
Class hierachy for Schwarzschild modelling is split into two connected class lineages.
The Data objects, descendants of smile::CBasicSchwData, are used to represent various density and kinematic data. They must be initialized prior to orbit library construction. Each data class implements the computation of constraints for a given potential model and for each orbit, and has a corresponding orbit runtime function which records the necessary data for each orbit (and its associated runtime function creator class). All data classes share the same information class (smile::CSchwInformation), which stores the data as a plain 1d array and has an additional flag specifying the data class. In the present version, three variants of density models (Classic, BSE and Spline) and one fairly simple kinematic data model (which allows to specify velocity anisotropy coefficient as a function of radius) are implemented.
The Modelling class is constructed only temporary for solving the problem of finding orbit weights which reproduce the set of constraints specified by one or more individual data objects, by solving some kind of optimization problem (i.e. quadratic optimization, non-negative least squares, etc.). Presently there is only one implementation, CSchwModelQuadratic. It combines several data classes (e.g. one for density model and one for kinematic data) into one set of linear equations with some objective(penalty) function to be minimized, and calls an instance of LP/QP solver to obtain the solution. Another function implemented in the is the statistical information about the quality of the model (i.e. the number of infeasible constraints, the spread in orbit weights, etc.) This statistics may be obtained without invoking the optimization itself.