![]() |
SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
Classes for computing potential, forces and density for various mass models. More...


Classes | |
| class | smile::CDensity |
| Base class defining density model (without corresponding potential). More... | |
| class | smile::CDensityPlummer |
| Plummer density profile, triaxial. More... | |
| class | smile::CDensityIsochrone |
| Isochrone density profile, triaxial. More... | |
| class | smile::CDensityPerfectEllipsoid |
| Triaxial Perfect Ellipsoid density profile. More... | |
| class | smile::CDensityNFW |
| modified Navarro-Frenk-White density profile, triaxial. More... | |
| class | smile::CDensitySersic |
| Sersic profile, triaxial. More... | |
| class | smile::CDensityExpDisk |
| Exponential disk with several variants of vertical profile and spiral structure. More... | |
| class | smile::CDensityEllipsoidal |
| Ellipsoidal model. More... | |
| class | smile::CDensityMGE |
| Multi-Gaussian expansion of a triaxial density profile. More... | |
| struct | smile::CDensityMGE::CGaussian |
| defines one component of the multi-gaussian expansion More... | |
| class | smile::CPotential |
| base class for potential-density model including potential derivatives (=forces) More... | |
| class | smile::CPotentialComposite |
| A composite potential which consists of several other potential types, plus a possible black hole and a rotating reference frame. More... | |
| class | smile::CPotentialLog |
| Logarithmic potential, with possible core. More... | |
| class | smile::CPotentialHarmonic |
| Potential of a constant-density (harmonic) core with different frequencies of oscillations in three directions. More... | |
| class | smile::CPotentialSpherical |
| Spherically-symmetric arbitrary density profile potential provided by CMassModel. More... | |
| class | smile::CPotentialMiyamotoNagai |
| Miyamoto-Nagai axisymmetric potential; equivalent to Plummer if A=0. More... | |
| class | smile::CPotentialFerrers |
| Ferrers density profile (with finite size R and density (1-(r/R)^2)^2). More... | |
| class | smile::CPotentialDehnen |
| Dehnen(1993) double power-law model. More... | |
| class | smile::CPotentialSH |
| parent class for all potential expansions based on spherical harmonics for angular variables More... | |
| class | smile::CPotentialBSE |
| basis-set expansion on the Zhao(1996) basis set (alpha models) More... | |
| class | smile::CPotentialBSECompact |
| basis-set expansion using spherical Bessel functions (e.g.Allen et al.1990) More... | |
| class | smile::CPotentialSpline |
| spherical-harmonic expansion of potential with coefficients being spline functions of radius More... | |
| class | smile::CPotentialDirect |
| Direct computation of potential for any density profile, using double integration over space. More... | |
| class | smile::CPotentialCylSpline |
| angular expansion of potential in azimuthal angle with coefficients being 2d spline functions of R,z More... | |
| class | smile::CPotentialScaleFree |
| simple power-law potential/density pair: rho ~ r^-gamma More... | |
| class | smile::CPotentialScaleFreeSH |
| angular expansion of scale-free potential in spherical harmonics More... | |
| class | smile::CPotentialNB |
| frozen N-body potential calculated by tree-code algorithm (based on hackcode1.c) More... | |
| struct | smile::CPotentialNB::node |
| NODE: data common to BODY and CELL structures. More... | |
| struct | smile::CPotentialNB::cell |
| CELL: structure used to represent internal nodes of tree. More... | |
| struct | smile::CConfigPotential |
| structure that contains parameters for all possible potentials More... | |
Namespaces | |
| smile | |
| common namespace for all core SMILE classes, functions and variables | |
Functions | |
Correspondence between potential/density names and corresponding classes | |
| const char * | smile::getPotentialNameByType (CDensity::POTENTIALTYPE type) |
| return the name of the potential of a given type, or empty string if unavailable | |
| const char * | smile::getDensityNameByType (CDensity::POTENTIALTYPE type) |
| return the name of the density of a given type, or empty string if unavailable | |
| const char * | smile::getSymmetryNameByType (CDensity::SYMMETRYTYPE type) |
| return the name of the symmetry of a given type, or empty string if unavailable | |
| CDensity::POTENTIALTYPE | smile::getPotentialTypeByName (const std::string &PotentialName) |
| return the type of the potential model by its name, or PT_UNKNOWN if unavailable | |
| CDensity::POTENTIALTYPE | smile::getDensityTypeByName (const std::string &DensityName) |
| return the type of the density model by its name, or PT_UNKNOWN if unavailable | |
| CDensity::SYMMETRYTYPE | smile::getSymmetryTypeByName (const std::string &SymmetryName) |
| return the type of symmetry by its name, or ST_DEFAULT if unavailable | |
| const char * | smile::coefFileExtension (CDensity::POTENTIALTYPE pottype) |
| return file extension for writing the coefficients of potential of the given type | |
| CDensity::POTENTIALTYPE | smile::coefFileType (const std::string &fileName) |
| find potential type by file extension | |
Various convenience functions for potential | |
| template<typename NumT > | |
| double | smile::totalEnergy (const CPotential *potential, const CPosVelPoint< NumT > &point, double Omega=0, double t=0) |
| Convenience function to return the total energy (or Jacobi integral if Omega!=0) for a given position+velocity point. More... | |
| double | smile::longAxisRadius (const CPotential *potential, double E, double Omega=0) |
| Convenience function to find the maximal elongation of long-axis orbit of given energy. More... | |
| double | smile::findIntersection (const CPotential *potential, double E, double X, double Y, double Z, double Omega=0) |
| Find the location of the equipotential surface in a given direction: solve for k such that Phi(k*X, k*Y, k*Z) = E . More... | |
| void | smile::findLagrangianPoints (const CPotential *potential, double Omega, double *L1X, double *L4Y) |
| Find the location of maximum of the effective potential in rotating frame; output the distance to such point along x axis in L1X and along y axis in L4Y (Lagrangian points) | |
Classes for computing potential, forces and density for various mass models.
This file defines several classes of two kind:
There are several flexible general-purpose potential representations, which can take an arbitrary density profile as an input; moreover there are at least two flexible density parametrizations suitable to represent almost anything one may need. If, nevertheless, you want to add a new density model, the necessary steps are summarized below:
1.8.8