Module to calculate simulation data by AST Finite Volume Method. More...
#include "us_lamm_astfvm.h"
Classes | |
class | Mesh |
Finite volume mesh for ASTFVM solution. More... | |
class | SaltData |
Salt data for co-sedimenting. More... | |
Signals | |
void | calc_start (int nsteps) |
Signal calculation start and give maximum steps. More... | |
void | calc_progress (int istep) |
Signal calculation progress, giving running step count. More... | |
void | calc_done (void) |
Signal that calculations are complete. More... | |
void | comp_progress (int icomp) |
Signal component progress, giving running component number. More... | |
void | new_scan (QVector< double > *, double *) |
Signal that calculation step is complete. The connected slot receives the radius vector and concentration array from loops in calculate functions. More... | |
void | new_time (double) |
Signal component progress, giving running component number The connected slot receives the scan time value from calc. functions.a. More... | |
Public Member Functions | |
US_LammAstfvm (US_Model &, US_SimulationParameters &, QObject *=0) | |
Create Lamm equations AST Finite Volume Method solver. More... | |
~US_LammAstfvm () | |
Destroy FVM solver. More... | |
int | calculate (US_DataIO::RawData &) |
Main method to calculate FVM solution. More... | |
void | set_buffer (US_Buffer) |
Set buffer parameters: density, compressibility. More... | |
int | solve_component (int) |
Calculate solution for a model component. More... | |
void | SetMeshSpeedFactor (double) |
Set the mesh speed factor: 1.0 (moving) or 0.0 (non-moving) More... | |
void | SetMeshRefineOpt (int) |
Set the mesh refinement option: 1 to refine, 0 to not refine. More... | |
void | setStopFlag (bool) |
Set stop flag. More... | |
void | setMovieFlag (bool) |
Set a flag for whether to emit signals for movie mode. More... | |
Private Member Functions | |
int | nonIdealCaseNo (void) |
Get the non-ideal case number from model parameters. More... | |
void | SetNonIdealCase_1 (double, double) |
Set up non-ideal case type 1 (concentration-dependent) More... | |
void | SetNonIdealCase_2 (void) |
Set up non-ideal case type 2 (co-sedimenting) More... | |
void | SetNonIdealCase_3 (int &, double &) |
Set up non-ideal case type 3 (compressibility) More... | |
void | LammStepSedDiff_P (double, double, int, double *, double *, double *) |
void | LammStepSedDiff_C (double, double, int, double *, double *, int, double *, double *, double *) |
void | ProjectQ (int, double *, double *, int, double *, double *) |
double | IntQs (double *, double *, int, double, int, double) |
void | quadInterpolate (double *, double *, int, QVector< double > &, QVector< double > &) |
void | LocateStar (int, double *, int, double *, int *, double *) |
void | AdjustSD (double, int, double *, double *, double *, double *) |
void | fun_phi (double, double *) |
void | fun_dphi (double, double *) |
void | fun_Iphi (double, double *) |
double | IntQ (double *, double *, double, double) |
void | LsSolver53 (int, double **, double *, double *) |
void | load_mfem_data (US_DataIO::RawData &, US_AstfemMath::MfemData &, bool=true) |
void | store_mfem_data (US_DataIO::RawData &, US_AstfemMath::MfemData &) |
Private Attributes | |
US_Model & | model |
US_SimulationParameters & | simparams |
US_DataIO::RawData * | auc_data |
US_AstfemMath::MfemData | af_data |
Mesh * | msh |
int | NonIdealCaseNo |
double | sigma |
double | delta |
double | density |
double | compressib |
double | vbar_salt |
SaltData * | saltdata |
double | MeshSpeedFactor |
int | MeshRefineOpt |
int | comp_x |
int | dbg_level |
bool | stopFlag |
bool | movieFlag |
double | param_m |
double | param_b |
double | param_s |
double | param_D |
double | param_w2 |
double | err_tol |
double | d_coeff [6] |
double | v_coeff [6] |
Module to calculate simulation data by AST Finite Volume Method.
Definition at line 19 of file us_lamm_astfvm.h.
US_LammAstfvm::US_LammAstfvm | ( | US_Model & | rmodel, |
US_SimulationParameters & | rsimparms, | ||
QObject * | parent = 0 |
||
) |
Create Lamm equations AST Finite Volume Method solver.
rmodel | Reference to model on which solution is based |
rsimparms | Reference to simulation parameters |
parent | Parent object (may be 0) |
Definition at line 688 of file us_lamm_astfvm.cpp.
US_LammAstfvm::~US_LammAstfvm | ( | ) |
Destroy FVM solver.
Definition at line 731 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1566 of file us_lamm_astfvm.cpp.
|
signal |
Signal that calculations are complete.
|
signal |
Signal calculation progress, giving running step count.
istep | Current progress step count |
|
signal |
Signal calculation start and give maximum steps.
nsteps | Number of expected total calculation progress steps |
int US_LammAstfvm::calculate | ( | US_DataIO::RawData & | sim_data | ) |
Main method to calculate FVM solution.
sim_data | Reference to simulated AUC data to produce |
Definition at line 739 of file us_lamm_astfvm.cpp.
|
signal |
Signal component progress, giving running component number.
icomp | Current component begun (1,...) |
|
private |
Definition at line 1741 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1755 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1733 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1772 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1795 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1266 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1244 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 2005 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1544 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1874 of file us_lamm_astfvm.cpp.
|
signal |
Signal that calculation step is complete. The connected slot receives the radius vector and concentration array from loops in calculate functions.
|
signal |
Signal component progress, giving running component number The connected slot receives the scan time value from calc. functions.a.
|
private |
Get the non-ideal case number from model parameters.
Definition at line 1916 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1829 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 1951 of file us_lamm_astfvm.cpp.
void US_LammAstfvm::set_buffer | ( | US_Buffer | buffer | ) |
Set buffer parameters: density, compressibility.
buffer | Buffer object to examine |
Definition at line 1184 of file us_lamm_astfvm.cpp.
void US_LammAstfvm::SetMeshRefineOpt | ( | int | Opt | ) |
Set the mesh refinement option: 1 to refine, 0 to not refine.
Opt | Mesh refinement option flag: 1/0 for yes/no. |
Definition at line 1226 of file us_lamm_astfvm.cpp.
void US_LammAstfvm::SetMeshSpeedFactor | ( | double | speed | ) |
Set the mesh speed factor: 1.0 (moving) or 0.0 (non-moving)
speed | Mesh speed factor of 1.0 or 0.0 |
Definition at line 1221 of file us_lamm_astfvm.cpp.
void US_LammAstfvm::setMovieFlag | ( | bool | flag | ) |
Set a flag for whether to emit signals for movie mode.
flag | Flag for whether or not to operate in show-movie mode. |
Definition at line 2094 of file us_lamm_astfvm.cpp.
|
private |
Set up non-ideal case type 1 (concentration-dependent)
sigma_k | Sigma constant to modify sedimentation coefficient |
delta_k | Delta constant to modify diffusion coefficient |
Definition at line 1196 of file us_lamm_astfvm.cpp.
|
private |
Set up non-ideal case type 2 (co-sedimenting)
Definition at line 1202 of file us_lamm_astfvm.cpp.
|
private |
Set up non-ideal case type 3 (compressibility)
mropt | Reference to mesh refine option flag to set |
err_tol | Reference to error tolerance factor to set |
Definition at line 1215 of file us_lamm_astfvm.cpp.
void US_LammAstfvm::setStopFlag | ( | bool | flag | ) |
Set stop flag.
flag | Flag for whether to stop |
Definition at line 2087 of file us_lamm_astfvm.cpp.
int US_LammAstfvm::solve_component | ( | int | compx | ) |
Calculate solution for a model component.
compx | Index to model component to use in solution pass |
Definition at line 780 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 2062 of file us_lamm_astfvm.cpp.
|
private |
Definition at line 192 of file us_lamm_astfvm.h.
|
private |
Definition at line 190 of file us_lamm_astfvm.h.
|
private |
Definition at line 219 of file us_lamm_astfvm.h.
|
private |
Definition at line 208 of file us_lamm_astfvm.h.
|
private |
Definition at line 233 of file us_lamm_astfvm.h.
|
private |
Definition at line 220 of file us_lamm_astfvm.h.
|
private |
Definition at line 203 of file us_lamm_astfvm.h.
|
private |
Definition at line 207 of file us_lamm_astfvm.h.
|
private |
Definition at line 231 of file us_lamm_astfvm.h.
|
private |
Definition at line 216 of file us_lamm_astfvm.h.
|
private |
Definition at line 213 of file us_lamm_astfvm.h.
|
private |
Definition at line 188 of file us_lamm_astfvm.h.
|
private |
Definition at line 223 of file us_lamm_astfvm.h.
|
private |
Definition at line 194 of file us_lamm_astfvm.h.
|
private |
Definition at line 196 of file us_lamm_astfvm.h.
|
private |
Definition at line 226 of file us_lamm_astfvm.h.
|
private |
Definition at line 228 of file us_lamm_astfvm.h.
|
private |
Definition at line 225 of file us_lamm_astfvm.h.
|
private |
Definition at line 227 of file us_lamm_astfvm.h.
|
private |
Definition at line 229 of file us_lamm_astfvm.h.
|
private |
Definition at line 211 of file us_lamm_astfvm.h.
|
private |
Definition at line 202 of file us_lamm_astfvm.h.
|
private |
Definition at line 189 of file us_lamm_astfvm.h.
|
private |
Definition at line 222 of file us_lamm_astfvm.h.
|
private |
Definition at line 234 of file us_lamm_astfvm.h.
|
private |
Definition at line 209 of file us_lamm_astfvm.h.