autoPtr<lcsEnthalpySourcePluginFunction::dimScalarField> coalCloudEnthalpySourcePluginFunction::internalEvaluate() { // pick up the first fitting class tryCall(dimScalarField,constThermoCoalCloud,reactingMultiphaseCloud,Sh()); tryCall(dimScalarField,thermoCoalCloud,reactingMultiphaseCloud,Sh()); tryCall(dimScalarField,icoPoly8ThermoCoalCloud,reactingMultiphaseCloud,Sh()); return lcsEnthalpySourcePluginFunction::internalEvaluate(); }
autoPtr<lcsEnthalpySourcePluginFunction::dimScalarField> coalCloudEnthalpySourcePluginFunction::internalEvaluate() { // pick up the first fitting class #ifdef FOAM_REACTINGCLOUD_TEMPLATED tryCall(dimScalarField,constThermoCoalCloud,reactingMultiphaseCloud,Sh()); tryCall(dimScalarField,thermoCoalCloud,reactingMultiphaseCloud,Sh()); tryCall(dimScalarField,icoPoly8ThermoCoalCloud,reactingMultiphaseCloud,Sh()); #else tryCall(dimScalarField,coalCloud,reactingMultiphaseCloud,hsTrans()); #endif return lcsEnthalpySourcePluginFunction::internalEvaluate(); }
Foam::tmp<Foam::volScalarField> Foam::massTransferModels::Frossling::K() const { volScalarField Sh(scalar(2) + 0.552*sqrt(pair_.Re())*cbrt(Le_*pair_.Pr())); return 6.0*pair_.dispersed()*Sh/sqr(pair_.dispersed().d()); }
Foam::tmp<Foam::volScalarField> singleStepCombustion< CombThermoType, ThermoType>::dQ() const { tmp<volScalarField> tdQ ( new volScalarField ( IOobject ( "dQ", this->mesh_.time().timeName(), this->mesh_, IOobject::NO_READ, IOobject::NO_WRITE, false ), this->mesh_, dimensionedScalar("dQ", dimEnergy/dimTime, 0.0), zeroGradientFvPatchScalarField::typeName ) ); if (this->active()) { volScalarField& dQ = tdQ(); dQ.dimensionedInternalField() = this->mesh().V()*Sh()(); } return tdQ; }
inline void balance(std::vector<ext_task>& tasks, std::vector<std::vector<ext_task> >& sched) { int size = sched.size(); int n = tasks.size(); std::sort(tasks.begin(), tasks.end()); typedef boost::heap::fibonacci_heap<heap_node> heap_type; std::vector<heap_type::handle_type> Sh(size); heap_type S; int lim = std::min(size, n); // initialize heap for (int i = 0; i < lim; ++i) { sched[i].push_back(tasks.back()); Sh[i] = S.push(heap_node(i, tasks.back().t.cost)); tasks.pop_back(); } // update heap (and schedule) for (int i = 0; i < n - lim; ++i) { heap_node nd = S.top(); sched[nd.pos].push_back(tasks.back()); nd.cost += tasks.back().t.cost; S.update(Sh[nd.pos], nd); tasks.pop_back(); } } // balance
void CEmpEdit::OnBnClickedButton6() { // TODO: Update CString SqlString,s1; CString var_name,var_id,var_sh,var_sa,var_dep,var_Eid; int flg=0,col_index=1; CEmpTable recset(&database); EID->GetWindowText(var_id); ENA->GetWindowText(var_name); EWO->GetWindowText(var_sh); ESA->GetWindowText(var_sa); EDE->GetWindowText(var_dep); CString coma(", "); //CString CB(");"); CString sc(" ;"); CString Quo("'"); CString Ei(" [Employee ID] = "); CString De(" , [Deprtment] = "); CString Sh(" , [Shift] = "); CString Sa(" , [Salary] = "); CString Id(" [ID] = "); CString sp(" AND "); CString wh(" WHERE "); CString Bo(" ( "); CString Bc(" ) "); recset.Open(CRecordset::dynaset,_T("SELECT * FROM EmpTable"),CRecordset::readOnly); recset.SetAbsolutePosition(rec_index); //recset.GetFieldValue(col_index,var_id); recset.GetFieldValue(col_index-1,var_Eid); s1.Format("UPDATE EmpTable SET [Employee Name] = "); SqlString=s1+Quo+var_name+Quo+De+Quo+var_dep+Quo+Sh+Quo+var_sh+Quo+Sa+var_sa+wh+Id+var_Eid+sc; AfxMessageBox(SqlString); try { database.ExecuteSQL(SqlString); } catch(CDBException* pe) { flg=1; // The error code is in pe->m_nRetCode pe->ReportError(); pe->Delete(); } if (flg == 0) { MessageBox(_T("Record Successfully Updated To The Database"),_T("Successfull")); } }
scalar standardEvaporationModel::relaxationTime ( const scalar diameter, const scalar liquidDensity, const scalar rhoFuelVapor, const scalar massDiffusionCoefficient, const scalar ReynoldsNumber, const scalar SchmidtNumber, const scalar Xs, const scalar Xf, const scalar m0, const scalar dm, const scalar dt ) const { scalar time = GREAT; scalar lgExpr = 0.0; /* (pressure - partialFuelVaporPressure)/ (pressure - pressureAtSurface) = 1 + Xratio if the pressure @ Surface > pressure this lead to boiling and Xratio -> infinity (as it should) ... this is numerically nasty NB! by N. Nordin X_v,s = (p_v,s/p) X_v,d where X_v,d = 1 for single component fuel according to eq (3.136) in D. Clerides Thesis */ scalar Xratio = (Xs - Xf)/max(SMALL, 1.0 - Xs); if (Xratio > 0.0) { lgExpr = log(1.0 + Xratio); } // From Equation (3.79) in C. Kralj's Thesis: // Note that the 2.0 (instead of 6.0) below is correct, since evaporation // is d(diameter)/dt and not d(mass)/dt scalar denominator = 6.0 * massDiffusionCoefficient * Sh(ReynoldsNumber, SchmidtNumber) * rhoFuelVapor * lgExpr; if (denominator > SMALL) { time = max(VSMALL, liquidDensity * pow(diameter, 2.0)/denominator); } return time; }
void MyDayInfoPlot::DrawPricePlot(wxDC&dc){ TotalDayInfoStru MyDays[TOTAY_DAYS_MYDAYINFO]; double MaxSz,MinSz,MaxSh,MinSh,MaxTotal,MinTotal,MaxDelta,MinDelta; MaxSz=MinSz=MaxSh=MinSh=MaxTotal=MinTotal=MaxDelta=MinDelta=0; for (int tidx=0;tidx<TOTAY_DAYS_MYDAYINFO;tidx++){ MyDays[tidx].Valid=false; } wxString keyPath=WStockConfig::GetMyDayInfoPath(); wxFileName keyf(keyPath); keyf.MakeAbsolute(); xmlDocPtr doc=NULL; if (keyf.FileExists()){ //Load Stocks Name From file doc = xmlParseFile((const char*)keyf.GetFullPath().mb_str()); } //If Load Fail, Create the Xml Memory if (doc==NULL){ dc.DrawText(_("No Info File Found!"),10,10); return; } for (xmlNodePtr node=doc->children->children;node;node=node->next){ if (xmlStrcmp(node->name,(const xmlChar*)"DayInfo")==0){ wxString Date(wxConvUTF8.cMB2WC( (char*)xmlGetProp(node, (const xmlChar*)"Date")),*wxConvCurrent); wxString Sz(wxConvUTF8.cMB2WC( (char*)xmlGetProp(node, (const xmlChar*)"ShenZhen")),*wxConvCurrent); wxString Sh(wxConvUTF8.cMB2WC( (char*)xmlGetProp(node, (const xmlChar*)"ShangHai")),*wxConvCurrent); wxString Total(wxConvUTF8.cMB2WC( (char*)xmlGetProp(node, (const xmlChar*)"Total")),*wxConvCurrent); wxString Delta(wxConvUTF8.cMB2WC( (char*)xmlGetProp(node, (const xmlChar*)"TodayEarning")),*wxConvCurrent); wxDateTime date; date.ParseDate(Date); int idx=(wxDateTime::Today()-date).GetDays(); if (idx<TOTAY_DAYS_MYDAYINFO){ Sz.ToDouble(&MyDays[idx].sz); Sh.ToDouble(&MyDays[idx].sh); Total.ToDouble(&MyDays[idx].total); Delta.ToDouble(&MyDays[idx].delta); MyDays[idx].Valid = true; MyDays[idx].date = date; } } } int i; for (i=0;i<TOTAY_DAYS_MYDAYINFO;i++){ if (MyDays[i].Valid){ if (MyDays[i].sz>MaxSz) MaxSz = MyDays[i].sz; if (MyDays[i].sz<MinSz) MinSz = MyDays[i].sz; if (MyDays[i].sh>MaxSh) MaxSh = MyDays[i].sh; if (MyDays[i].sh<MinSh) MinSh = MyDays[i].sh; if (MyDays[i].total>MaxTotal) MaxTotal = MyDays[i].total; if (MyDays[i].total<MinTotal) MinTotal = MyDays[i].total; if (MyDays[i].delta>MaxDelta) MaxDelta = MyDays[i].delta; if (MyDays[i].delta<MinDelta) MinDelta = MyDays[i].delta; } } dc.SetPen(wxPen(*wxBLACK,3)); int XStart=100,YStart=10,YFree=60; int TotalY=dc.GetSize().y-30-YFree; int XTotal = dc.GetSize().x-110; float TotalDelta=0; if (MinDelta<0) TotalDelta = MaxTotal - MinDelta+YFree; else TotalDelta = MaxTotal+YFree; if (TotalDelta<0.0003) TotalDelta = 1; int ZeroY = (int)(double)(TotalY/TotalDelta * MaxTotal + YStart); dc.DrawLine(XStart,YStart,XStart,YStart + TotalY + YFree); dc.DrawLine(XStart-10,ZeroY,XStart+XTotal,ZeroY); for (i=0;i<TOTAY_DAYS_MYDAYINFO;i++){ if (MyDays[i].Valid){ int MyTotalY=(int)(double)(ZeroY - TotalY/TotalDelta * MyDays[i].total); int MyDeltaY=(int)(double)(ZeroY - TotalY/TotalDelta * MyDays[i].delta); dc.SetBrush(*wxBLACK_BRUSH); dc.DrawRectangle(XStart+(i+1)*(XTotal / (TOTAY_DAYS_MYDAYINFO + 1)) - 5,MyTotalY,10,Abs(ZeroY-MyTotalY)); dc.SetBrush(*wxGREEN_BRUSH); dc.DrawRectangle(XStart+(i+1)*(XTotal / (TOTAY_DAYS_MYDAYINFO + 1)) - 5,MyDeltaY,10,Abs(ZeroY-MyDeltaY)); //wxLogMessage(wxT("Draw Rect at:%d %d %d %d"),(int)(XStart+(i+1)*(XTotal / (TOTAY_DAYS_MYDAYINFO + 1)) - 5), //MyDeltaY,10,Abs(ZeroY-MyDeltaY)); dc.DrawText(MyDays[i].date.FormatISODate(),XStart+(i+1)*(XTotal / (TOTAY_DAYS_MYDAYINFO + 1))-30,YStart+TotalY); } } }
void excute(){ if(stall){ extype = 0; EX = "NOP"; }else { extype = idtype; EX = ID; } if(strcmp(EX,"ADD") == 0){ if(Add(rs,rt,rd) < 0){ error_no = 1; } }else if(strcmp(EX,"SUB") == 0){ if(Sub(rs,rt,rd) < 0){ error_no = 1; } }else if(strcmp(EX,"ADDU") == 0){ Add(rs,rt,rd); }else if(strcmp(EX,"AND") == 0){ And(rs,rt,rd); }else if(strcmp(EX,"OR") == 0){ Or(rs,rt,rd); }else if(strcmp(EX,"XOR") == 0){ Xor(rs,rt,rd); }else if(strcmp(EX,"NOR") == 0){ Nor(rs,rt,rd); }else if(strcmp(EX,"NAND") == 0){ Nand(rs,rt,rd); }else if(strcmp(EX,"SLT") == 0){ Slt(rs,rt,rd); }else if(strcmp(EX,"SLL") == 0){ Sll(rt,rd,shamt); }else if(strcmp(EX,"SRL") == 0){ Srl(rt,rd,shamt); }else if(strcmp(EX,"SRA") == 0){ Sra(rt,rd,shamt); }else if(strcmp(EX,"JR") == 0){ PC = registers[rs]; }else if(strcmp(EX,"ADDI") == 0){ if(Addi(rs,rt,imm)<0){ error_no = 1; } }else if(strcmp(EX,"ADDIU") == 0){ Addiu(rs,rt,imm); }else if(strcmp(EX,"LW") == 0){ Lw(rs,rt,imm); }else if(strcmp(EX,"LH") == 0){ Lh(rs,rt,imm); }else if(strcmp(EX,"LHU") == 0){ Lhu(rs,rt,imm); }else if(strcmp(EX,"LB") == 0){ Lb(rs,rt,imm); }else if(strcmp(EX,"LBU") == 0){ Lbu(rs,rt,imm); }else if(strcmp(EX,"SW") == 0){ Sw(rs,rt,imm); }else if(strcmp(EX,"SH") == 0){ Sh(rs,rt,imm); }else if(strcmp(EX,"SB") == 0){ Sb(rs,rt,imm); }else if(strcmp(EX,"LUI") == 0){ Lui(rt,imm); }else if(strcmp(EX,"ANDI") == 0){ Andi(rs,rt,imm); }else if(strcmp(EX,"ORI") == 0){ Ori(rs,rt,imm); }else if(strcmp(EX,"NORI") == 0){ Nori(rs,rt,imm); }else if(strcmp(EX,"SLTI") == 0){ Slti(rs,rt,imm); }else if(strcmp(EX,"JAL") == 0){ registers[31] = PC; PC = (PC)/(int)(Pow(2,28)+0.01)*(int)(Pow(2,28)+0.01) + ads*4; }else if(strcmp(EX,"J") == 0){ PC = (PC)/(int)(Pow(2,28)+0.01)*(int)(Pow(2,28)+0.01) + ads*4; }/*else if(strcmp(EX,"BEQ") == 0 || strcmp(EX,"BNE") == 0 || strcmp(EX,"BGTZ") == 0){ PC = go; }*/ }
real_t Line2::getInterpolate(const Point<real_t>& x, const LocalVect<real_t,2>& v) { Point<real_t> s = getRefCoord(x); return (Sh(1,s)*v(1) + Sh(2,s)*v(2)); }