QSAS_2_4/QSAS_dist/src/Ext/CVA_CTA/CVA_CTA_Calculator.cc File Reference

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <float.h>
#include "qplug_if.h"
#include "qrtn.h"
#include "qdutil.h"
#include "Qdos.h"
#include "qar.h"
#include "Xrefs.h"
#include <qstring.h>
#include <qdatetime.h>

Defines

#define MAT_INV_EPS   10*DBL_EPSILON

Typedefs

typedef enum MAT_INV_RET_E MAT_INV_RET

Enumerations

enum  MAT_INV_RET_E {
  MAT_INV_OK, MAT_INV_SINGULAR, MAT_INV_UNKNOWN, MAT_INV_OK,
  MAT_INV_SINGULAR, MAT_INV_UNKNOWN
}

Functions

QplugReturnStatus CVA_CTA_Calculator (QplugArgList *call_list)
 Perform a 4SC boundary normal calculation.
QplugReturnStatus Q4SCPosition (QrVector *vecp, QdObject_var pos_in, QdTimeInterval_var time_int)
QplugReturnStatus Q4SCConstPosition (QrVector *vecp, QdRMatrix_var pos_in, QdTimeInterval_var time_int)
QplugReturnStatus Q4SCCentrePosition (QrVector *vecp, QdRMatrixSeq_var pos_in_seq, QdTimeInterval_var time_int)
void QrVector_diag_print (QrVector *vecp)
QdRMatrix_var str2Vec (QString s)
 Parses a text and converts text to a 4 element double array.
QdRMatrix_var CTA_calc (double dr[4][3], double dt[4], QdString_var taustring, QdRMatrix_var vn_cta, QdRMatrix_var d_cta, QdRMatrix_var vn_com, QdRMatrix_var d_com, QdRMatrix_var n_com, QdRScalar_var vn_cva, QdRMatrix_var d_cva, QdRMatrix_var n_cva, QdRScalarSeq_var v_cva_curve, QdRScalarSeq_var v_cta_curve, QdRScalarSeq_var v_com_curve, QdTimeInterval_var tint, QdRMatrix_var tau)
 CTA calculations.
double vecsum (QdRMatrix_var V)
 returns the vector sum (length) of a vector
MAT_INV_RET mat_inv (double a[3][3], double inverse[3][3])
double determinant (double mat[3][3])
void multiply_mat (double a[3][3], double b[3][3], double prod[3][3])
void multiply_mat_vec (double a[3][3], double b[3], double prod[3])
void print_mat (double a[3][3])
int main ()

Define Documentation

#define MAT_INV_EPS   10*DBL_EPSILON


Typedef Documentation

typedef enum MAT_INV_RET_E MAT_INV_RET


Enumeration Type Documentation

Enumerator:
MAT_INV_OK 
MAT_INV_SINGULAR 
MAT_INV_UNKNOWN 
MAT_INV_OK 
MAT_INV_SINGULAR 
MAT_INV_UNKNOWN 


Function Documentation

QdRMatrix_var CTA_calc ( double  dr[4][3],
double  dt[4],
QdString_var  taustring,
QdRMatrix_var  vn_cta,
QdRMatrix_var  d_cta,
QdRMatrix_var  vn_com,
QdRMatrix_var  d_com,
QdRMatrix_var  n_com,
QdRScalar_var  vn_cva,
QdRMatrix_var  d_cva,
QdRMatrix_var  n_cva,
QdRScalarSeq_var  v_cva_curve,
QdRScalarSeq_var  v_cta_curve,
QdRScalarSeq_var  v_com_curve,
QdTimeInterval_var  tint,
QdRMatrix_var  tau 
)

CTA calculations.

Returns:
a CTA normal and a velocity for each of the 4 SC
Parameters:
A - 3 x 3 matrix with separation distances
B - 3 x 1 vector with relative timing
taustring - string with the 4 Tau values
vn - 4 x 1 matrix with normal velocities for each of the 4 SC
d_cta - 4 x 1 matrix with thicknesses for each of the 4 SC
n_cva - CVA normal - used for combined method
v_cta - velocity curve from CTA
v_ctam - velocity curve from combined CTA, CVA
tint - time interval (used to set timetags on velocity curves)
Calculates a CTA (Constant Thickness Approach) boundary normal, normal velcoity and thickness. See Haaland et al, Annales Geophysicae, no 4, 2004 for details.

QplugReturnStatus CVA_CTA_Calculator ( QplugArgList call_list  ) 

Perform a 4SC boundary normal calculation.

Parameters:
call_list - pointer to a list of input objects

double determinant ( double  mat[3][3]  ) 

int main (  ) 

MAT_INV_RET mat_inv ( double  a[3][3],
double  inverse[3][3] 
)

void multiply_mat ( double  a[3][3],
double  b[3][3],
double  prod[3][3] 
)

void multiply_mat_vec ( double  a[3][3],
double  b[3],
double  prod[3] 
)

void print_mat ( double  a[3][3]  ) 

QplugReturnStatus Q4SCCentrePosition ( QrVector vecp,
QdRMatrixSeq_var  pos_in_seq,
QdTimeInterval_var  time_int 
)

QplugReturnStatus Q4SCConstPosition ( QrVector vecp,
QdRMatrix_var  pos_in,
QdTimeInterval_var  time_int 
)

QplugReturnStatus Q4SCPosition ( QrVector vecp,
QdObject_var  pos_in,
QdTimeInterval_var  time_int 
)

void QrVector_diag_print ( QrVector vecp  ) 

QdRMatrix_var str2Vec ( QString  s  ) 

Parses a text and converts text to a 4 element double array.

Parses the a text and converts text to a Vector.

Returns:
QSAS matrix with the parsed values of the string
Parameters:
s - a string on the form '[2.00 -23.0 9.0]'

double vecsum ( QdRMatrix_var  V  ) 

returns the vector sum (length) of a vector

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


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