void Form3::timerEvent(QTimerEvent *event) { // отображение алгоритмов (слайды 3...) //inputs(); int ix = ui->stackedWidget->currentIndex(); if(ix==12) { ppn(); ppn1(); ustav(); } if(ix==18) fail_E(); // технологич.слайд: отобразить кол-во ошибок из блоков 151-2 и 152-1 // extern int errCnt[ETH_SRC_NUM]; // ui->lcd151_2->display(errCnt[1]); // ui->lcd152_1->display(errCnt[0]); // слайд2 таблицы входных сигналов // режим АФСЗ QString RegimyAFSZ[RegimyAFSZ_N] {"ВЫКЛ.","ПРОВ.ЗАЩИТ","ПОВЕРКА ИК","ПОВЕРКА ПС","УСТ.ВХ.ПАРАМ"}; //QString smthstr[] { "АЗ/ПЗ", "ручной/автоматизированный", "вверх", "вниз", "пуск", "стоп","сброс"}; // 2й слайд: режим АФСЗ int mode = valData[pkc][0]; if (mode<RegimyAFSZ_N) ui->lbRegimAfsz->setText(RegimyAFSZ[mode]); ethPackSend(); //commonSlide(); // проверка ошибок ethernet for(int i =0;i<ETH_SRC_NUM;i++) { if(timedCnt[i] == lastCnt[i]) ethErrFlag[i]=1; timedCnt[i] = lastCnt[i]; } }
osgToy::TetraStrip::TetraStrip() { osg::Vec3Array* vAry = dynamic_cast<osg::Vec3Array*>( getVertexArray() ); osg::Vec3Array* nAry = dynamic_cast<osg::Vec3Array*>( getNormalArray() ); setNormalBinding( osg::Geometry::BIND_PER_VERTEX ); osg::Vec4Array* cAry = dynamic_cast<osg::Vec4Array*>( getColorArray() ); setColorBinding( osg::Geometry::BIND_PER_VERTEX ); osg::Vec3 ppp( 1, 1, 1); osg::Vec4 white(1,1,1,1); osg::Vec3 nnp( -1, -1, 1); osg::Vec4 blue(0,0,1,1); osg::Vec3 pnn( 1, -1, -1); osg::Vec4 red(1,0,0,1); osg::Vec3 npn( -1, 1, -1); osg::Vec4 green(0,1,0,1); osg::Vec3 ppn( 1, 1, -1); osg::Vec4 yellow(1,1,0,1); osg::Vec3 pnp( 1, -1, 1); osg::Vec4 magenta(1,0,1,1); osg::Vec3 nnn( -1, -1, -1); osg::Vec4 black(0,0,0,1); osg::Vec3 npp( -1, 1, 1); osg::Vec4 cyan(0,1,1,1); #if 1 vAry->push_back(ppp); nAry->push_back(ppp); cAry->push_back(white); vAry->push_back(nnp); nAry->push_back(nnp); cAry->push_back(blue); vAry->push_back(pnn); nAry->push_back(pnn); cAry->push_back(red); vAry->push_back(npn); nAry->push_back(npn); cAry->push_back(green); vAry->push_back(ppp); nAry->push_back(ppp); cAry->push_back(white); vAry->push_back(nnp); nAry->push_back(nnp); cAry->push_back(blue); #else vAry->push_back(ppn); nAry->push_back(ppn); cAry->push_back(yellow); vAry->push_back(pnp); nAry->push_back(pnp); cAry->push_back(magenta); vAry->push_back(nnn); nAry->push_back(nnn); cAry->push_back(black); vAry->push_back(npp); nAry->push_back(npp); cAry->push_back(cyan); vAry->push_back(ppn); nAry->push_back(ppn); cAry->push_back(yellow); vAry->push_back(pnp); nAry->push_back(pnp); cAry->push_back(magenta); #endif addPrimitiveSet( new osg::DrawArrays( GL_TRIANGLE_STRIP, 0, vAry->size() ) ); }
VanGenuchtenSaturation<EvalT, Traits>:: VanGenuchtenSaturation(Teuchos::ParameterList& p) : vgSaturation(p.get<std::string>("Van Genuchten Saturation Name"), p.get<Teuchos::RCP<PHX::DataLayout> >("QP Scalar Data Layout")) { Teuchos::ParameterList* elmd_list = p.get<Teuchos::ParameterList*>("Parameter List"); Teuchos::RCP<PHX::DataLayout> vector_dl = p.get< Teuchos::RCP<PHX::DataLayout> >("QP Vector Data Layout"); std::vector<PHX::DataLayout::size_type> dims; vector_dl->dimensions(dims); numQPs = dims[1]; numDims = dims[2]; Teuchos::RCP<ParamLib> paramLib = p.get< Teuchos::RCP<ParamLib> >("Parameter Library", Teuchos::null); std::string type = elmd_list->get("Van Genuchten Saturation Type", "Constant"); if (type == "Constant") { is_constant = true; constant_value = elmd_list->get("Value", 1.0); // default value=1, identical to Terzaghi stress // Add Van Genuchten Saturation as a Sacado-ized parameter new Sacado::ParameterRegistration<EvalT, SPL_Traits>( "Van Genuchten Saturation", this, paramLib); } else if (type == "Truncated KL Expansion") { is_constant = false; PHX::MDField<MeshScalarT,Cell,QuadPoint,Dim> fx(p.get<std::string>("QP Coordinate Vector Name"), vector_dl); coordVec = fx; this->addDependentField(coordVec); exp_rf_kl = Teuchos::rcp(new Stokhos::KL::ExponentialRandomField<MeshScalarT>(*elmd_list)); int num_KL = exp_rf_kl->stochasticDimension(); // Add KL random variables as Sacado-ized parameters rv.resize(num_KL); for (int i=0; i<num_KL; i++) { std::string ss = Albany::strint("Van Genuchten Saturation KL Random Variable",i); new Sacado::ParameterRegistration<EvalT, SPL_Traits>(ss, this, paramLib); rv[i] = elmd_list->get(ss, 0.0); } } else { TEUCHOS_TEST_FOR_EXCEPTION(true, Teuchos::Exceptions::InvalidParameter, "Invalid Van Genuchten Saturation type " << type); } // Optional dependence on Temperature (E = E_ + dEdT * T) // Switched ON by sending Temperature field in p if ( p.isType<std::string>("Porosity Name") ) { Teuchos::RCP<PHX::DataLayout> scalar_dl = p.get< Teuchos::RCP<PHX::DataLayout> >("QP Scalar Data Layout"); PHX::MDField<ScalarT,Cell,QuadPoint> tp(p.get<std::string>("Porosity Name"), scalar_dl); porosity = tp; this->addDependentField(porosity); isPoroElastic = true; } else { isPoroElastic = false; } if ( p.isType<std::string>("QP Pore Pressure Name") ) { Teuchos::RCP<PHX::DataLayout> scalar_dl = p.get< Teuchos::RCP<PHX::DataLayout> >("QP Scalar Data Layout"); PHX::MDField<ScalarT,Cell,QuadPoint> ppn(p.get<std::string>("QP Pore Pressure Name"), scalar_dl); porePressure = ppn; isPoroElastic = true; this->addDependentField(porePressure); // typically bulk modulus of solid grain is larger than // bulk modulus of solid skeleton. waterUnitWeight = elmd_list->get("Water Unit Weight Value", 9810.0); new Sacado::ParameterRegistration<EvalT, SPL_Traits>( "Water Unit Weight Value", this, paramLib); } this->addEvaluatedField(vgSaturation); this->setName("Van Genuchten Saturation"+PHX::TypeString<EvalT>::value); }