ODT
|
Class implementing micromixer
object.
More...
#include <micromixer.h>
Public Member Functions | |
virtual void | advanceOdt (const double p_tstart, const double p_tend, const int iLevel=-1) |
void | check_balance (int io) |
micromixer () | |
void | init (domain *p_domn) |
virtual | ~micromixer () |
Public Attributes | |
domain * | domn |
pointer to domain object | |
cvodeDriver * | cvode |
pointer to cvode driver object for implicit ODE integration (stiff) | |
double | tstart |
double | time |
current time | |
double | tend |
double | dtStepNominal |
nominal step size | |
double | dt |
actual step size (shortened based on output or tend) | |
vector< double > | dxc |
abs(\Delta(x^c)) | |
vector< double > | dx |
abs(\Delta(x)) | |
vector< double > | gf |
grid factor for derivatives: (df/dx) = gf * (f - f) | |
bool | LdoDump |
vector< double > | uDL_1 |
for DL instability: old velocity | |
vector< double > | uDL_2 |
for DL instability: new velocity | |
vector< double > | xDL_1 |
for DL instability: = "old" cell center positions | |
vector< double > | xDL_2 |
for DL instability: = "new" cell center positions | |
vector< double > | posDL_old |
for DL instability: = "new" cell center positions | |
vector< double > | oldrho_or_rhov |
store the old density for continuity | |
int | nsteps |
total number of timesteps taken during simulation | |
Protected Member Functions | |
virtual void | setGf () |
sets the gf array | |
virtual void | setGridDxcDx () |
sets the dxc array | |
virtual void | set_oldrho_or_rhov () |
record old rho (or rho*u) for continuity | |
virtual bool | adaptGridIfNeeded () |
expansion or contraction --> adapt | |
virtual void | setNominalStepSize () |
sets a nominal dt for the whole period | |
void | setStepSize () |
set a local dt for interruptions (dump or tend) | |
void | updateGrid () |
enforce the continuity condition: (e.g., rho*dx = const). | |
void | do_DL (string doWhat) |
void | advanceOdtSingleStep_Explicit () |
void | advanceOdtSingleStep_SemiImplicit () |
void | advanceOdtSingleStep_StrangSplit () |
Protected Attributes | |
bool | LforceSetNominalStepSize |
used in updateGrid when splitting cells to indicate to reset timestep size later | |
Class implementing micromixer
object.
Definition at line 23 of file micromixer.h.
micromixer::micromixer | ( | ) |
micromixer constructor function
Definition at line 19 of file micromixer.cc.
|
inlinevirtual |
Definition at line 87 of file micromixer.h.
|
protectedvirtual |
expansion or contraction --> adapt
Adapt during diffusion for spatial cases for which grid contraction results in small grid cells
Definition at line 381 of file micromixer.cc.
|
virtual |
Advance ODT solution: diffusion and reaction
Definition at line 41 of file micromixer.cc.
|
protected |
Advance ODT solution: diffusion and reaction
Definition at line 137 of file micromixer.cc.
|
protected |
Advance ODT solution: diffusion and reaction; Some terms are implicit, others explicit. Nominally the mixing terms are explicit. Calling the cvode driver. First order. dphi/dt = D(phi_0) + S(phi) : solving from t0 to t1. Here, D() is the diffusive term, and S() is the (stiff) source term. We solve the whole RHS implicitly, but the D(phi_0) is fixed at time 0.
Definition at line 176 of file micromixer.cc.
|
protected |
Advance ODT solution: diffusion and reaction; Some terms are implicit, others explicit. Nominally the mixing terms are explicit. Calling the cvode driver. First order. dphi/dt = D(phi_0) + S(phi) : solving from t0 to t1. Here, D() is the diffusive term, and S() is the (stiff) source term. We solve the whole RHS implicitly, but the D(phi_0) is fixed at time 0.
Definition at line 218 of file micromixer.cc.
void micromixer::check_balance | ( | int | io | ) |
Definition at line 465 of file micromixer.cc.
|
protected |
Processes the DL instability
doWhat | input: string that indicates what to do. |
Definition at line 398 of file micromixer.cc.
void micromixer::init | ( | domain * | p_domn | ) |
micromixer initialization function
p_domn | input: set domain pointer with. |
Definition at line 30 of file micromixer.cc.
|
protectedvirtual |
record old rho (or rho*u) for continuity
Store the old density for continuity. This is a function for generality on inheritance.
Definition at line 459 of file micromixer.cc.
|
protectedvirtual |
|
protectedvirtual |
sets the dxc array
Set the cell sizes vectors: dxc and dx
Definition at line 71 of file micromixer.cc.
|
protectedvirtual |
sets a nominal dt for the whole period
Set time step size. This is based on a diffusive (or other) timescale. This is a uniform step size for the given integration period. The actual step size will be rest based on a data dump or tend.
Definition at line 85 of file micromixer.cc.
|
protected |
set a local dt for interruptions (dump or tend)
Set time step size. This is based on a diffusive (or other) timescale. This is a uniform step size for the given integration period. The actual step size will be rest based on a data dump or tend.
Definition at line 118 of file micromixer.cc.
|
protected |
enforce the continuity condition: (e.g., rho*dx = const).
Update grid for gas expansion
Definition at line 309 of file micromixer.cc.
cvodeDriver* micromixer::cvode |
pointer to cvode driver object for implicit ODE integration (stiff)
Definition at line 30 of file micromixer.h.
domain* micromixer::domn |
pointer to domain object
Definition at line 29 of file micromixer.h.
double micromixer::dt |
actual step size (shortened based on output or tend)
Definition at line 36 of file micromixer.h.
double micromixer::dtStepNominal |
nominal step size
Definition at line 35 of file micromixer.h.
vector<double> micromixer::dx |
abs(\Delta(x))
Definition at line 39 of file micromixer.h.
vector<double> micromixer::dxc |
abs(\Delta(x^c))
Definition at line 38 of file micromixer.h.
vector<double> micromixer::gf |
grid factor for derivatives: (df/dx) = gf * (f - f)
Definition at line 40 of file micromixer.h.
bool micromixer::LdoDump |
Definition at line 42 of file micromixer.h.
|
protected |
used in updateGrid when splitting cells to indicate to reset timestep size later
Definition at line 76 of file micromixer.h.
int micromixer::nsteps |
total number of timesteps taken during simulation
Definition at line 52 of file micromixer.h.
vector<double> micromixer::oldrho_or_rhov |
store the old density for continuity
Definition at line 50 of file micromixer.h.
vector<double> micromixer::posDL_old |
for DL instability: = "new" cell center positions
Definition at line 48 of file micromixer.h.
double micromixer::tend |
Definition at line 34 of file micromixer.h.
double micromixer::time |
current time
Definition at line 33 of file micromixer.h.
double micromixer::tstart |
Definition at line 32 of file micromixer.h.
vector<double> micromixer::uDL_1 |
for DL instability: old velocity
Definition at line 44 of file micromixer.h.
vector<double> micromixer::uDL_2 |
for DL instability: new velocity
Definition at line 45 of file micromixer.h.
vector<double> micromixer::xDL_1 |
for DL instability: = "old" cell center positions
Definition at line 46 of file micromixer.h.
vector<double> micromixer::xDL_2 |
for DL instability: = "new" cell center positions
Definition at line 47 of file micromixer.h.