UltraScan III
List of all members | Signals | Public Member Functions | Private Member Functions | Private Attributes
US_Astfem_RSA Class Reference

The module that calculates simulation data. More...

#include "us_astfem_rsa.h"

Inheritance diagram for US_Astfem_RSA:
Inheritance graph
[legend]
Collaboration diagram for US_Astfem_RSA:
Collaboration graph
[legend]

Signals

void new_scan (QVector< double > *, double *)
 Signal that a calculate_ni()/calculate_ra2() step is complete. More...
 
void new_time (double)
 Signal that a calculate()/*_ni()/*_ra2() step is complete. More...
 
void current_component (int)
 Signal that a calculate() step is complete. More...
 
void current_speed (int)
 Signal that a calculate_ni()/calculate_ra2() step is complete. More...
 
void calc_start (int)
 Signal that decompose() calculations have begun. More...
 
void calc_progress (int)
 Signal that a decompose() calculation step is complete. More...
 
void calc_done (void)
 Signal that decompose() calculations are done. More...
 

Public Member Functions

 US_Astfem_RSA (US_Model &, US_SimulationParameters &, QObject *=0)
 Initialize the simulation calculation object. More...
 
int calculate (US_DataIO::RawData &)
 Do the bulk of simulation calculations. More...
 
void setTimeCorrection (bool flag)
 Set a flag for whether to perform time correction. More...
 
void setTimeInterpolation (bool flag)
 Set a flag for whether to perform time interpolation. More...
 
void setStopFlag (bool flag)
 Set a flag for whether to stop calculations. More...
 
void set_movie_flag (bool flag)
 Set a flag for whether to emit signals for movie mode. More...
 
void set_simout_flag (bool flag)
 Set a flag for whether to output the simulation data. More...
 
void set_debug_flag (int flag)
 Set a flag for the debug print level. More...
 

Private Member Functions

void update_assocv (void)
 
void adjust_limits (int speed)
 
double stretch (double *, int)
 
void initialize_rg (void)
 
void initialize_conc (int, US_AstfemMath::MfemInitial &, bool)
 
int calculate_ni (double, double, US_AstfemMath::MfemInitial &, US_AstfemMath::MfemData &, bool)
 
void mesh_gen (QVector< double > &, int)
 
void mesh_gen_s_pos (const QVector< double > &)
 
void mesh_gen_s_neg (const QVector< double > &)
 
void mesh_gen_RefL (int, int)
 
void ComputeCoefMatrixFixedMesh (double, double, double **, double **)
 
void decompose (US_AstfemMath::MfemInitial *)
 
void ComputeCoefMatrixMovingMeshR (double, double, double **, double **)
 
void ComputeCoefMatrixMovingMeshL (double, double, double **, double **)
 
void ReactionOneStep_Euler_imp (int, double **, double)
 
void Reaction_dydt (double *, double *)
 
void Reaction_dfdy (double *, double **)
 
int calculate_ra2 (double, double, US_AstfemMath::MfemInitial *, US_AstfemMath::MfemData &, bool)
 
void GlobalStiff (double *, double **, double **, double, double)
 
void load_mfem_data (US_DataIO::RawData &, US_AstfemMath::MfemData &)
 
void store_mfem_data (US_DataIO::RawData &, US_AstfemMath::MfemData &)
 

Private Attributes

bool stopFlag
 Stop calculation, interpolate, and return. More...
 
bool time_correction
 
bool use_time
 
bool show_movie
 
bool simout_flag
 
US_StiffBase stfb0
 
double last_time
 Keep track of time globally for w2t_integral calculation. More...
 
double w2t_integral
 Keep track of w2t_integral value globally. More...
 
int Nx
 Number of points used in radial direction. More...
 
int dbg_level
 
US_AstfemMath::AstFemParameters af_params
 
US_AstfemMath::MfemData af_data
 
US_AstfemMath::MfemInitial af_c0
 
double * xA
 
QVector< double > x
 
QVector
< US_AstfemMath::ReactionGroup
rg
 
US_Modelsystem
 
US_SimulationParameterssimparams
 

Detailed Description

The module that calculates simulation data.

Definition at line 18 of file us_astfem_rsa.h.

Constructor & Destructor Documentation

US_Astfem_RSA::US_Astfem_RSA ( US_Model model,
US_SimulationParameters params,
QObject *  parent = 0 
)

Initialize the simulation calculation object.

Parameters
modelReference to the model.
paramsReference to the simulation parameters.
parentParent object, normally not specified.

Definition at line 13 of file us_astfem_rsa.cpp.

Member Function Documentation

void US_Astfem_RSA::adjust_limits ( int  speed)
private

Definition at line 1043 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::calc_done ( void  )
signal

Signal that decompose() calculations are done.

The connected slot receives notice that decompose() function calculations have completed.

void US_Astfem_RSA::calc_progress ( int  )
signal

Signal that a decompose() calculation step is complete.

The connected slot receives the integer step count from the decompose() function.

void US_Astfem_RSA::calc_start ( int  )
signal

Signal that decompose() calculations have begun.

The connected slot receives notice that decompose() function calculations have begun and receives the integer maximum number of steps.

int US_Astfem_RSA::calculate ( US_DataIO::RawData exp_data)

Do the bulk of simulation calculations.

Parameters
exp_dataReference to the artificial experimental object to be created and populated by simulation.

Definition at line 26 of file us_astfem_rsa.cpp.

int US_Astfem_RSA::calculate_ni ( double  rpm_start,
double  rpm_stop,
US_AstfemMath::MfemInitial C_init,
US_AstfemMath::MfemData simdata,
bool  accel 
)
private

Definition at line 1366 of file us_astfem_rsa.cpp.

int US_Astfem_RSA::calculate_ra2 ( double  rpm_start,
double  rpm_stop,
US_AstfemMath::MfemInitial C_init,
US_AstfemMath::MfemData simdata,
bool  accel 
)
private

Definition at line 3190 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::ComputeCoefMatrixFixedMesh ( double  D,
double  sw2,
double **  CA,
double **  CB 
)
private

Definition at line 2385 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::ComputeCoefMatrixMovingMeshL ( double  D,
double  sw2,
double **  CA,
double **  CB 
)
private

Definition at line 2576 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::ComputeCoefMatrixMovingMeshR ( double  D,
double  sw2,
double **  CA,
double **  CB 
)
private

Definition at line 2477 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::current_component ( int  )
signal

Signal that a calculate() step is complete.

The connected slot receives the integer step count from loops in function calculate().

void US_Astfem_RSA::current_speed ( int  )
signal

Signal that a calculate_ni()/calculate_ra2() step is complete.

The connected slot receives the integer step count from loops in functions calculate_ni() and calculate_ra2().

void US_Astfem_RSA::decompose ( US_AstfemMath::MfemInitial C0)
private

Definition at line 2675 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::GlobalStiff ( double *  xb,
double **  ca,
double **  cb,
double  D,
double  sw2 
)
private

Definition at line 3741 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::initialize_conc ( int  kk,
US_AstfemMath::MfemInitial CT0,
bool  noninteracting 
)
private

Definition at line 1258 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::initialize_rg ( void  )
private

Definition at line 1072 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::load_mfem_data ( US_DataIO::RawData edata,
US_AstfemMath::MfemData fdata 
)
private

Definition at line 3857 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::mesh_gen ( QVector< double > &  nu,
int  MeshOpt 
)
private

Definition at line 1849 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::mesh_gen_RefL ( int  N0,
int  M0 
)
private

Definition at line 2306 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::mesh_gen_s_neg ( const QVector< double > &  nu)
private

Definition at line 2192 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::mesh_gen_s_pos ( const QVector< double > &  nuvec)
private

Definition at line 1998 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::new_scan ( QVector< double > *  ,
double *   
)
signal

Signal that a calculate_ni()/calculate_ra2() step is complete.

The connected slot receives the radius vector and concentration array from loops in functions calculate_ni() and calculate_ra2().

void US_Astfem_RSA::new_time ( double  )
signal

Signal that a calculate()/*_ni()/*_ra2() step is complete.

The connected slot receives the scan time value from loops in functions calculate(), calculate_ni(), and calculate_ra2().

void US_Astfem_RSA::Reaction_dfdy ( double *  y0,
double **  dfdy 
)
private

Definition at line 3102 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::Reaction_dydt ( double *  y0,
double *  yt 
)
private

Definition at line 3038 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::ReactionOneStep_Euler_imp ( int  Npts,
double **  C1,
double  timeStep 
)
private

Definition at line 2859 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::set_debug_flag ( int  flag)
inline

Set a flag for the debug print level.

Parameters
flagInteger debug print level (dbg_level).

Definition at line 58 of file us_astfem_rsa.h.

void US_Astfem_RSA::set_movie_flag ( bool  flag)
inline

Set a flag for whether to emit signals for movie mode.

Parameters
flagFlag for whether or not to operate in show-movie mode.

Definition at line 48 of file us_astfem_rsa.h.

void US_Astfem_RSA::set_simout_flag ( bool  flag)
inline

Set a flag for whether to output the simulation data.

Parameters
flagFlag for whether or not to output raw simulation data, instead of the normal data interpolated to fit the input experiment grid.

Definition at line 54 of file us_astfem_rsa.h.

void US_Astfem_RSA::setStopFlag ( bool  flag)
inline

Set a flag for whether to stop calculations.

Parameters
flagFlag to stop calculation() computations and return.

Definition at line 44 of file us_astfem_rsa.h.

void US_Astfem_RSA::setTimeCorrection ( bool  flag)
inline

Set a flag for whether to perform time correction.

Parameters
flagFlag for whether or not to perform correction.

Definition at line 36 of file us_astfem_rsa.h.

void US_Astfem_RSA::setTimeInterpolation ( bool  flag)
inline

Set a flag for whether to perform time interpolation.

Parameters
flagFlag for whether or not to perform interpolation.

Definition at line 40 of file us_astfem_rsa.h.

void US_Astfem_RSA::store_mfem_data ( US_DataIO::RawData edata,
US_AstfemMath::MfemData fdata 
)
private

Definition at line 3904 of file us_astfem_rsa.cpp.

double US_Astfem_RSA::stretch ( double *  rotorcoeffs,
int  rpm 
)
private

Definition at line 1064 of file us_astfem_rsa.cpp.

void US_Astfem_RSA::update_assocv ( void  )
private

Definition at line 1011 of file us_astfem_rsa.cpp.

Member Data Documentation

US_AstfemMath::MfemInitial US_Astfem_RSA::af_c0
private

Definition at line 126 of file us_astfem_rsa.h.

US_AstfemMath::MfemData US_Astfem_RSA::af_data
private

Definition at line 125 of file us_astfem_rsa.h.

US_AstfemMath::AstFemParameters US_Astfem_RSA::af_params
private

Definition at line 124 of file us_astfem_rsa.h.

int US_Astfem_RSA::dbg_level
private

Definition at line 122 of file us_astfem_rsa.h.

double US_Astfem_RSA::last_time
private

Keep track of time globally for w2t_integral calculation.

Definition at line 118 of file us_astfem_rsa.h.

int US_Astfem_RSA::Nx
private

Number of points used in radial direction.

Definition at line 121 of file us_astfem_rsa.h.

QVector< US_AstfemMath::ReactionGroup > US_Astfem_RSA::rg
private

Definition at line 130 of file us_astfem_rsa.h.

bool US_Astfem_RSA::show_movie
private

Definition at line 113 of file us_astfem_rsa.h.

bool US_Astfem_RSA::simout_flag
private

Definition at line 114 of file us_astfem_rsa.h.

US_SimulationParameters& US_Astfem_RSA::simparams
private

Definition at line 132 of file us_astfem_rsa.h.

US_StiffBase US_Astfem_RSA::stfb0
private

Definition at line 115 of file us_astfem_rsa.h.

bool US_Astfem_RSA::stopFlag
private

Stop calculation, interpolate, and return.

Definition at line 105 of file us_astfem_rsa.h.

US_Model& US_Astfem_RSA::system
private

Definition at line 131 of file us_astfem_rsa.h.

bool US_Astfem_RSA::time_correction
private
   Decides if output data is time corrected 

for acceleration (true=yes, false=no)

Definition at line 106 of file us_astfem_rsa.h.

bool US_Astfem_RSA::use_time
private
          Decides if output data is interpolated 

based on time (=true) or based on omega-square-t integral (=false)

Definition at line 109 of file us_astfem_rsa.h.

double US_Astfem_RSA::w2t_integral
private

Keep track of w2t_integral value globally.

Definition at line 120 of file us_astfem_rsa.h.

QVector< double > US_Astfem_RSA::x
private

Definition at line 129 of file us_astfem_rsa.h.

double* US_Astfem_RSA::xA
private

Definition at line 128 of file us_astfem_rsa.h.


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