UltraScan III
List of all members | Classes | Public Slots | Signals | Public Member Functions | Private Types | Private Slots | Private Attributes
US_SolveSim Class Reference

Solve a simulation, using an experiment data set, a model, and simulation parameters. More...

#include "us_solve_sim.h"

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

Classes

class  DataSet
 Class containing information for each data set input to calc_residuals() More...
 
class  Simulation
 Class for communicating simulation. More...
 

Public Slots

static bool checkGridSize (QList< DataSet * > &, double, QString &)
 Static function to check if implied grid size is beyond limits. More...
 
bool check_grid_size (double, QString &)
 Check if implied grid size is beyond limits. More...
 
void calc_residuals (int, int, Simulation &, bool=false, QVector< double > *=0, QVector< double > *=0)
 Calculate a simulation and the resulting residuals. More...
 
void abort_work (void)
 Set a flag so that the worker aborts at the earliest opportunity. More...
 

Signals

void work_progress (int)
 emit a signal that includes a progress step count More...
 

Public Member Functions

 US_SolveSim (QList< DataSet * > &, int, bool=false)
 

Private Types

enum  attr_type {
  ATTR_S, ATTR_K, ATTR_W, ATTR_V,
  ATTR_D, ATTR_F
}
 

Private Slots

void compute_a_tilde (QVector< double > &, const QVector< double > &)
 
void compute_L_tildes (int, int, QVector< double > &, const QVector< double > &)
 
void compute_L_tilde (QVector< double > &, const QVector< double > &)
 
void compute_L (int, int, QVector< double > &, const QVector< double > &, const QVector< double > &)
 
void ri_small_a_and_b (int, int, int, QVector< double > &, QVector< double > &, const QVector< double > &, const QVector< double > &, const QVector< double > &, const QVector< double > &)
 
void ti_small_a_and_b (int, int, int, QVector< double > &, QVector< double > &, const QVector< double > &, const QVector< double > &, const QVector< double > &, const QVector< double > &)
 
void compute_L_bar (QVector< double > &, const QVector< double > &, const QVector< double > &)
 
void compute_a_bar (QVector< double > &, const QVector< double > &, const QVector< double > &)
 
void compute_L_bars (int, int, int, int, QVector< double > &, const QVector< double > &, const QVector< double > &)
 
bool data_threshold (US_DataIO::RawData *, double, double, double, double)
 
bool data_threshold (US_DataIO::EditedData *, double, double, double, double)
 
void set_comp_attr (US_Model::SimulationComponent &, US_Solute &, int)
 
void DebugTime (QString)
 

Private Attributes

QList< DataSet * > & data_sets
 
int thrnrank
 
bool signal_wanted
 
int d_offs
 
int noisflag
 
int dbg_level
 
bool dbg_timing
 
bool abort
 
bool calc_ti
 
bool calc_ri
 
bool banddthr
 
QDateTime startCalc
 

Detailed Description

Solve a simulation, using an experiment data set, a model, and simulation parameters.

The central method used herein is calc_residuals().

Definition at line 23 of file us_solve_sim.h.

Member Enumeration Documentation

enum US_SolveSim::attr_type
private
Enumerator
ATTR_S 
ATTR_K 
ATTR_W 
ATTR_V 
ATTR_D 
ATTR_F 

Definition at line 124 of file us_solve_sim.h.

Constructor & Destructor Documentation

US_SolveSim::US_SolveSim ( QList< DataSet * > &  data_sets,
int  thrnrank,
bool  signal_wanted = false 
)

Constructor for the SolveSim class

Parameters
data_setsThe set of data sets for which to solve
thrnrankThread number or processor rank (1,...)
signal_wantedFlag whether to emit progress signals

Definition at line 24 of file us_solve_sim.cpp.

Member Function Documentation

void US_SolveSim::abort_work ( void  )
slot

Set a flag so that the worker aborts at the earliest opportunity.

Definition at line 1258 of file us_solve_sim.cpp.

void US_SolveSim::calc_residuals ( int  offset,
int  dataset_count,
Simulation sim_vals,
bool  padAB = false,
QVector< double > *  ASave = 0,
QVector< double > *  BSave = 0 
)
slot

Calculate a simulation and the resulting residuals.

Parameters
offsetStarting data-sets offset
dataset_countNumber of data sets for which to solve
sim_valsSimulation parameters object
padABOptional flag to pad saved A and B
ASaveOptional pointer for saving A matrix
BSaveOptional pointer for saving B matrix

Definition at line 152 of file us_solve_sim.cpp.

bool US_SolveSim::check_grid_size ( double  s_max,
QString &  smsg 
)
slot

Check if implied grid size is beyond limits.

Parameters
s_maxS-value maximum
smsgReturned size error message (if return=true)
Returns
Flag of size problem existing

Definition at line 146 of file us_solve_sim.cpp.

bool US_SolveSim::checkGridSize ( QList< DataSet * > &  data_sets,
double  s_max,
QString &  smsg 
)
staticslot

Static function to check if implied grid size is beyond limits.

Parameters
data_setsThe set of data sets for which to check
s_maxS-value maximum
smsgReturned size error message (if return=true)
Returns
Flag of size problem existing

Definition at line 89 of file us_solve_sim.cpp.

void US_SolveSim::compute_a_bar ( QVector< double > &  a_bar,
const QVector< double > &  a_tilde,
const QVector< double > &  nnls_b 
)
privateslot

Definition at line 1573 of file us_solve_sim.cpp.

void US_SolveSim::compute_a_tilde ( QVector< double > &  a_tilde,
const QVector< double > &  nnls_b 
)
privateslot

Definition at line 1264 of file us_solve_sim.cpp.

void US_SolveSim::compute_L ( int  ntotal,
int  nsolutes,
QVector< double > &  L,
const QVector< double > &  nnls_a,
const QVector< double > &  nnls_x 
)
privateslot

Definition at line 1327 of file us_solve_sim.cpp.

void US_SolveSim::compute_L_bar ( QVector< double > &  L_bar,
const QVector< double > &  L,
const QVector< double > &  L_tilde 
)
privateslot

Definition at line 1553 of file us_solve_sim.cpp.

void US_SolveSim::compute_L_bars ( int  nsolutes,
int  nrinois,
int  ntinois,
int  ntotal,
QVector< double > &  L_bars,
const QVector< double > &  nnls_a,
const QVector< double > &  L_tildes 
)
privateslot

Definition at line 1598 of file us_solve_sim.cpp.

void US_SolveSim::compute_L_tilde ( QVector< double > &  L_tilde,
const QVector< double > &  L 
)
privateslot

Definition at line 1309 of file us_solve_sim.cpp.

void US_SolveSim::compute_L_tildes ( int  nrinois,
int  nsolutes,
QVector< double > &  L_tildes,
const QVector< double > &  nnls_a 
)
privateslot

Definition at line 1283 of file us_solve_sim.cpp.

bool US_SolveSim::data_threshold ( US_DataIO::RawData sdata,
double  zerothr,
double  linethr,
double  maxod,
double  mfactor 
)
privateslot

Definition at line 1646 of file us_solve_sim.cpp.

bool US_SolveSim::data_threshold ( US_DataIO::EditedData edata,
double  zerothr,
double  linethr,
double  maxod,
double  mfactor 
)
privateslot

Definition at line 1708 of file us_solve_sim.cpp.

void US_SolveSim::DebugTime ( QString  mtext)
privateslot

Definition at line 1636 of file us_solve_sim.cpp.

void US_SolveSim::ri_small_a_and_b ( int  nsolutes,
int  ntotal,
int  nrinois,
QVector< double > &  small_a,
QVector< double > &  small_b,
const QVector< double > &  a_tilde,
const QVector< double > &  L_tildes,
const QVector< double > &  nnls_a,
const QVector< double > &  nnls_b 
)
privateslot

Definition at line 1357 of file us_solve_sim.cpp.

void US_SolveSim::set_comp_attr ( US_Model::SimulationComponent component,
US_Solute solute,
int  attr_type 
)
privateslot

Definition at line 1754 of file us_solve_sim.cpp.

void US_SolveSim::ti_small_a_and_b ( int  nsolutes,
int  ntotal,
int  ntinois,
QVector< double > &  small_a,
QVector< double > &  small_b,
const QVector< double > &  a_bar,
const QVector< double > &  L_bars,
const QVector< double > &  nnls_a,
const QVector< double > &  nnls_b 
)
privateslot

Definition at line 1456 of file us_solve_sim.cpp.

void US_SolveSim::work_progress ( int  )
signal

emit a signal that includes a progress step count

Member Data Documentation

bool US_SolveSim::abort
private

Definition at line 135 of file us_solve_sim.h.

bool US_SolveSim::banddthr
private

Definition at line 138 of file us_solve_sim.h.

bool US_SolveSim::calc_ri
private

Definition at line 137 of file us_solve_sim.h.

bool US_SolveSim::calc_ti
private

Definition at line 136 of file us_solve_sim.h.

int US_SolveSim::d_offs
private

Definition at line 131 of file us_solve_sim.h.

QList< DataSet* >& US_SolveSim::data_sets
private

Definition at line 126 of file us_solve_sim.h.

int US_SolveSim::dbg_level
private

Definition at line 133 of file us_solve_sim.h.

bool US_SolveSim::dbg_timing
private

Definition at line 134 of file us_solve_sim.h.

int US_SolveSim::noisflag
private

Definition at line 132 of file us_solve_sim.h.

bool US_SolveSim::signal_wanted
private

Definition at line 129 of file us_solve_sim.h.

QDateTime US_SolveSim::startCalc
private

Definition at line 139 of file us_solve_sim.h.

int US_SolveSim::thrnrank
private

Definition at line 128 of file us_solve_sim.h.


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