|
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.