Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions doc/exp.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -964,6 +964,8 @@ INPUT = ./intro.doc \
../include \
../src \
../src/user \
../exputil \
../expui \
../utils/ICs \
../utils/Analysis \
../utils/PhaseSpace
Expand Down Expand Up @@ -1788,7 +1790,7 @@ FORMULA_MACROFILE =
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.

USE_MATHJAX = NO
USE_MATHJAX = YES

# With MATHJAX_VERSION it is possible to specify the MathJax version to be used.
# Note that the different versions of MathJax have different requirements with
Expand Down Expand Up @@ -1948,7 +1950,7 @@ EXTRA_SEARCH_MAPPINGS =
# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
# The default value is: YES.

GENERATE_LATEX = NO
GENERATE_LATEX = YES

# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
Expand Down
2,825 changes: 2,825 additions & 0 deletions doc/exp.cfg.breathe

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion exputil/SLGridMP2.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2907,7 +2907,8 @@ void SLGridSlab::compute_table(struct TableSlab* table, int KX, int KY)
<< std::setw( 5) << iflag[i]
<< std::endl;

if (VERBOSE && iflag[i] != 0) {

if (VERBOSE && iflag[i] != 0) {

if (iflag[i] > -10) {
cout << std::setw(14) << "x"
Expand Down
42 changes: 22 additions & 20 deletions src/AxisymmetricBasis.H
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,45 @@
#include <Basis.H>
#include <Eigen/Eigen>

//! Defines a basis-based potential and acceleration class
/*! Configurable parameters are:
/** @class AxisymmetricBasis
@brief Defines a basis-based potential and acceleration class

@param Lmax is the maximum spherical harmonic order
@details **YAML configuration**

@param Mmax is the maximum cylindrical harmonic order
@param Lmax is the maximum spherical harmonic order

@param nmax is the maximum radial order
@param Mmax is the maximum cylindrical harmonic order

@param dof is the dimensionality of the basis
@param nmax is the maximum radial order

@param npca is the frequency for pca analyses
@param dof is the dimensionality of the basis

@param npca0 is the number of steps to skip before the first pca analysis
@param npca is the frequency for pca analyses

@param pcavar boolean turns on pca analyses
@param npca0 is the number of steps to skip before the first pca analysis

@param pcaeof boolean turns on emperical function recomputation
@param pcavar boolean turns on pca analyses

@param pcadiag boolean turns on diagnostic pca output
@param pcaeof boolean turns on emperical function recomputation

@param pcavtk boolean prints out visualizable representations of pca info
@param pcadiag boolean turns on diagnostic pca output

@param hexp is the Hall smoothing exponent
@param pcavtk boolean prints out visualizable representations of pca info

@param samplesz is the number of subsamples for pca variance
analysis (default: 1). Value 0 means use sqrt number of particles
@param hexp is the Hall smoothing exponent

@param vtkfreq is the frequency for printing pca variance analysis info
@param samplesz is the number of subsamples for pca variance
analysis (default: 1). Value 0 means use sqrt number of particles

@param tksmooth is the S/N for Hall truncation for VarianceCut method
@param vtkfreq is the frequency for printing pca variance analysis info

@param tkcum is the cumulative fraction eigenvalue power for truncation for CmululativeCut method
@param tksmooth is the S/N for Hall truncation for VarianceCut method

@param tk_type is the smoothing type, one of: Hall, VarianceCut, CumulativeCut, VarianceWeighted
@param tkcum is the cumulative fraction eigenvalue power for truncation for CmululativeCut method

@param subsamp true sets partition variance computation (default: false)
@param tk_type is the smoothing type, one of: Hall, VarianceCut, CumulativeCut, VarianceWeighted

@param subsamp true sets partition variance computation (default: false)
*/
class AxisymmetricBasis : public Basis
{
Expand Down
31 changes: 30 additions & 1 deletion src/Cube.H
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,36 @@
#include <cudaMappingConstants.cuH>
#endif

//! Periodic cube basis
/** @class Cube

@brief Periodic cube basis

@details **YAML configuration**

@param nminx is the minimum absoulte value of the wave number in
the x direction (default: 0)

@param nminy is the minimum absoulte value of the wave number in
the y direction (default: 0)

@param nminz is the minimum absoulte value of the wave number in
the z direction (default: 0)

@param nmaxx is the maximum absoulte value of the wave number in
the x direction (default: 16)

@param nmaxy is the maximum absoulte value of the wave number in
the y direction (default: 16)

@param nmaxz is the maximum absoulte value of the wave number in
the z direction (default: 16)

@param method string sets the evaluation method for the CUDA
kernel. Available methods are: all, full, 3d which compute all
dimensions at once and planes, axes, and 1d which compute wave
vectors by plane. This may be extended to specific algorithms in
the future. This does nothing for the CPU-only computation.
*/
class Cube : public PotAccel
{

Expand Down
29 changes: 21 additions & 8 deletions src/Cylinder.H
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@

class MixtureBasis;

/** This routine computes the potential, acceleration and density
/** @class Cylinder
@brief This routine computes the potential, acceleration and density
using the Cylindrical biorthogonal expansion

Configuration parameters:
@details **YAML configuration**

@param rcylmin is the minimum cylindrical grid radius in scale-length units

Expand All @@ -35,7 +36,9 @@ class MixtureBasis;

@param hcyl is the scale height

@param lmax is the maximum spherical harmonic index for EOF construction
@param lmaxfid is the maximum spherical harmonic index for EOF construction

@param nmaxfid is the maximum radial index for EOF construction

@param mmax is the maximum azimuthal order for the resulting basis

Expand Down Expand Up @@ -87,24 +90,34 @@ class MixtureBasis;

@param snr is the signal-to-noise prefactor for sharpness computation

@param evcut is the cumulative trim remainder on the covariance eigenvalues (default: -1, which implies no trimming). Set to small positive value for trimming.
@param evcut is the cumulative trim remainder on the covariance
eigenvalues (default: -1, which implies no trimming). Set to
small positive value for trimming.

@param try_cache false suppresses cache reading on restart (default: true)

@param EVEN_M true uses even harmonic orders only

@param cmap is the coordinate mapping type (deprecated but kept for backward consistency)
@param cmap is the coordinate mapping type (deprecated but kept
for backward consistency)

@param cmapr is the radial coordinate mapping type

@param cmapz is the vertical coordinate mapping type

@param self_consistent set to false turns off potential expansion; only performed the first time
@param self_consistent set to false turns off potential expansion;
only performed the first time

@param playback file reads a coefficient file and uses it to compute the basis function output for resimiulation
@param playback file reads a coefficient file and uses it to
compute the basis function output for resimiulation

@param python is the file name of Python module which supplies the 'disk_density' function for conditioning the cylindrical basis. A non-null string triggers the use of the Python interpreter to evaluate the target density function.
@param pyname is the file name of Python module which supplies the
'disk_density' function for conditioning the cylindrical basis. A
non-null string triggers the use of the Python interpreter to
evaluate the target density function.

@param dumpbasis set to true dumps the basis to a file for
diagnostic examination (default: false)
*/
class Cylinder : public Basis
{
Expand Down
52 changes: 32 additions & 20 deletions src/FlatDisk.H
Original file line number Diff line number Diff line change
Expand Up @@ -13,47 +13,59 @@ typedef std::shared_ptr<BiorthCyl> CylPtr;
#include <cudaUtil.cuH>
#endif

/** Computes the potential, acceleration and density using an empirical
function analysis for a flat Bessel basis and a target density
/** @class FlatDisk

Parameters
@brief Computes the potential, acceleration and density using an
empirical function analysis for a flat Bessel basis and a target
density

\param rcylmin is the minimum value in the table for the
@details **YAML configuration**

@param rcylmin is the minimum value in the table for the
radial basis functions (default is 0.0)

\param rcylmax is the maximum value in the table for the
@param rcylmax is the maximum value in the table for the
radial basis functions in acyltbl units (default is 10.0)

\param scale is the expansion factor to get the physical scale from
@param scale is the expansion factor to get the physical scale from
the internal scale (default is 0.01)

\param mmax is the maximum azimuthal order
@param mmax is the maximum azimuthal order

\param numx is the number of grid points in the scaled radial direction
@param numx is the number of grid points in the scaled radial direction

\param numy is the number of grid points in the scaled vertical direction
@param numy is the number of grid points in the scaled vertical direction

\param knots is the number of quadrature points for EmpCyl2d
@param knots is the number of quadrature points for EmpCyl2d

\param logr scales the EmpCyl2d grid logarithmically
@param logr scales the EmpCyl2d grid logarithmically

\param model name for conditioning the new basis using EmpCyl2d (default: expon)
@param model name for conditioning the new basis using EmpCyl2d
(default: expon)

\param biorth is the biorthogonal basis set used by EmpCyl2d for conditioning (default: bess)
@param biorth is the biorthogonal basis set used by EmpCyl2d for
conditioning (default: bess)

\param background sets a fixed monopole potential and force for the model. Used for stability analysis of disks with active and inactive tapers, following Zang
@param background sets a fixed monopole potential and force for
the model. Used for stability analysis of disks with active and
inactive tapers, following Zang

\param nmaxfid is the maximum radial order for the basis used by EmpCyl2d for conditioning
@param nmaxfid is the maximum radial order for the basis used by
EmpCyl2d for conditioning

\param numr is the number of grid points in the radial direction for the numerical basis in EmpCyl2d
@param numr is the number of grid points in the radial direction
for the numerical basis in EmpCyl2d

\param NQDHT is the number of grid points for the numerical Hankel transform
@param NQDHT is the number of grid points for the numerical Hankel transform

\param diskconf is a YAML configuration for the target disk model in EmpCyl2d
@param diskconf is a YAML configuration for the target disk model
in EmpCyl2d

\param cachename is the name of the cache file for the newly constructed basis
@param cachename is the name of the cache file for the newly
constructed basis

\param dumpbasis provides the user with a ascii table of the basis potential-density pairs
@param dumpbasis provides the user with a ascii table of the basis
potential-density pairs
*/
class FlatDisk : public PolarBasis
{
Expand Down
50 changes: 31 additions & 19 deletions src/Sphere.H
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ typedef std::shared_ptr<SLGridSph> SLGridSphPtr;
#include <cudaUtil.cuH>
#endif

/** Computes the potential, acceleration and density using the Sturm
/** @class Sphere
@brief Computes the potential, acceleration and density using the Sturm
Liouville direct solution

\param rmin is the minimum value in the table for the
radial basis functions (default is 0.001)
@details **YAML configuration**

\param rmapping is the halo scale length (default is 0.067*rmax). This
@param rmapping is the halo scale length (default is 0.067*rmax). This
is used to for the coordinate mapping (see below).

\param cmap should be 1 for algebraic coordinate scaling, 2 for log
@param cmap should be 1 for algebraic coordinate scaling, 2 for log
coordinate scaling, 0 for no scaling as follows:
\f[
x = {r/r_s-1 \over r/r_s+1}
Expand All @@ -37,12 +37,34 @@ typedef std::shared_ptr<SLGridSph> SLGridSphPtr;
better choice. Logarithmic scaling will insist that the
<code>rmin>0</code>.

\param numr is the number radial coordinate knots in the table
(default is 1000)
@param numr is the number radial coordinate knots in the table
(default: 2000)

\param diverge sets the power law extrapolation of a cusp profile
@param nums is the number of bins in the empirical mass array
(default: 2000)

\param dfac is the inverse slope of the power law
@param noff is the offset into the empirical mass array for
computing upper and lower grid boundaries (default: 32)

@param diverge set to true means assume a cuspy profile

@param dfac is the power of the "divergent" cusp

@param modelname is the file containing the input background model profile

@param cachename is the name for the SL grid cache file

@param dtime is the interval between basis recomputations (<=0 for never)

@param diverge sets the power law extrapolation of a cusp profile

@param dfac is the inverse slope of the power law

@param logr set to true uses a logarithmic spacing for the
empirical radial grid (default: false)

@param plummer set to true uses a Plummer-model fit to the
empirical mass array to make basis model (default: true)
*/
class Sphere : public SphericalBasis
{
Expand Down Expand Up @@ -119,16 +141,6 @@ public:
@param c0 is the instantiating caller (Component)
@param conf passes any parameters to basis instance (rsphSL, rmin and numr
@param m allows the spherical basis to be used for multiple center expansions

Input line parameters include:
@param rmapping is the radius for coordinate scaling
@param numr is the number of radial grid points
@param cmap set to true for scaling coordinates from the semi-infinite to finite segment
@param diverge set to true means assume a cuspy profile
@param dfac is the power of the "divergent" cusp
@param modelname is the file containing the input background model profile
@param cachename is the name for the SL grid cache file
@param dtime is the interval between basis recomputations (<=0 for never)
*/
Sphere(Component* c0, const YAML::Node& conf, MixtureBasis* m=0);

Expand Down
Loading