ODT
Loading...
Searching...
No Matches
domaincase_odt_channelScalar.cc
Go to the documentation of this file.
1
8#include "domain.h"
9#include "dv.h"
10#include "dv_pos.h"
11#include "dv_posf.h"
12#include "dv_rho_const.h"
13#include "dv_dvisc_const.h"
14#include "dv_uvw.h"
15#include "dv_sca.h"
16
18
25
26 domn = p_domn;
27
28 domn->v.push_back(new dv_pos( domn, "pos", false, true)); // last are: L_transported, L_output
29 domn->v.push_back(new dv_posf( domn, "posf", false, true));
30 domn->v.push_back(new dv_rho_const( domn, "rho", false, false));
31 domn->v.push_back(new dv_dvisc_const(domn, "dvisc", false, false));
32 domn->v.push_back(new dv_uvw( domn, "uvel", true, true));
33 domn->v.push_back(new dv_uvw( domn, "vvel", true, true));
34 domn->v.push_back(new dv_uvw( domn, "wvel", true, true));
35 domn->v.push_back(new dv_sca( domn, "sca", true, true));
36
37 int k=0;
38 domn->pos = domn->v.at(k++);
39 domn->posf = domn->v.at(k++);
40 domn->rho = domn->v.at(k++);
41 domn->dvisc = domn->v.at(k++);
42 domn->uvel = domn->v.at(k++);
43 domn->vvel = domn->v.at(k++);
44 domn->wvel = domn->v.at(k++);
45 domn->sca = domn->v.at(k++);
46
47 //------------------- set variables used for mesh adaption
48
49 vector<dv*> phi;
50 phi.push_back(domn->uvel);
51 phi.push_back(domn->sca);
52 domn->mesher->init(domn, phi);
53
54 //------------------- default vel. & sca. values (0.0) are fine, along with rho, dvisc.
55
56 for(int i=0; i<domn->ngrd; i++) {
57 //---------- nonzero velocity profile (mind the BCs)
58 //domn->uvel->d[i] = 10*domn->pos->d.at(i); //doldbg
59 //domn->uvel->d[i] = 10*0.016/4.0/0.002*(1.0-domn->pos->d.at(i)*domn->pos->d.at(i)); //doldbg
60 //---------- non-zero scalar profile (mind the BCs)
61 double xm = (domn->pos->d.at(i) - domn->posf->d.at(0))/domn->Ldomain();
62 domn->sca->d.at(i) = domn->pram->sBClo * (1.0-xm) + domn->pram->sBChi * xm;
63 }
64
65}
66
68
int ngrd
number of grid cells
Definition domain.h:42
dv * uvel
Definition domain.h:51
double Ldomain()
Definition domain.cc:156
dv * posf
access as: posf->d[i], or posf->var_name, etc.
Definition domain.h:48
dv * vvel
Definition domain.h:52
dv * wvel
Definition domain.h:53
dv * pos
pointers to gas properties
Definition domain.h:47
meshManager * mesher
pointer to mesh manager object
Definition domain.h:78
dv * dvisc
Definition domain.h:50
vector< dv * > v
All domain variables are stored in here.
Definition domain.h:45
dv * sca
Definition domain.h:55
param * pram
pointer to the parameters object
Definition domain.h:73
dv * rho
Definition domain.h:49
domain * domn
pointer to domain object (parent)
Definition domaincase.h:28
vector< double > d
the data
Definition dv.h:30
virtual void setVar(const int ipt=-1)
Definition dv.h:44
void init(domain *p_domn, const vector< dv * > p_phi)
double sBChi
Dirichlet scalar boundary condition.
Definition param.h:101
double sBClo
Dirichlet scalar boundary condition.
Definition param.h:100
Header file for class domain.
Header file for class domaincase_odt_channelScalar.
Header file for class dv.
Header file for class dv_dvisc_const.
Header file for class dv_pos.
Header file for class dv_posf.
Header file for class dv_rho_const.
Header file for class dv_sca.
Header file for class dv_uvw.