Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
DRO::VariableNonMaxwellianity Class Reference

#include <datareductionoperator.h>

Inheritance diagram for DRO::VariableNonMaxwellianity:
Collaboration diagram for DRO::VariableNonMaxwellianity:

Public Member Functions

 VariableNonMaxwellianity (cuint popID)
 Non-Maxwellianity Calculates for a population the dimensionless parameter defined by Graham et al. (2021) as epsilon_M = integral[abs(f-g)]dv3 / 2n where f: measured VDF for a population g: a model bi-Maxwellian with the same number density, bulk speed and temperature as the measured VDF n: population number density.
virtual ~VariableNonMaxwellianity ()
virtual bool getDataVectorInfo (std::string &dataType, unsigned int &dataSize, unsigned int &vectorSize) const
virtual std::string getName () const
virtual bool reduceData (const SpatialCell *cell, char *buffer)
virtual bool setSpatialCell (const SpatialCell *cell)
Public Member Functions inherited from DRO::DataReductionOperator
 DataReductionOperator ()
virtual ~DataReductionOperator ()
virtual bool getUnitMetadata (std::string &_unit, std::string &_unitLaTeX, std::string &_variableLaTeX, std::string &_unitConversion)
virtual bool setUnitMetadata (std::string &_unit, std::string &_unitLaTeX, std::string &_variableLaTeX, std::string &_unitConversion)
virtual bool reduceDiagnostic (const SpatialCell *cell, Real *result)

Protected Attributes

Real rho
Real V0 [3]
Real b_par [3]
Real b_perp1 [3]
Real b_perp2 [3]
Real T_par
Real T_perp
Real epsilon
uint popID
std::string popName
Protected Attributes inherited from DRO::DataReductionOperator
std::string unit
std::string unitLaTeX
std::string variableLaTeX
std::string unitConversion

Detailed Description

Definition at line 654 of file datareductionoperator.h.

Constructor & Destructor Documentation

◆ VariableNonMaxwellianity()

DRO::VariableNonMaxwellianity::VariableNonMaxwellianity ( cuint _popID)

Non-Maxwellianity Calculates for a population the dimensionless parameter defined by Graham et al. (2021) as epsilon_M = integral[abs(f-g)]dv3 / 2n where f: measured VDF for a population g: a model bi-Maxwellian with the same number density, bulk speed and temperature as the measured VDF n: population number density.

No extra parameters need to be set in cfg file. Note that the definition is different from the original parameter introduced by Greco et al. (2012). The following formulation of epsilon_M is used here to calculate the value with only velocity cells where the VDF is saved:

Assuming regions of velocity space A and B, where f>0 in A, and f=0 in B: epsilon_M = (integral_A[abs(f-g)]dv3 + integral_B[g]dv3) / 2n = (integral_A[abs(f-g)]dv3 + n - integral_A[g]dv3) / 2n = integral_A[abs(f-g) - g]dv3 / 2n + 1/2

Definition at line 1914 of file datareductionoperator.cpp.

Here is the call graph for this function:

◆ ~VariableNonMaxwellianity()

DRO::VariableNonMaxwellianity::~VariableNonMaxwellianity ( )
virtual

Definition at line 1917 of file datareductionoperator.cpp.

Member Function Documentation

◆ getDataVectorInfo()

bool DRO::VariableNonMaxwellianity::getDataVectorInfo ( std::string & dataType,
unsigned int & dataSize,
unsigned int & vectorSize ) const
virtual

Implements DRO::DataReductionOperator.

Definition at line 1921 of file datareductionoperator.cpp.

◆ getName()

std::string DRO::VariableNonMaxwellianity::getName ( ) const
virtual

Implements DRO::DataReductionOperator.

Definition at line 1919 of file datareductionoperator.cpp.

◆ reduceData()

bool DRO::VariableNonMaxwellianity::reduceData ( const SpatialCell * cell,
char * buffer )
virtual

Reduce the data and write the data vector to the given vlsv output buffer.

Parameters
cellthe SpatialCell to reduce data out of
bufferBuffer in which the reduced data is written.
Returns
If true, DataReductionOperator reduced data successfully.

Reimplemented from DRO::DataReductionOperator.

Definition at line 1929 of file datareductionoperator.cpp.

Here is the call graph for this function:

◆ setSpatialCell()

bool DRO::VariableNonMaxwellianity::setSpatialCell ( const SpatialCell * cell)
virtual

Implements DRO::DataReductionOperator.

Definition at line 1999 of file datareductionoperator.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ b_par

Real DRO::VariableNonMaxwellianity::b_par[3]
protected

Definition at line 667 of file datareductionoperator.h.

◆ b_perp1

Real DRO::VariableNonMaxwellianity::b_perp1[3]
protected

Definition at line 668 of file datareductionoperator.h.

◆ b_perp2

Real DRO::VariableNonMaxwellianity::b_perp2[3]
protected

Definition at line 669 of file datareductionoperator.h.

◆ epsilon

Real DRO::VariableNonMaxwellianity::epsilon
protected

Definition at line 672 of file datareductionoperator.h.

◆ popID

uint DRO::VariableNonMaxwellianity::popID
protected

Definition at line 673 of file datareductionoperator.h.

◆ popName

std::string DRO::VariableNonMaxwellianity::popName
protected

Definition at line 674 of file datareductionoperator.h.

◆ rho

Real DRO::VariableNonMaxwellianity::rho
protected

Definition at line 665 of file datareductionoperator.h.

◆ T_par

Real DRO::VariableNonMaxwellianity::T_par
protected

Definition at line 670 of file datareductionoperator.h.

◆ T_perp

Real DRO::VariableNonMaxwellianity::T_perp
protected

Definition at line 671 of file datareductionoperator.h.

◆ V0

Real DRO::VariableNonMaxwellianity::V0[3]
protected

Definition at line 666 of file datareductionoperator.h.


The documentation for this class was generated from the following files: