QSAS_2_4/QSAS_dist/src/Ext/GenericResidue/GenericResidue.h File Reference

#include <stdio.h>
#include <math.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include "qplug_if.h"
#include "qdutil.h"
#include "Qdos.h"
#include "qar.h"
#include <qdatetime.h>

Defines

#define MVAB   = 0
#define MFR   = 1
#define MMR   = 2
#define MVAJ   = 3
#define MLMR   = 4
#define MTER   = 5
#define MER   = 6
#define MVAV   = 7

Functions

int SingleAnalysis (QdRMatrixSeq_var V, QdRMatrixSeq_var B, QdRMatrixSeq_var dB, QdRMatrixSeq_var P, QdRMatrixSeq_var E, QdRScalarSeq_var N, QdRMatrixSeq_var H, QdTimeSeq_var ttJoined, QdRMatrix_var ExWeights, int constrained, double alpha, char *SCc_ID, bool doType[10], int nestsize, QplugArgList *call_list)
int NestedAnalysis (QdRMatrixSeq_var V_, QdRMatrixSeq_var B_, QdRMatrixSeq_var dB_, QdRMatrixSeq_var P_, QdRMatrixSeq_var E_, QdRScalarSeq_var N_, QdRMatrixSeq_var H_, QdTimeSeq_var ttJoined, QdRMatrix_var ExWeights, int constrained, double alpha, int min_nest, char *SCc_ID, bool doType[10], int nestsize)
QdRMatrix_var Q_MVAB_calc (QdRMatrixSeq_var B, QdRMatrixSeq_var V, QdRMatrix_var U, QdRMatrixSeq_var Valf, QdRScalarSeq_var N, double *wl, double *cc, int nestsize, bool doHT)
 Calculates the covariance matrix of the magnetic field.
QdRMatrix_var Q_MLMR_calc (QdRMatrixSeq_var V, QdRMatrixSeq_var B, QdRMatrixSeq_var P, QdRScalarSeq_var N, QdRMatrix_var U, int nestsize)
 Returns the covariance matrix for the Minimum Linear Momentum Residue (MLMR) method.
QdRMatrix_var Q_MER_calc (QdRMatrixSeq_var V, QdRMatrixSeq_var B, QdRMatrixSeq_var P, QdRScalarSeq_var N, QdRMatrix_var U, int nestsize)
 Returns the covariance matrix for the Minimum Energy Residue method.
QdRMatrix_var Q_MFR_calc (QdRMatrixSeq_var B, QdRMatrixSeq_var V, QdRMatrix_var U, int nestsize)
QdRMatrix_var Q_MTER_calc (QdRMatrixSeq_var V, QdRMatrixSeq_var B, QdRMatrixSeq_var P, QdRMatrixSeq_var E, QdRScalarSeq_var N, QdRMatrixSeq_var H, QdRMatrix_var U, int nestsize)
 Returns the covariance matrix for the Minimum Total Energy Residue (MTER) method.
QdRMatrix_var Q_MMR_calc (QdRMatrixSeq_var V, QdRScalarSeq_var N, QdRMatrix_var U, int nestsize)
QdRMatrix_var Q_MVAV_calc (QdRMatrixSeq_var V, QdRMatrix_var U, int nestsize)
 Calculates the covariance matrix of the velocity.
QdRMatrix_var Projection (QdRMatrixSeq_var B, QdRMatrixSeq_var V, QdRMatrix_var U, QdRMatrixSeq_var V_Alfven, QdRMatrix_var Evec, double alpha, int nestsize, int constrain, const double dens=0.0)
double aveTotalPressure (QdRMatrixSeq_var B, QdRMatrixSeq_var P, int nestsize)
void Report (QdRMatrix_var Evalues, QdRMatrix_var Evec, bool outstd, const char *msg, int constrain, double alpha, char *SCc_ID, const bool changeOrder=false)
void ReportSiscoe (QdRMatrixSeq_var n, QdRMatrixSeq_var U, QdRMatrix_var Bdave, QdRMatrix_var Vdave, QdRMatrix_var Vadave, int nestsize, const char *msg, int constrain, double alpha, char *SCc_ID)
QdRMatrix_var AveVec (QdRMatrixSeq_var V, int nestsize)
QdRMatrix_var CrossVec (QdRMatrix_var V, QdRMatrix_var R)
QdRMatrix_var LeviCivita ()
void ToSpreadsheet (const char *filename, QdRMatrix_var Normal, QdRMatrix_var U, int row, bool nl)
QdRMatrix_var V_HofTel (QdRMatrixSeq_var B, QdRMatrixSeq_var V, int nestsize)
 Returns the DeHoffmann-Teller velocity for the given magnetic field and plasma velocity. The electric field used in the calculation is taken from the proxy E = - V x B.
double DotVec (QdRMatrix_var V, QdRMatrix_var R)
QdRMatrix_var ScaleVec (double d, QdRMatrix_var V)
double vecsum (QdRMatrix_var Vector)
 returns the vector sum (length) of a vector
double vecsum2 (QdRMatrix_var Vector)
double unit2SI (QdObject_var AnyQdObject)
double slope (QdRMatrixSeq_var X_in, QdRMatrixSeq_var Y_in, int n)
 calculates the regression line
double correlationCoeff (QdRMatrixSeq_var X_in, QdRMatrixSeq_var Y_in, int n)
 calculates the correlation coefficient between two 3 element vectors
double weight_k_calc (QdRMatrix_var eval)
double sigma (QdRMatrixSeq_var V, QdRMatrix_var normal, int n)
double err_824 (QdRMatrix_var B_ave, QdRMatrix_var Eigenvectors, QdRMatrix_var Eigenvalues, QdRMatrix_var dYij, QdRMatrix_var Q_MVA, double sigma, int nestsize, int modify)
double err_917 (QdRMatrixSeq_var V, QdRMatrixSeq_var B, QdRMatrix_var Normal, int nestsize)
double minimizeD (int M, QdRMatrix_var V, QdRMatrixSeq_var vm, QdRMatrixSeq_var Bm)
double jumpvalue (QdRMatrixSeq_var V, const int n=5)
QdRMatrix_var Q_GEN_calc (QdRMatrixSeq_var TS)

Define Documentation

#define MER   = 6

#define MFR   = 1

#define MLMR   = 4

#define MMR   = 2

#define MTER   = 5

#define MVAB   = 0

#define MVAJ   = 3

#define MVAV   = 7


Function Documentation

double aveTotalPressure ( QdRMatrixSeq_var  B,
QdRMatrixSeq_var  P,
int  nestsize 
)

QdRMatrix_var AveVec ( QdRMatrixSeq_var  V,
int  nestsize 
)

double correlationCoeff ( QdRMatrixSeq_var  X_in,
QdRMatrixSeq_var  Y_in,
int  n 
)

calculates the correlation coefficient between two 3 element vectors

Returns:
a double with correlation coefficient
Parameters:
X_in - 3 component vector with time series 1
Y_in - 3 component vector with time series 2
n - number of elements in the two vectors

QdRMatrix_var CrossVec ( QdRMatrix_var  V,
QdRMatrix_var  R 
)

double DotVec ( QdRMatrix_var  V,
QdRMatrix_var  R 
)

double err_824 ( QdRMatrix_var  B_ave,
QdRMatrix_var  Eigenvectors,
QdRMatrix_var  Eigenvalues,
QdRMatrix_var  dYij,
QdRMatrix_var  Q_MVA,
double  sigma,
int  nestsize,
int  modify 
)

double err_917 ( QdRMatrixSeq_var  V,
QdRMatrixSeq_var  B,
QdRMatrix_var  Normal,
int  nestsize 
)

double jumpvalue ( QdRMatrixSeq_var  V,
const int  n = 5 
)

QdRMatrix_var LeviCivita (  ) 

double minimizeD ( int  M,
QdRMatrix_var  V,
QdRMatrixSeq_var  vm,
QdRMatrixSeq_var  Bm 
)

int NestedAnalysis ( QdRMatrixSeq_var  V_,
QdRMatrixSeq_var  B_,
QdRMatrixSeq_var  dB_,
QdRMatrixSeq_var  P_,
QdRMatrixSeq_var  E_,
QdRScalarSeq_var  N_,
QdRMatrixSeq_var  H_,
QdTimeSeq_var  ttJoined,
QdRMatrix_var  ExWeights,
int  constrained,
double  alpha,
int  min_nest,
char *  SCc_ID,
bool  doType[10],
int  nestsize 
)

QdRMatrix_var Projection ( QdRMatrixSeq_var  B,
QdRMatrixSeq_var  V,
QdRMatrix_var  U,
QdRMatrixSeq_var  V_Alfven,
QdRMatrix_var  Evec,
double  alpha,
int  nestsize,
int  constrain,
const double  dens = 0.0 
)

QdRMatrix_var Q_GEN_calc ( QdRMatrixSeq_var  TS  ) 

QdRMatrix_var Q_MER_calc ( QdRMatrixSeq_var  V,
QdRMatrixSeq_var  B,
QdRMatrixSeq_var  P,
QdRScalarSeq_var  N,
QdRMatrix_var  U,
int  nestsize 
)

Returns the covariance matrix for the Minimum Energy Residue method.

Parameters:
V - vector time series with plasma velocity in units of km/s
B - vector time series with the magnetic field in units of nT
P - matrix time series with the full 3x3 pressure tensor
N - scalar time series with the plasma density in units of 1/cm3
U - vector - holds the calculated velocity in units of km/s on successful return.
nestsize - number of elements in V,B,P,and N.
Warning:
If the density is constant, there will be a sigularity in the U calculation. U is then replaced by <V> - the average plasma velocity.

QdRMatrix_var Q_MFR_calc ( QdRMatrixSeq_var  B,
QdRMatrixSeq_var  V,
QdRMatrix_var  U,
int  nestsize 
)

QdRMatrix_var Q_MLMR_calc ( QdRMatrixSeq_var  V,
QdRMatrixSeq_var  B,
QdRMatrixSeq_var  P,
QdRScalarSeq_var  N,
QdRMatrix_var  U,
int  nestsize 
)

Returns the covariance matrix for the Minimum Linear Momentum Residue (MLMR) method.

Parameters:
V - vector time series with plasma velocity in units of km/s
B - vector time series with the magnetic field in units of nT
P - matrix time series with the full 3x3 pressure tensor
N - scalar time series with the plasma density in units of 1/cm3
U - vector - holds the calculated velocity in units of km/s on successful return.
nestsize - number of elements in V,B,P,E,N and H.

QdRMatrix_var Q_MMR_calc ( QdRMatrixSeq_var  V,
QdRScalarSeq_var  N,
QdRMatrix_var  U,
int  nestsize 
)

Returns the covariance matrix for the Minimum Total Energy Residue (MTER) method.

Parameters:
V - vector time series with plasma velocity in units of km/s
B - vector time series with the magnetic field in units of nT
P - matrix time series with the full 3x3 pressure tensor
E - vector time series with the electric field in units of mV/m
N - scalar time series with the plasma density in units of 1/cm3
H - vector time series heat flux vector in units of erg/s cm3
U - vector - holds the calculated velocity in units of km/s on successful return.
nestsize - number of elements in V,B,P,E,N and H.

QdRMatrix_var Q_MVAB_calc ( QdRMatrixSeq_var  B,
QdRMatrixSeq_var  V,
QdRMatrix_var  U,
QdRMatrixSeq_var  Valf,
QdRScalarSeq_var  N,
double *  wl,
double *  cc,
int  nestsize,
bool  doHT 
)

Calculates the covariance matrix of the magnetic field.

Parameters:
B - vector time series with the magnetic field in units of nT
V - vector time series with plasma velocity in units of km/s
U - holds the calculated velocity on successful return
nestsize - number of elements in B and V.
full - 0 to do MVAB only, 1 to include HT analysis

QdRMatrix_var Q_MVAV_calc ( QdRMatrixSeq_var  V,
QdRMatrix_var  U,
int  nestsize 
)

Calculates the covariance matrix of the velocity.

Parameters:
V - vector time series with plasma velocity in units of km/s
U - holds the calculated velocity on successful return
nestsize - number of elements in B and V.

void Report ( QdRMatrix_var  Evalues,
QdRMatrix_var  Evec,
bool  outstd,
const char *  msg,
int  constrain,
double  alpha,
char *  SCc_ID,
const bool  changeOrder = false 
)

void ReportSiscoe ( QdRMatrixSeq_var  n,
QdRMatrixSeq_var  U,
QdRMatrix_var  Bdave,
QdRMatrix_var  Vdave,
QdRMatrix_var  Vadave,
int  nestsize,
const char *  msg,
int  constrain,
double  alpha,
char *  SCc_ID 
)

QdRMatrix_var ScaleVec ( double  d,
QdRMatrix_var  V 
)

double sigma ( QdRMatrixSeq_var  V,
QdRMatrix_var  normal,
int  n 
)

int SingleAnalysis ( QdRMatrixSeq_var  V,
QdRMatrixSeq_var  B,
QdRMatrixSeq_var  dB,
QdRMatrixSeq_var  P,
QdRMatrixSeq_var  E,
QdRScalarSeq_var  N,
QdRMatrixSeq_var  H,
QdTimeSeq_var  ttJoined,
QdRMatrix_var  ExWeights,
int  constrained,
double  alpha,
char *  SCc_ID,
bool  doType[10],
int  nestsize,
QplugArgList call_list 
)

double slope ( QdRMatrixSeq_var  X_in,
QdRMatrixSeq_var  Y_in,
int  n 
)

calculates the regression line

Returns:
a double with the slope, i.e., the coeff b in y(x) = a + bx
Parameters:
X_in - 3 component vector with time series 1
Y_in - 3 component vector with time series 2
n - number of elements in the two vectors

void ToSpreadsheet ( const char *  filename,
QdRMatrix_var  Normal,
QdRMatrix_var  U,
int  row,
bool  nl 
)

double unit2SI ( QdObject_var  AnyQdObject  ) 

QdRMatrix_var V_HofTel ( QdRMatrixSeq_var  B,
QdRMatrixSeq_var  V,
int  nestsize 
)

Returns the DeHoffmann-Teller velocity for the given magnetic field and plasma velocity. The electric field used in the calculation is taken from the proxy E = - V x B.

Parameters:
B - vector time series with the magnetic field in units of nT
V - vector time series with plasma velocity in units of km/s
nestsize - number of elements in B and V.

double vecsum ( QdRMatrix_var  Vector  ) 

returns the vector sum (length) of a vector

Returns:
length of V
Parameters:
V - 3 component vector

double vecsum2 ( QdRMatrix_var  Vector  ) 

double weight_k_calc ( QdRMatrix_var  eval  ) 


Generated on Fri Jan 8 12:51:22 2010 for QSAS by  doxygen 1.5.7