SPH
Classes | Namespaces | Typedefs | Enumerations | Functions
Analysis.h File Reference

Various function for interpretation of the results of a simulation. More...

#include "objects/finders/NeighbourFinder.h"
#include "objects/wrappers/Expected.h"
#include "objects/wrappers/ExtendedEnum.h"
#include "objects/wrappers/Function.h"
#include "system/Settings.h"

Go to the source code of this file.

Classes

struct  Post::Tumbler
 
struct  Post::HistogramParams
 Parameters of the histogram. More...
 
struct  Post::HistogramParams::ComponentParams
 Parameters used by histogram of components. More...
 
struct  Post::HistPoint
 Point in the histogram. More...
 
class  Post::LinearFunction
 Class representing an ordinary 1D linear function. More...
 
class  Post::QuadraticFunction
 

Namespaces

 Post
 

Typedefs

using Post::ExtHistogramId = ExtendedEnum< HistogramId >
 

Enumerations

enum class  Post::ComponentFlag { Post::OVERLAP = 0 , Post::SEPARATE_BY_FLAG = 1 << 0 , Post::ESCAPE_VELOCITY = 1 << 1 , Post::SORT_BY_MASS = 1 << 2 }
 
enum class  Post::MoonEnum {
  Post::LARGEST_FRAGMENT , Post::RUNAWAY , Post::MOON , Post::IMPACTOR ,
  Post::UNOBSERVABLE
}
 Potential relationship of the body with a respect to the largest remnant (fragment). More...
 
enum class  Post::HistogramId {
  Post::RADII = -1 , Post::EQUIVALENT_MASS_RADII = -2 , Post::VELOCITIES = -3 , Post::ROTATIONAL_FREQUENCY = -4 ,
  Post::ROTATIONAL_PERIOD = -5 , Post::ROTATIONAL_AXIS = -6
}
 Quantity from which the histogram is constructed. More...
 
enum class  Post::HistogramSource { Post::COMPONENTS , Post::PARTICLES }
 Source data used to construct the histogram. More...
 

Functions

 SPH_EXTEND_ENUM (QuantityId, Post::HistogramId)
 
Array< SizePost::findNeighbourCounts (const Storage &storage, const Float particleRadius)
 Finds the number of neighbours of each particle. More...
 
Size Post::findComponents (const Storage &storage, const Float particleRadius, const Flags< ComponentFlag > flags, Array< Size > &indices)
 Finds and marks connected components (a.k.a. separated bodies) in the array of vertices. More...
 
Array< SizePost::findLargestComponent (const Storage &storage, const Float particleRadius, const Flags< ComponentFlag > flags)
 Returns the indices of particles belonging to the largest remnant. More...
 
Array< Tumbler > Post::findTumblers (const Storage &storage, const Float limit)
 Find all tumbling asteroids. More...
 
Array< MoonEnum > Post::findMoons (const Storage &storage, const Float radius=1._f, const Float limit=0._f)
 Find a potential satellites of the largest body. More...
 
Size Post::findMoonCount (ArrayView< const Float > m, ArrayView< const Vector > r, ArrayView< const Vector > v, const Size i, const Float radius=1._f, const Float limit=0._f)
 Find the number of moons of given body. More...
 
Vector Post::getCenterOfMass (ArrayView< const Float > m, ArrayView< const Vector > r, ArrayView< const Size > idxs=nullptr)
 Computes the center of mass. More...
 
SymmetricTensor Post::getInertiaTensor (ArrayView< const Float > m, ArrayView< const Vector > r, const Vector &r0, ArrayView< const Size > idxs=nullptr)
 Computes the total inertia tensor of particles with respect to given center. More...
 
SymmetricTensor Post::getInertiaTensor (ArrayView< const Float > m, ArrayView< const Vector > r, ArrayView< const Size > idxs=nullptr)
 Computes the total inertia tensor of particle with respect to their center of mass. More...
 
Vector Post::getAngularFrequency (ArrayView< const Float > m, ArrayView< const Vector > r, ArrayView< const Vector > v, const Vector &r0, const Vector &v0, ArrayView< const Size > idxs=nullptr)
 Computes the immediate vector of angular frequency of a rigid body. More...
 
Vector Post::getAngularFrequency (ArrayView< const Float > m, ArrayView< const Vector > r, ArrayView< const Vector > v, ArrayView< const Size > idxs=nullptr)
 
Float Post::getSphericity (IScheduler &scheduler, const Storage &strorage, const Float resolution=0.05_f)
 Computes the sphericity coefficient of a body. More...
 
Array< HistPoint > Post::getDifferentialHistogram (ArrayView< const Float > values, const HistogramParams &params)
 Computes the differential histogram from given values. More...
 
Array< HistPoint > Post::getDifferentialHistogram (const Storage &storage, const ExtHistogramId id, const HistogramSource source, const HistogramParams &params)
 Computes the differential histogram of particles in the storage. More...
 
Array< HistPoint > Post::getCumulativeHistogram (const Storage &storage, const ExtHistogramId id, const HistogramSource source, const HistogramParams &params)
 Computes cumulative (integral) histogram of particles in the storage. More...
 
LinearFunction Post::getLinearFit (ArrayView< const PlotPoint > points)
 Finds a linear fit to a set of points. More...
 
QuadraticFunction Post::getQuadraticFit (ArrayView< const PlotPoint > points)
 

Detailed Description

Various function for interpretation of the results of a simulation.

Author
Pavel Sevecek (sevecek at sirrah.troja.mff.cuni.cz)
Date
2016-2021

Definition in file Analysis.h.

Function Documentation

◆ SPH_EXTEND_ENUM()

SPH_EXTEND_ENUM ( QuantityId  ,
Post::HistogramId   
)