void LoadingRamp(REAL pseudo_t, TPZCompMesh * cmesh){ if (!cmesh) { DebugStop(); } TPZMaterial *mat = cmesh->FindMaterial(ERock); if (!mat) { DebugStop(); } /// Compute the footing lenght REAL footing_lenght = 0; { TPZGeoMesh * gmesh = cmesh->Reference(); if (!gmesh) { DebugStop(); } int n_el = gmesh ->NElements(); for (int iel = 0; iel < n_el; iel++) { TPZGeoEl * gel = gmesh->Element(iel); if (!gel) { DebugStop(); } if (gel->MaterialId() != ETopBC) { continue; } REAL gel_length = gel->SideArea(gel->NSides() - 1); footing_lenght += gel_length; } } /// Apply loading REAL max_uy = 100.0; REAL min_uy = 0.0; /// Compute current displacement // REAL uy = (footing_lenght*(max_uy - min_uy)*pseudo_t)/100.0; REAL uy = (footing_lenght*(max_uy - min_uy)*pseudo_t); /// Apply current displacement TPZFMatrix<STATE> val2(2,1,0.); val2(1,0) = -uy; TPZBndCond * bc_top = NULL; bc_top = dynamic_cast<TPZBndCond *> (cmesh->FindMaterial(ETopBC)); if (!bc_top || bc_top->Material() != mat) { DebugStop(); } else { bc_top->Val2() = val2; } }
Node* IfEqualNodeFactory::do_getNode( const QString &tagContent, Parser *p, bool negate ) const { QStringList expr = smartSplit( tagContent ); if ( expr.size() != 3 ) { throw Grantlee::Exception( TagSyntaxError, QString::fromLatin1( "%1 tag takes two arguments." ).arg( expr.first() ) ); } QStringList vars; FilterExpression val1( expr.at( 1 ), p ); FilterExpression val2( expr.at( 2 ), p ); IfEqualNode *n = new IfEqualNode( val1 , val2, negate, p ); const QString endTag( QLatin1String( "end" ) + expr.first() ); NodeList trueList = p->parse( n, QStringList() << QLatin1String( "else" ) << endTag ); n->setTrueList( trueList ); NodeList falseList; if ( p->takeNextToken().content.trimmed() == QLatin1String( "else" ) ) { falseList = p->parse( n, QStringList() << endTag ); n->setFalseList( falseList ); p->removeNextToken(); } // else empty falseList. return n; }
bool SimpleKeyAgreementValidate(SimpleKeyAgreementDomain &d) { if (d.GetCryptoParameters().Validate(GlobalRNG(), 3)) cout << "passed simple key agreement domain parameters validation" << endl; else { cout << "FAILED simple key agreement domain parameters invalid" << endl; return false; } SecByteBlock priv1(d.PrivateKeyLength()), priv2(d.PrivateKeyLength()); SecByteBlock pub1(d.PublicKeyLength()), pub2(d.PublicKeyLength()); SecByteBlock val1(d.AgreedValueLength()), val2(d.AgreedValueLength()); d.GenerateKeyPair(GlobalRNG(), priv1, pub1); d.GenerateKeyPair(GlobalRNG(), priv2, pub2); memset(val1.begin(), 0x10, val1.size()); memset(val2.begin(), 0x11, val2.size()); if (!(d.Agree(val1, priv1, pub2) && d.Agree(val2, priv2, pub1))) { cout << "FAILED simple key agreement failed" << endl; return false; } if (!VerifyBufsEqual(val1.begin(), val2.begin(), d.AgreedValueLength())) { cout << "FAILED simple agreed values not equal" << endl; return false; } cout << "passed simple key agreement" << endl; return true; }
TEUCHOS_UNIT_TEST( Stokhos_NormalizedHermiteBasis, EvaluateBasesAndDerivatives ) { double x = 0.1234; Teuchos::Array<double> val1(setup.p+1), deriv1(setup.p+1), val2(setup.p+1), deriv2(setup.p+1); setup.basis.evaluateBasesAndDerivatives(x, val1, deriv1); // evaluate bases and derivatives using formula: // He_0(x) = 1 // He_1(x) = x // He_i(x) = (x*He_{i-1}(x) - sqrt(i-1)*He_{i-2}(x))/sqrt(i), i=2,3,... val2[0] = 1.0; if (setup.p >= 1) val2[1] = x; for (int i=2; i<=setup.p; i++) val2[i] = (x*val2[i-1] - std::sqrt(i-1.0)*val2[i-2])/std::sqrt(1.0*i); deriv2[0] = 0.0; if (setup.p >= 1) deriv2[1] = 1.0; for (int i=2; i<=setup.p; i++) deriv2[i] = (val2[i-1] + x*deriv2[i-1] - std::sqrt(i-1.0)*deriv2[i-2]) / std::sqrt(1.0*i); success = Stokhos::compareArrays(val1, "val1", val2, "val2", setup.rtol, setup.atol, out); success = success && Stokhos::compareArrays(deriv1, "deriv1", deriv2, "deriv2", setup.rtol, setup.atol, out); }
TEUCHOS_UNIT_TEST( Stokhos_LegendreBasis, EvaluateBasesAndDerivatives ) { double x = 0.1234; Teuchos::Array<double> val1(setup.p+1), deriv1(setup.p+1), val2(setup.p+1), deriv2(setup.p+1); setup.basis.evaluateBasesAndDerivatives(x, val1, deriv1); // evaluate bases and derivatives using formula: // P_0(x) = 1 // P_1(x) = x // P_i(x) = (2*i-1)/i*x*P_{i-1}(x) - (i-1)/i*P_{i-2}(x), i=2,3,... // P_0'(x) = 0 // P_1'(x) = 1 // P_i'(x) = i*P_{i-1}(x) + x*P_{i-1}'(x), i=2,3,... val2[0] = 1.0; if (setup.p >= 1) val2[1] = x; for (int i=2; i<=setup.p; i++) val2[i] = (2.0*i-1.0)/i*x*val2[i-1] - (i-1.0)/i*val2[i-2]; deriv2[0] = 0.0; if (setup.p >= 1) deriv2[1] = 1.0; for (int i=2; i<=setup.p; i++) deriv2[i] = i*val2[i-1] + x*deriv2[i-1]; success = Stokhos::compareArrays(val1, "val1", val2, "val2", setup.rtol, setup.atol, out); success = success && Stokhos::compareArrays(deriv1, "deriv1", deriv2, "deriv2", setup.rtol, setup.atol, out); }
void object::test<1>() { set_test_name("object_factory_test"); struct test_type { int val_; test_type() : val_(0) {} test_type(int val) : val_(val) {} operator int() const { return val_; } }; typedef std::shared_ptr<test_type> test_type_ptr; typedef utility::object_factory_t<test_type> type_factory; test_type_ptr val1(utility::object_allocate<test_type>(), utility::object_deallocate<test_type>); test_type_ptr val2(utility::object_allocate<test_type>(1), utility::object_deallocate<test_type>); ensure("val1", *val1 == 0); ensure("val2", *val2 == 1); }
TEST(MSGPACK_REFERENCE_WRAPPER, object_const) { const int i1 = 42; std::reference_wrapper<const int> val1(i1); msgpack::object o(val1); int i2 = 0; std::reference_wrapper<int> val2(i2); o.convert(val2); EXPECT_EQ(i1, i2); }
TEST(MSGPACK_REFERENCE_WRAPPER, object_with_zone_const) { const std::string s1 = "ABC"; std::reference_wrapper<const std::string> val1(s1); msgpack::zone z; msgpack::object o(val1, z); std::string s2 = "DE"; std::reference_wrapper<std::string> val2(s2); o.convert(val2); EXPECT_EQ(s1, s2); }
TEST(MSGPACK_REFERENCE_WRAPPER, pack_convert_const) { const int i1 = 42; std::reference_wrapper<const int> val1(i1); std::stringstream ss; msgpack::pack(ss, val1); msgpack::object_handle oh = msgpack::unpack(ss.str().data(), ss.str().size()); int i2 = 0; std::reference_wrapper<int> val2(i2); oh.get().convert(val2); EXPECT_EQ(i1, i2); }
int main() { RMB val1(2, 50); RMB val2(2, 48); if(val1 > val2){ cout << "val1 is more than val2\n"; } val1 = val1 + val2; val1.display(); return 0; }
BigNum<T> Game<T>::connections(T num1, T num2) { if (num2 - num1 <= 1) { return BigNum<T>("1"); } /* if (vecConnections_[num2-num1] > 0) { return vecConnections_[num2-num1]; } */ if (vecConnections_[num2-num1] == BigNum<T>("0")) { BigNum<T> val("0"); T numMid = num1+1; while (numMid <= num2) { BigNum<T> val1("1"); if (num1+1 < numMid) { val1 = connections(num1+1,numMid-1); } BigNum<T> val2("1"); if (numMid < num2) { val2 = connections(numMid+1,num2); } val += val1*val2; numMid += 2; } //if (vecConnections_[num2-num1] == 0) //{ vecConnections_[num2-num1] = val; //} return val; } else { return vecConnections_[num2-num1]; } }
void SBAdd::SBAddImpl::fillXValue(tmv::MatrixView<double> val, double x0, double dx, double dxy, double y0, double dy, double dyx) const { dbg<<"SBAdd fillXValue\n"; dbg<<"x = "<<x0<<" + i * "<<dx<<" + j * "<<dxy<<std::endl; dbg<<"y = "<<y0<<" + i * "<<dyx<<" + j * "<<dy<<std::endl; ConstIter pptr = _plist.begin(); assert(pptr != _plist.end()); GetImpl(*pptr)->fillXValue(val,x0,dx,dxy,y0,dy,dyx); if (++pptr != _plist.end()) { tmv::Matrix<double> val2(val.colsize(),val.rowsize()); for (; pptr != _plist.end(); ++pptr) { GetImpl(*pptr)->fillXValue(val2.view(),x0,dx,dxy,y0,dy,dyx); val += val2; } } }
void SBAdd::SBAddImpl::fillKValue(tmv::MatrixView<std::complex<double> > val, double kx0, double dkx, double dkxy, double ky0, double dky, double dkyx) const { dbg<<"SBAdd fillKValue\n"; dbg<<"kx = "<<kx0<<" + i * "<<dkx<<" + j * "<<dkxy<<std::endl; dbg<<"ky = "<<ky0<<" + i * "<<dkyx<<" + j * "<<dky<<std::endl; ConstIter pptr = _plist.begin(); assert(pptr != _plist.end()); GetImpl(*pptr)->fillKValue(val,kx0,dkx,dkxy,ky0,dky,dkyx); if (++pptr != _plist.end()) { tmv::Matrix<std::complex<double> > val2(val.colsize(),val.rowsize()); for (; pptr != _plist.end(); ++pptr) { GetImpl(*pptr)->fillKValue(val2.view(),kx0,dkx,dkxy,ky0,dky,dkyx); val += val2; } } }
void SBConvolve::SBConvolveImpl::fillKValue(tmv::MatrixView<std::complex<double> > val, double kx0, double dkx, int izero, double ky0, double dky, int jzero) const { dbg<<"SBConvolve fillKValue\n"; dbg<<"kx = "<<kx0<<" + i * "<<dkx<<", izero = "<<izero<<std::endl; dbg<<"ky = "<<ky0<<" + j * "<<dky<<", jzero = "<<jzero<<std::endl; ConstIter pptr = _plist.begin(); assert(pptr != _plist.end()); GetImpl(*pptr)->fillKValue(val,kx0,dkx,izero,ky0,dky,jzero); if (++pptr != _plist.end()) { tmv::Matrix<std::complex<double> > val2(val.colsize(),val.rowsize()); for (; pptr != _plist.end(); ++pptr) { GetImpl(*pptr)->fillKValue(val2.view(),kx0,dkx,izero,ky0,dky,jzero); val = ElemProd(val,val2); } } }
void SBConvolve::SBConvolveImpl::fillKValue(tmv::MatrixView<std::complex<double> > val, double x0, double dx, double dxy, double y0, double dy, double dyx) const { dbg<<"SBConvolve fillKValue\n"; dbg<<"x = "<<x0<<" + ix * "<<dx<<" + iy * "<<dxy<<std::endl; dbg<<"y = "<<y0<<" + ix * "<<dyx<<" + iy * "<<dy<<std::endl; ConstIter pptr = _plist.begin(); assert(pptr != _plist.end()); GetImpl(*pptr)->fillKValue(val,x0,dx,dxy,y0,dy,dyx); if (++pptr != _plist.end()) { tmv::Matrix<std::complex<double> > val2(val.colsize(),val.rowsize()); for (; pptr != _plist.end(); ++pptr) { GetImpl(*pptr)->fillKValue(val2.view(),x0,dx,dxy,y0,dy,dyx); val = ElemProd(val,val2); } } }
TEUCHOS_UNIT_TEST( Stokhos_NormalizedLegendreBasis, EvaluateBasesAndDerivatives ) { double x = 0.1234; Teuchos::Array<double> val1(setup.p+1), deriv1(setup.p+1), val2(setup.p+1), deriv2(setup.p+1); setup.basis.evaluateBasesAndDerivatives(x, val1, deriv1); // evaluate bases and derivatives using formula: // P_0(x) = 1 // P_1(x) = sqrt(3)*x // P_i(x) = (x*P_{i-1}(x) - b[i-1]*P_{i-2}(x))/b[i], i=2,3,... // where b[i] = std::sqrt((i*i)/((2.0*i+1.0)*(2.0*i-1.0))) // P_0'(x) = 0 // P_1'(x) = sqrt(3) // P_i'(x) = (P_{i-1}(x) + x*P_{i-1}'(x) - b[i-1]*P_{i-2}')/b[i], i=2,3,... double b1, b2; b2 = std::sqrt(1.0/3.0); b1 = b2; val2[0] = 1.0; if (setup.p >= 1) val2[1] = x/b1; for (int i=2; i<=setup.p; i++) { b1 = std::sqrt((i*i)/((2.0*i+1.0)*(2.0*i-1.0))); val2[i] = (x*val2[i-1] - b2*val2[i-2])/b1; b2 = b1; } b2 = std::sqrt(1.0/3.0); b1 = b2; deriv2[0] = 0.0; if (setup.p >= 1) deriv2[1] = 1.0/b1; for (int i=2; i<=setup.p; i++) { b1 = std::sqrt((i*i)/((2.0*i+1.0)*(2.0*i-1.0))); deriv2[i] = (val2[i-1] + x*deriv2[i-1] - b2*deriv2[i-2])/b1; b2 = b1; } success = Stokhos::compareArrays(val1, "val1", val2, "val2", setup.rtol, setup.atol, out); success = success && Stokhos::compareArrays(deriv1, "deriv1", deriv2, "deriv2", setup.rtol, setup.atol, out); }
bool AuthenticatedKeyAgreementValidate(PK_AuthenticatedKeyAgreementDomain &d) { LC_RNG rng(5235); if (d.ValidateDomainParameters(rng)) cout << "passed authenticated key agreement domain parameters validation" << endl; else { cout << "FAILED authenticated key agreement domain parameters invalid" << endl; return false; } SecByteBlock spriv1(d.StaticPrivateKeyLength()), spriv2(d.StaticPrivateKeyLength()); SecByteBlock epriv1(d.EphemeralPrivateKeyLength()), epriv2(d.EphemeralPrivateKeyLength()); SecByteBlock spub1(d.StaticPublicKeyLength()), spub2(d.StaticPublicKeyLength()); SecByteBlock epub1(d.EphemeralPublicKeyLength()), epub2(d.EphemeralPublicKeyLength()); SecByteBlock val1(d.AgreedValueLength()), val2(d.AgreedValueLength()); d.GenerateStaticKeyPair(rng, spriv1, spub1); d.GenerateStaticKeyPair(rng, spriv2, spub2); d.GenerateEphemeralKeyPair(rng, epriv1, epub1); d.GenerateEphemeralKeyPair(rng, epriv2, epub2); memset(val1.ptr, 0x10, val1.size); memset(val2.ptr, 0x11, val2.size); if (!(d.Agree(val1, spriv1, epriv1, spub2, epub2) && d.Agree(val2, spriv2, epriv2, spub1, epub1))) { cout << "FAILED authenticated key agreement failed" << endl; return false; } if (memcmp(val1.ptr, val2.ptr, d.AgreedValueLength())) { cout << "FAILED authenticated agreed values not equal" << endl; return false; } cout << "passed authenticated key agreement" << endl; return true; }
bool AuthenticatedKeyAgreementValidate(AuthenticatedKeyAgreementDomain &d) { if (d.GetCryptoParameters().Validate(GlobalRNG(), 3)) cout << "passed authenticated key agreement domain parameters validation" << endl; else { cout << "FAILED authenticated key agreement domain parameters invalid" << endl; return false; } SecByteBlock spriv1(d.StaticPrivateKeyLength()), spriv2(d.StaticPrivateKeyLength()); SecByteBlock epriv1(d.EphemeralPrivateKeyLength()), epriv2(d.EphemeralPrivateKeyLength()); SecByteBlock spub1(d.StaticPublicKeyLength()), spub2(d.StaticPublicKeyLength()); SecByteBlock epub1(d.EphemeralPublicKeyLength()), epub2(d.EphemeralPublicKeyLength()); SecByteBlock val1(d.AgreedValueLength()), val2(d.AgreedValueLength()); d.GenerateStaticKeyPair(GlobalRNG(), spriv1, spub1); d.GenerateStaticKeyPair(GlobalRNG(), spriv2, spub2); d.GenerateEphemeralKeyPair(GlobalRNG(), epriv1, epub1); d.GenerateEphemeralKeyPair(GlobalRNG(), epriv2, epub2); memset(val1.begin(), 0x10, val1.size()); memset(val2.begin(), 0x11, val2.size()); if (!(d.Agree(val1, spriv1, epriv1, spub2, epub2) && d.Agree(val2, spriv2, epriv2, spub1, epub1))) { cout << "FAILED authenticated key agreement failed" << endl; return false; } if (!VerifyBufsEqual(val1.begin(), val2.begin(), d.AgreedValueLength())) { cout << "FAILED authenticated agreed values not equal" << endl; return false; } cout << "passed authenticated key agreement" << endl; return true; }
// ---------------------------------------------------------------------- ConstPropertyHandle PropertySmoothVecTask:: create_property( shawn::SimulationController& sc ) throw( std::runtime_error ) { shawn::Vec val1( sc.environment().required_double_param("start_x"), sc.environment().required_double_param("start_y"), sc.environment().optional_double_param("start_z",0.0) ); shawn::Vec val2( sc.environment().required_double_param("end_x"), sc.environment().required_double_param("end_y"), sc.environment().optional_double_param("end_z", 0.0) ); double tim1 = param_start(sc); double tim3 = param_end(sc); double tim2 = sc.environment().optional_double_param("reach_time",tim3); Transition tr = transition(sc.environment().required_string_param("transition")); PropertySmoothVec* pc = new PropertySmoothVec(val1,val2,tim2,tr); pc->set_start( tim1 ); pc->set_end( tim3 ); pc->set_priority( param_prio(sc) ); return pc; }
bool SimpleKeyAgreementValidate(PK_SimpleKeyAgreementDomain &d) { LC_RNG rng(5234); if (d.ValidateDomainParameters(rng)) cout << "passed simple key agreement domain parameters validation" << endl; else { cout << "FAILED simple key agreement domain parameters invalid" << endl; return false; } SecByteBlock priv1(d.PrivateKeyLength()), priv2(d.PrivateKeyLength()); SecByteBlock pub1(d.PublicKeyLength()), pub2(d.PublicKeyLength()); SecByteBlock val1(d.AgreedValueLength()), val2(d.AgreedValueLength()); d.GenerateKeyPair(rng, priv1, pub1); d.GenerateKeyPair(rng, priv2, pub2); memset(val1.ptr, 0x10, val1.size); memset(val2.ptr, 0x11, val2.size); if (!(d.Agree(val1, priv1, pub2) && d.Agree(val2, priv2, pub1))) { cout << "FAILED simple key agreement failed" << endl; return false; } if (memcmp(val1.ptr, val2.ptr, d.AgreedValueLength())) { cout << "FAILED simple agreed values not equal" << endl; return false; } cout << "passed simple key agreement" << endl; return true; }
TPZCompMesh * ComputationalElasticityMesh3D(TPZGeoMesh *gmesh,int pOrder) { // Getting mesh dimension const int dim = 3; TPZCompMesh * cmesh = new TPZCompMesh(gmesh); cmesh->SetDefaultOrder(pOrder); cmesh->SetDimModel(dim); {//material da chapa const REAL Ey = 205000.; const REAL poisson = 0.3; const int matid = matchapa; TPZManVector<STATE,3> fx(3,0.); TPZElasticity3D * mat = new TPZElasticity3D(matid,Ey,poisson,fx); mat->SetVonMises(300.); cmesh->InsertMaterialObject(mat); } {//material da trilho1 const REAL Ey = 205000.; const REAL poisson = 0.3; const int matid = mattrilho1; TPZManVector<STATE,3> fx(3,0.); TPZElasticity3D * mat = new TPZElasticity3D(matid,Ey,poisson,fx); mat->SetVonMises(690.); cmesh->InsertMaterialObject(mat); //int bcsidex = 9; TPZFNMatrix<9,STATE> val1(3,3,0.), val2(3,1,0.); val2(0,0) = 1.; cmesh->InsertMaterialObject(mat->CreateBC(mat, bctrilho1, 3, val1, val2)); } if(1) {//material da trilho2 const REAL Ey = 205000.; const REAL poisson = 0.3; const int matid = mattrilho2; TPZManVector<STATE,3> fx(3,0.); TPZElasticity3D * mat = new TPZElasticity3D(matid,Ey,poisson,fx); mat->SetVonMises(690.); cmesh->InsertMaterialObject(mat); //int bcsidex = 9; TPZFNMatrix<9,STATE> val1(3,3,0.), val2(3,1,0.); val2(0,0) = 1.; cmesh->InsertMaterialObject(mat->CreateBC(mat, bctrilho2, 3, val1, val2)); } REAL percTracao = 0.1; {//material do concreto de 40 MPa const REAL Ey = 35417.; const REAL poisson = 0.2; const int matid = matgraut; TPZManVector<STATE,3> fx(3,0.); TPZElasticity3D * mat = new TPZElasticity3D(matid,Ey,poisson,fx); mat->SetMohrCoulomb(40.,percTracao*40.); cmesh->InsertMaterialObject(mat); } {//material do concreto de 30 MPa const REAL Ey = 27000; const REAL poisson = 0.2; const int matid = matenchimento; TPZManVector<STATE,3> fx(3,0.); TPZElasticity3D * mat = new TPZElasticity3D(matid,Ey,poisson,fx); mat->SetMohrCoulomb(30.,percTracao*30.); cmesh->InsertMaterialObject(mat); //c.c. //int bcbottom = 8; TPZFNMatrix<9,STATE> val1(3,3,0.), val2(3,1,0.); // val1(0,0) = 1.e-3; // val1(1,1) = 1.e-3; // val1(2,2) = 1.e12; val2(2) = 1.; cmesh->InsertMaterialObject(mat->CreateBC(mat, bcbottom, 3, val1, val2)); val1.Zero(); val2.Zero(); //int bcsidex = 9; val2.Zero(); val2(0,0) = 1.; cmesh->InsertMaterialObject(mat->CreateBC(mat, bcsidex, 3, val1, val2)); //int bcsidey = 10; val1.Zero(); val2.Zero(); val2(1,0) = 1.; cmesh->InsertMaterialObject(mat->CreateBC(mat, bcsidey, 3, val1, val2)); //int bcloadtop = 11; val2.Zero(); val2(2,0) = -800000./120.; cmesh->InsertMaterialObject(mat->CreateBC(mat, bcloadtop, 1, val1, val2)); // somente para teste de tensao uniforme // cmesh->InsertMaterialObject(mat->CreateBC(mat, bcloadtopTESTE, 1, val1, val2));//toto } cmesh->SetAllCreateFunctionsContinuous(); cmesh->AutoBuild(); return cmesh; }
TPZCompMesh *ComputationalElasticityMesh2D(TPZAutoPointer<TPZGeoMesh> gmesh,int pOrder) { // remove some connectivities 3, 5 TPZGeoEl *gel = gmesh->Element(0); TPZGeoElSide gelside(gel,3); gelside.RemoveConnectivity(); gelside.SetSide(5); gelside.RemoveConnectivity(); gelside.SetSide(4); TPZGeoElSide neighbour = gelside.NNeighbours(); int matid = neighbour.Element()->MaterialId(); gel->SetMaterialId(matid); neighbour.Element()->RemoveConnectivities(); int64_t index = neighbour.Element()->Index(); delete neighbour.Element(); gmesh->ElementVec()[index] = 0; // Plane strain assumption int planestress = 0; // Getting mesh dimension int dim = 2; TPZMatElasticity2D *materialConcrete; materialConcrete = new TPZMatElasticity2D(EMatConcrete); TPZMatElasticity2D *materialSteel; materialSteel = new TPZMatElasticity2D(EMatSteel); // Setting up paremeters materialConcrete->SetfPlaneProblem(planestress); materialConcrete->SetElasticity(25.e6, 0.25); materialSteel->SetElasticity(205.e6, 0.25); //material->SetBiotAlpha(Alpha);cade o metodo? TPZCompMesh * cmesh = new TPZCompMesh(gmesh); cmesh->SetDefaultOrder(pOrder); cmesh->SetDimModel(dim); TPZFMatrix<STATE> val1(2,2,0.), val2(2,1,0.); val2(0,0) = 0.0; val2(1,0) = 0.0; val1(1,1) = 1.e12; TPZMaterial * BCond2 = materialConcrete->CreateBC(materialConcrete,EBottom,3, val1, val2); val2(0,0) = 0.0; val2(1,0) = 0.0; val1.Zero(); val1(0,0) = 1.e12; TPZMaterial * BCond3 = materialConcrete->CreateBC(materialConcrete,ELateral,3, val1, val2); val2(0,0) = 0.0; val2(1,0) = -1000.0; val1.Zero(); TPZMaterial * BCond4 = materialSteel->CreateBC(materialSteel,EBeam,1, val1, val2); cmesh->SetAllCreateFunctionsContinuous(); cmesh->InsertMaterialObject(materialConcrete); cmesh->InsertMaterialObject(materialSteel); cmesh->InsertMaterialObject(BCond2); cmesh->InsertMaterialObject(BCond3); cmesh->InsertMaterialObject(BCond4); cmesh->AutoBuild(); return cmesh; }
int main() { //malha geometrica TPZGeoMesh *firstmesh = new TPZGeoMesh; firstmesh->SetName("Malha Geometrica : Nós e Elementos"); firstmesh->NodeVec().Resize(10); TPZVec<REAL> coord(2); //,coordtrans(2); // REAL ct,st,PI=3.141592654; // cout << "\nEntre rotacao do eixo n1 (graus) -> "; // REAL g; // cin >> g; // g = g*PI/180.; // ct = cos(g); // st = sin(g); //ct = 1.; //st = 0.; //nos geometricos //no 0 coord[0] = 0; coord[1] = 0; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[0].Initialize(coord,*firstmesh); //no 1 coord[0] = 1.; coord[1] = 0; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[1].Initialize(coord,*firstmesh); //no 2 coord[0] = 2.; coord[1] = 0.; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[2].Initialize(coord,*firstmesh); //no 3 coord[0] = 3.; coord[1] = 0.; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[3].Initialize(coord,*firstmesh); //no 4 coord[0] = 4; coord[1] = 0.; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[4].Initialize(coord,*firstmesh); //no 5 coord[0] = 0; coord[1] = 1; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[5].Initialize(coord,*firstmesh); //no 6 coord[0] = 1.; coord[1] = 1.; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[6].Initialize(coord,*firstmesh); //no 7 coord[0] = 2.; coord[1] = 1.; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[7].Initialize(coord,*firstmesh); //no 8 coord[0] = 3.; coord[1] = 1; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[8].Initialize(coord,*firstmesh); //no 9 coord[0] = 4; coord[1] = 1; // coordtrans[0] = ct*coord[0]-st*coord[1]; // coordtrans[1] = st*coord[0]+ct*coord[1]; firstmesh->NodeVec()[9].Initialize(coord,*firstmesh); /* TPZVec<int> nodeindexes(3); nodeindexes[0] = 0; nodeindexes[1] = 1; nodeindexes[2] = 2; //elementos geometricos TPZGeoElT2d *elg0 = new TPZGeoElT2d(nodeindexes,1,*firstmesh); nodeindexes[0] = 0; nodeindexes[1] = 2; nodeindexes[2] = 3; TPZGeoElT2d *elg1 = new TPZGeoElT2d(nodeindexes,1,*firstmesh); nodeindexes[0] = 0; nodeindexes[1] = 1; nodeindexes[2] = 2; TPZGeoElT2d *elg2 = new TPZGeoElT2d(nodeindexes,2,*firstmesh); nodeindexes[0] = 0; nodeindexes[1] = 2; nodeindexes[2] = 3; TPZGeoElT2d *elg3 = new TPZGeoElT2d(nodeindexes,2,*firstmesh); */ TPZVec<int> nodeindexes(4); //elementos geometricos TPZGeoEl *elg[4]; nodeindexes[0] = 0; nodeindexes[1] = 1; nodeindexes[2] = 6; nodeindexes[3] = 5; elg[0] = new TPZGeoElQ2d(nodeindexes,1,*firstmesh); nodeindexes[0] = 1; nodeindexes[1] = 2; nodeindexes[2] = 7; nodeindexes[3] = 6; elg[1] = new TPZGeoElQ2d(nodeindexes,1,*firstmesh); nodeindexes[0] = 2; nodeindexes[1] = 3; nodeindexes[2] = 8; nodeindexes[3] = 7; elg[2] = new TPZGeoElQ2d(nodeindexes,1,*firstmesh); nodeindexes[0] = 3; nodeindexes[1] = 4; nodeindexes[2] = 9; nodeindexes[3] = 8; elg[3] = new TPZGeoElQ2d(nodeindexes,1,*firstmesh); //Arquivos de saida ofstream outgm1("outgm1.dat"); ofstream outcm1("outcm1.dat"); ofstream outcm2("outcm2.dat"); //montagem de conectividades entre elementos firstmesh->BuildConnectivity(); //malha computacional TPZCompMesh *secondmesh = new TPZCompMesh(firstmesh); secondmesh->SetName("Malha Computacional : Conectividades e Elementos"); //material TPZMaterial *pl = LerMaterial("flavio.dat"); secondmesh->InsertMaterialObject(pl); // pl = LerMaterial("placa2.dat"); // secondmesh->InsertMaterialObject(pl); // pl = LerMaterial("placa3.dat"); // secondmesh->InsertMaterialObject(pl); // carregamento hidrostatico no plano vertica xz pl->SetForcingFunction(PressaoHid); //CC : condicões de contorno TPZBndCond *bc; REAL big = 1.e12; TPZFMatrix val1(6,6,0.),val2(6,1,0.); // engastes nos lados 4 e 7 do elemento 0 TPZGeoElBC(elg[0],4,-2,*firstmesh); TPZGeoElBC(elg[0],7,-2,*firstmesh); // engaste no lado 4 do elemento 1 TPZGeoElBC(elg[1],4,-2,*firstmesh); // engaste no lado 4 do elemento 2 TPZGeoElBC(elg[2],4,-2,*firstmesh); // engaste no lado 4 do elemento 3 TPZGeoElBC(elg[3],4,-2,*firstmesh); // imposicao do valor zero associado a condicao -2 (engaste) bc = pl->CreateBC(-2,0,val1,val2); secondmesh->InsertMaterialObject(bc); // imposicao da condicao de simetria no lado 5 do elemento 4 val1(0,0)=big; val1(1,1)=0.; val1(2,2)=0.; val1(3,3)=0.; val1(4,4)=big; val1(5,5)=big; TPZGeoElBC(elg[3],5,-3,*firstmesh); bc = pl->CreateBC(-3,2,val1,val2); secondmesh->InsertMaterialObject(bc); //ordem de interpolacao int ord; cout << "Entre ordem 1,2,3,4,5 : "; cin >> ord; // TPZCompEl::gOrder = ord; firstmesh.SetDefaultOrder(order); //construção malha computacional TPZVec<int> csub(0); TPZManVector<TPZGeoEl *> pv(4); int n1=1,level=0; cout << "\nDividir ate nivel ? "; int resp; cin >> resp; int nelc = firstmesh->ElementVec().NElements(); int el; TPZGeoEl *cpel; for(el=0;el<firstmesh->ElementVec().NElements();el++) { cpel = firstmesh->ElementVec()[el]; if(cpel && cpel->Level() < resp) cpel->Divide(pv); } cout << "\nDividir o elemento esquerdo superior quantas vezes? "; cin >> resp; cpel = firstmesh->ElementVec()[0]; for(el=0; el<resp; el++) { cpel->Divide(pv); cpel = pv[3]; } //analysis secondmesh->AutoBuild(); firstmesh->Print(outgm1); outgm1.flush(); secondmesh->AdjustBoundaryElements(); secondmesh->InitializeBlock(); secondmesh->Print(outcm1); TPZAnalysis an(secondmesh,outcm1); int numeq = secondmesh->NEquations(); secondmesh->Print(outcm1); outcm1.flush(); TPZVec<int> skyline; secondmesh->Skyline(skyline); TPZSkylMatrix *stiff = new TPZSkylMatrix(numeq,skyline); an.SetMatrix(stiff); an.Solver().SetDirect(ECholesky); secondmesh->SetName("Malha Computacional : Connects e Elementos"); // Posprocessamento an.Run(outcm2); TPZVec<char *> scalnames(5); scalnames[0] = "Mn1"; scalnames[1] = "Mn2"; scalnames[2] = "Vn1"; scalnames[3] = "Vn2"; scalnames[4] = "Deslocz"; TPZVec<char *> vecnames(0); char plotfile[] = "placaPos.pos"; char pltfile[] = "placaView.plt"; an.DefineGraphMesh(2, scalnames, vecnames, plotfile); an.Print("FEM SOLUTION ",outcm1); an.PostProcess(3); an.DefineGraphMesh(2, scalnames, vecnames, pltfile); an.PostProcess(2); firstmesh->Print(outgm1); outgm1.flush(); delete secondmesh; delete firstmesh; return 0; }
TPZCompMesh * CMeshFooting2D(TPZGeoMesh * gmesh, int p_order){ unsigned int dim = gmesh->Dimension(); const std::string name("ElastoPlastic Footing Problem "); // Setting up attributes TPZCompMesh * cmesh = new TPZCompMesh(gmesh); cmesh->SetName(name); cmesh->SetDefaultOrder(p_order); cmesh->SetDimModel(dim); // Mohr Coulomb data REAL mc_cohesion = 10.0; REAL mc_phi = (20.0*M_PI/180); REAL mc_psi = mc_phi; /// ElastoPlastic Material using Mohr Coulomb // Elastic predictor TPZElasticResponse ER; REAL G = 400*mc_cohesion; REAL nu = 0.3; REAL E = 2.0*G*(1+nu); TPZPlasticStepPV<TPZYCMohrCoulombPV, TPZElasticResponse> LEMC; ER.SetEngineeringData(E, nu); LEMC.SetElasticResponse(ER); LEMC.fYC.SetUp(mc_phi, mc_psi, mc_cohesion, ER); int PlaneStrain = 1; // TPZElasticCriterion MatEla; // MatEla.SetElasticResponse(ER); // TPZMatElastoPlastic2D < TPZElasticCriterion, TPZElastoPlasticMem > * material = new TPZMatElastoPlastic2D < TPZElasticCriterion, TPZElastoPlasticMem >(ERock,PlaneStrain); // material->SetPlasticityModel(MatEla); // cmesh->InsertMaterialObject(material); TPZMatElastoPlastic2D < TPZPlasticStepPV<TPZYCMohrCoulombPV, TPZElasticResponse>, TPZElastoPlasticMem > * material = new TPZMatElastoPlastic2D < TPZPlasticStepPV<TPZYCMohrCoulombPV, TPZElasticResponse>, TPZElastoPlasticMem >(ERock,PlaneStrain); material->SetPlasticityModel(LEMC); cmesh->InsertMaterialObject(material); TPZFMatrix<STATE> val1(2,2,0.), val2(2,1,0.); val2(0,0) = 0; val2(1,0) = 1; TPZBndCond * bc_bottom = material->CreateBC(material, EBottomBC, Eu_null, val1, val2); val2(0,0) = 1; val2(1,0) = 0; TPZBndCond * bc_lateral = material->CreateBC(material, ELateralBC, Eu_null, val1, val2); // val2(0,0) = 0; // val2(1,0) = 0; // val1(0,0) = 0; // val1(1,1) = 1; val2(0,0) = 0; val2(1,0) = 0; TPZBndCond * bc_top = material->CreateBC(material, ETopBC, ETn, val1, val2); val2(0,0) = 0; val2(1,0) = 0; TPZBndCond * bc_top_null = material->CreateBC(material, ETopNullBC, ETn, val1, val2); cmesh->InsertMaterialObject(bc_bottom); cmesh->InsertMaterialObject(bc_lateral); cmesh->InsertMaterialObject(bc_top); // cmesh->InsertMaterialObject(bc_top_null); cmesh->SetAllCreateFunctionsContinuousWithMem(); cmesh->AutoBuild(); #ifdef PZDEBUG std::ofstream out("cmesh.txt"); cmesh->Print(out); #endif return cmesh; }
void tst_QSourceLocation::withinQVariant() const { QSourceLocation val; const QVariant variant(qVariantFromValue(val)); QSourceLocation val2(qVariantValue<QSourceLocation>(variant)); }
void CTestMessageComposer::SetHeaderL(TInt aNumberofHeaders) { switch (aNumberofHeaders) { case 1: { // Open strings used in this test //1.Accept header---- Accept: text/html; q=0.8, text/vnd.wap.wml; q=0.2; extended=value, text/*); RStringF textHtml = iStringPool.StringF(HTTP::ETextHtml,RHTTPSession::GetTable()); RStringF textWml = iStringPool.StringF(HTTP::ETextVndWapWml,RHTTPSession::GetTable()); RStringF textAny = iStringPool.StringF(HTTP::ETextAny,RHTTPSession::GetTable()); RStringF extended = iStringPool.OpenFStringL(_L8("extended")); CleanupClosePushL(extended); RStringF extendVal = iStringPool.OpenFStringL(_L8("value")); CleanupClosePushL(extendVal); iHTTPHeaders = iTransaction.Request().GetHeaderCollection(); RStringF accept = iStringPool.StringF(HTTP::EAccept,RHTTPSession::GetTable()); THTTPHdrVal accVal(textHtml); THTTPHdrVal q1(THTTPHdrVal::TQConv(0.8)); iHTTPHeaders.SetFieldL(accept, accVal, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q1); accVal.SetStrF(textWml); q1.SetInt(THTTPHdrVal::TQConv(0.2)); iHTTPHeaders.SetFieldL(accept, accVal, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q1); q1.SetStrF(extendVal); iHTTPHeaders.SetFieldL(accept, accVal, extended, q1); accVal.SetStrF(textAny); iHTTPHeaders.SetFieldL(accept, accVal); CleanupStack::PopAndDestroy(2, &extended); //2.Accept-Charset header-- Accept-Charset: iso-8859-5, unicode-1-1; q=0.8 RStringF iso8859_5 = iStringPool.OpenFStringL(_L8("iso-8859-5")); CleanupClosePushL(iso8859_5); RStringF unicode1_1 = iStringPool.OpenFStringL(_L8("unicode-1-1")); CleanupClosePushL(unicode1_1); RStringF accChSet= iStringPool.StringF(HTTP::EAcceptCharset,RHTTPSession::GetTable()); THTTPHdrVal accChSetVal(iso8859_5); iHTTPHeaders.SetFieldL(accChSet, accChSetVal); // accChSetVal.SetStrF(unicode1_1); THTTPHdrVal q2(THTTPHdrVal::TQConv(0.8)); iHTTPHeaders.SetFieldL(accChSet, accChSetVal, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q2); CleanupStack::PopAndDestroy(2, &iso8859_5); //3.User-Agent headers-- User-Agent: CERN-LineMode/2.15 libwww/2.17b3 // Open strings used in this test RStringF ua1Str = iStringPool.OpenFStringL(_L8("CERN-LineMode/2.15")); CleanupClosePushL(ua1Str); RStringF ua2Str = iStringPool.OpenFStringL(_L8("libwww/2.17b3")); CleanupClosePushL(ua2Str); // RStringF uaStr = iStringPool.StringF(HTTP::EUserAgent,RHTTPSession::GetTable()); THTTPHdrVal uaVal(ua1Str); iHTTPHeaders.SetFieldL(uaStr, uaVal); // sets part 1 uaVal.SetStrF(ua2Str); iHTTPHeaders.SetFieldL(uaStr, uaVal); // sets part 2 CleanupStack::PopAndDestroy(2,&ua1Str); //4.Connection Header -- Connection: close, keep-alive RStringF otherToken = iStringPool.StringF(HTTP::EKeepAlive,RHTTPSession::GetTable()); RStringF connStr = iStringPool.StringF(HTTP::EConnection,RHTTPSession::GetTable()); THTTPHdrVal connVal(iStringPool.StringF(HTTP::EClose,RHTTPSession::GetTable())); iHTTPHeaders.SetFieldL(connStr, connVal); // sets part 1 THTTPHdrVal keepAlive(otherToken); iHTTPHeaders.SetFieldL(connStr, keepAlive); // sets part 2 //5.content type header-- Content-Type: text/vnd.wap.wml; charset=utf-8; transcode=yes RStringF textWml1 = iStringPool.StringF(HTTP::ETextVndWapWml,RHTTPSession::GetTable()); RStringF utf8 = iStringPool.OpenFStringL(_L8("utf-8")); CleanupClosePushL(utf8); RStringF extended1 = iStringPool.OpenFStringL(_L8("transcode")); CleanupClosePushL(extended1); RStringF extendVal1 = iStringPool.OpenFStringL(_L8("yes")); CleanupClosePushL(extendVal1); // RStringF contType = iStringPool.StringF(HTTP::EContentType,RHTTPSession::GetTable()); THTTPHdrVal ctVal(textWml1); THTTPHdrVal chSet(utf8); iHTTPHeaders.SetFieldL(contType, ctVal, iStringPool.StringF(HTTP::ECharset,RHTTPSession::GetTable()), chSet); chSet.SetStrF(extendVal1); iHTTPHeaders.SetFieldL(contType, ctVal, extended1, chSet); CleanupStack::PopAndDestroy(3,&utf8); //6.host type header-- Host: nokia.com RStringF host1Str = iStringPool.OpenFStringL(_L8("www.nokia.com")); CleanupClosePushL(host1Str); RStringF host = iStringPool.StringF(HTTP::EHost,RHTTPSession::GetTable()); THTTPHdrVal hostVal(host1Str); iHTTPHeaders.SetFieldL(host, hostVal); CleanupStack::PopAndDestroy(&host1Str); //7.upgrade type header-- Upgrade: HTTP/2.0, SHTTP/1.3 RStringF http = iStringPool.OpenFStringL(_L8("HTTP/2.0")); CleanupClosePushL(http); RStringF shttp = iStringPool.OpenFStringL(_L8("SHTTP/1.3")); CleanupClosePushL(shttp); RStringF upgradeStr = iStringPool.StringF(HTTP::EUpgrade, RHTTPSession::GetTable()); THTTPHdrVal val(http); THTTPHdrVal val2(shttp); iHTTPHeaders.SetFieldL(upgradeStr, val); iHTTPHeaders.SetFieldL(upgradeStr, val2); CleanupStack::PopAndDestroy(2); //8.Cache control -- Cache-Control: public, no-cache=\"wibble,wobble\" _LIT8(KPublic, "public"); _LIT8(KNoCache, "no-cache=\"wibble,wobble\""); RStringF publicStr = iStringPool.OpenFStringL(KPublic); CleanupClosePushL(publicStr); RStringF noCacheStr = iStringPool.OpenFStringL(KNoCache); CleanupClosePushL(noCacheStr); RStringF cc = iStringPool.StringF(HTTP::ECacheControl,RHTTPSession::GetTable()); iHTTPHeaders.SetFieldL(cc, THTTPHdrVal(publicStr)); iHTTPHeaders.SetFieldL(cc, THTTPHdrVal(noCacheStr)); CleanupStack::PopAndDestroy(2,&publicStr); //9.Authorization-- Authorization: Basic c3ltYmlhbjpmMXN5bmNtbA== RString basicCred = iStringPool.OpenStringL(_L8("c3ltYmlhbjpmMXN5bmNtbA==")); CleanupClosePushL(basicCred); RStringF authStr = iStringPool.StringF(HTTP::EAuthorization,RHTTPSession::GetTable()); THTTPHdrVal authVal(iStringPool.StringF(HTTP::EBasic,RHTTPSession::GetTable())); iHTTPHeaders.SetFieldL(authStr, authVal); // sets part 1 THTTPHdrVal credVal(basicCred); iHTTPHeaders.SetFieldL(authStr, credVal); // sets part 2 CleanupStack::PopAndDestroy(&basicCred); break; } case 2: { //1. Connection: Keep-Alive\r\n RStringF keep = iStringPool.StringF(HTTP::EKeepAlive,RHTTPSession::GetTable()); iHTTPHeaders = iTransaction.Request().GetHeaderCollection(); RStringF Connection= iStringPool.StringF(HTTP::EConnection,RHTTPSession::GetTable()); THTTPHdrVal keepalive(keep); iHTTPHeaders.SetFieldL(Connection,keepalive); //2.Host: 192.168.100.100\r\n _LIT8(KHostIp, "192.168.100.100"); RStringF host2Str = iStringPool.OpenFStringL(KHostIp); CleanupClosePushL(host2Str); RStringF host2= iStringPool.StringF(HTTP::EHost,RHTTPSession::GetTable()); THTTPHdrVal hostip(host2Str); iHTTPHeaders.SetFieldL(host2,hostip); CleanupStack::PopAndDestroy(&host2Str); //3.Accept: */*\r\n _LIT8(KAccept2, "*/*"); RStringF acceptall = iStringPool.OpenFStringL(KAccept2); CleanupClosePushL(acceptall); RStringF accept2= iStringPool.StringF(HTTP::EAccept,RHTTPSession::GetTable()); THTTPHdrVal acceptvalue(acceptall); iHTTPHeaders.SetFieldL(accept2,acceptvalue); CleanupStack::PopAndDestroy(&acceptall); //4.Accept-Charset: iso-8859-1,utf-8;q=0.7,*;q=0.7\r\n RStringF iso8859 = iStringPool.OpenFStringL(_L8("iso-8859-1")); CleanupClosePushL(iso8859); RStringF utf8_1 = iStringPool.OpenFStringL(_L8("utf-8")); CleanupClosePushL(utf8_1); RStringF all = iStringPool.OpenFStringL(_L8("*")); CleanupClosePushL(all); RStringF accChSet1= iStringPool.StringF(HTTP::EAcceptCharset,RHTTPSession::GetTable()); THTTPHdrVal accChSetVal1(iso8859); iHTTPHeaders.SetFieldL(accChSet1, accChSetVal1); accChSetVal1.SetStrF(utf8_1); THTTPHdrVal q3(THTTPHdrVal::TQConv(0.7)); iHTTPHeaders.SetFieldL(accChSet1, accChSetVal1, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q3); accChSetVal1.SetStrF(all); iHTTPHeaders.SetFieldL(accChSet1, accChSetVal1, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q3); CleanupStack::PopAndDestroy(3,&iso8859); //5.Accept-Encoding: gzip, deflate, x-gzip, identity; q=0.9\r\n RStringF gzip = iStringPool.OpenFStringL(_L8("gzip")); CleanupClosePushL(gzip); RStringF deflate = iStringPool.OpenFStringL(_L8("deflate")); CleanupClosePushL(deflate); RStringF xgzip = iStringPool.OpenFStringL(_L8("x-gzip")); CleanupClosePushL(xgzip); RStringF identity = iStringPool.OpenFStringL(_L8("identity")); CleanupClosePushL(identity); RStringF acceptencoding1= iStringPool.StringF(HTTP::EAcceptEncoding,RHTTPSession::GetTable()); THTTPHdrVal aevalue(gzip); iHTTPHeaders.SetFieldL(acceptencoding1, aevalue); aevalue.SetStrF(deflate); iHTTPHeaders.SetFieldL(acceptencoding1, aevalue); aevalue.SetStrF(xgzip); iHTTPHeaders.SetFieldL(acceptencoding1, aevalue); aevalue.SetStrF(identity); THTTPHdrVal q4(THTTPHdrVal::TQConv(0.9)); iHTTPHeaders.SetFieldL(acceptencoding1, aevalue, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q4); CleanupStack::PopAndDestroy(4,&gzip); //6.Accept-Language: en;q=1.0,bg;q=0.5,nl;q=0.5,fr;q=0.5\r\n RStringF en = iStringPool.OpenFStringL(_L8("en")); CleanupClosePushL(en); RStringF bg = iStringPool.OpenFStringL(_L8("bg")); CleanupClosePushL(bg); RStringF nl = iStringPool.OpenFStringL(_L8("nl")); CleanupClosePushL(nl); RStringF fr = iStringPool.OpenFStringL(_L8("fr")); CleanupClosePushL(fr); RStringF acceptlanguage1= iStringPool.StringF(HTTP::EAcceptLanguage,RHTTPSession::GetTable()); THTTPHdrVal alvalue(en); THTTPHdrVal q5(THTTPHdrVal::TQConv(1.0)); iHTTPHeaders.SetFieldL(acceptlanguage1, alvalue, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q5); THTTPHdrVal q6(THTTPHdrVal::TQConv(0.5)); alvalue.SetStrF(bg); iHTTPHeaders.SetFieldL(acceptlanguage1, alvalue, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q6); alvalue.SetStrF(nl); iHTTPHeaders.SetFieldL(acceptlanguage1, alvalue, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q6); alvalue.SetStrF(fr); iHTTPHeaders.SetFieldL(acceptlanguage1, alvalue, iStringPool.StringF(HTTP::EQ,RHTTPSession::GetTable()), q6); CleanupStack::PopAndDestroy(4,&en); //7.Referer: http://192.168.100.100/il/index.html\r\n RStringF referer = iStringPool.OpenFStringL(_L8("http://192.168.100.100/il/index.html")); CleanupClosePushL(referer); RStringF refer= iStringPool.StringF(HTTP::EReferer,RHTTPSession::GetTable()); THTTPHdrVal referval(referer); iHTTPHeaders.SetFieldL(refer,referval); CleanupStack::PopAndDestroy(&referer); //8.User-Agent: Mozilla/5.0 AppleWebKit/525 RStringF ua1Str1 = iStringPool.OpenFStringL(_L8("Mozilla/5.0")); CleanupClosePushL(ua1Str1); RStringF ua2Str2 = iStringPool.OpenFStringL(_L8("AppleWebKit/525")); CleanupClosePushL(ua2Str2); RStringF uaString = iStringPool.StringF(HTTP::EUserAgent,RHTTPSession::GetTable()); THTTPHdrVal uaVal1(ua1Str1); iHTTPHeaders.SetFieldL(uaString, uaVal1); // sets part 1 uaVal1.SetStrF(ua2Str2); iHTTPHeaders.SetFieldL(uaString, uaVal1); // sets part 2 CleanupStack::PopAndDestroy(2,&ua1Str1); break; } default: break; } }
/*! Check that QXmlItem can be used inside QVariant. */ void tst_QXmlItem::withinQVariant() const { QXmlItem val; const QVariant variant(qVariantFromValue(val)); QXmlItem val2(qVariantValue<QXmlItem>(variant)); }
/*=========================================================================== METHOD: UIMChangePIN (Public Method) DESCRIPTION: This function change the PIN value PARAMETERS: id [ I ] - PIN ID (1/2) pOldValue [ I ] - Old PIN value of the PIN to change pNewValue [ I ] - New PIN value of the PIN to change pVerifyRetriesLeft [ O ] - Upon operational failure this will indicate the number of retries left, after which the PIN will be blocked (0xFFFFFFFF = unknown) pUnblockRetriesLeft [ O ] - Upon operational failure this will indicate the number of unblock retries left, after which the PIN will be permanently blocked, i.e. UIM is unusable (0xFFFFFFFF = unknown) RETURN VALUE: eGobiError - Return code ===========================================================================*/ eGobiError cGobiQMICore::UIMChangePIN( ULONG id, CHAR * pOldValue, CHAR * pNewValue, ULONG * pVerifyRetriesLeft, ULONG * pUnblockRetriesLeft ) { // Validate arguments if ( (pOldValue == 0) || (pOldValue[0] == 0) || (pNewValue == 0) || (pNewValue[0] == 0) || (pVerifyRetriesLeft == 0) || (pUnblockRetriesLeft == 0) ) { return eGOBI_ERR_INVALID_ARG; } *pVerifyRetriesLeft = ULONG_MAX; *pUnblockRetriesLeft = ULONG_MAX; WORD msgID = (WORD)eQMI_DMS_UIM_PIN_CHANGE; std::vector <sDB2PackingInput> piv; std::string val1( pOldValue ); ULONG val1Sz = val1.size(); std::string val2( pNewValue ); ULONG val2Sz = val2.size(); // "%u %u \"%s\" %u \"%s\"" std::ostringstream tmp; tmp << (UINT)id << " " << (UINT)val1Sz << " \"" << val1 << "\" " << (UINT)val2Sz << " \"" << val2 << "\""; sProtocolEntityKey pek( eDB2_ET_QMI_DMS_REQ, msgID, 1 ); sDB2PackingInput pi( pek, (LPCSTR)tmp.str().c_str() ); piv.push_back( pi ); // Pack up the QMI request const cCoreDatabase & db = GetDatabase(); sSharedBuffer * pRequest = DB2PackQMIBuffer( db, piv ); if (pRequest == 0) { return eGOBI_ERR_MEMORY; } // Send the QMI request sProtocolBuffer rsp = Send( eQMI_SVC_DMS, pRequest, 5000 ); if (rsp.IsValid() == false) { return GetCorrectedLastError(); } // Did we receive a valid QMI response? sQMIServiceBuffer qmiRsp( rsp.GetSharedBuffer() ); if (qmiRsp.IsValid() == false) { return eGOBI_ERR_MALFORMED_RSP; } // Check the mandatory QMI result TLV for success ULONG rc = 0; ULONG ec = 0; bool bResult = qmiRsp.GetResult( rc, ec ); if (bResult == false) { return eGOBI_ERR_MALFORMED_RSP; } else if (rc != 0) { // Prepare TLVs for parsing std::vector <sDB2NavInput> tlvs = DB2ReduceQMIBuffer( qmiRsp ); // Parse the optional TLV we want (by DB key) sProtocolEntityKey tlvKey( eDB2_ET_QMI_DMS_RSP, msgID, 16 ); cDataParser::tParsedFields pf = ParseTLV( db, rsp, tlvs, tlvKey ); if (pf.size() >= 2) { *pVerifyRetriesLeft = (ULONG)pf[0].mValue.mU8; *pUnblockRetriesLeft = (ULONG)pf[1].mValue.mU8; } return GetCorrectedQMIError( ec ); } return eGOBI_ERR_NONE; }
void Constraint<Scalar, LocalOrdinal, GlobalOrdinal, Node>::Apply(const Matrix& P, Matrix& Projected) const { // We check only row maps. Column may be different. TEUCHOS_TEST_FOR_EXCEPTION(!P.getRowMap()->isSameAs(*Projected.getRowMap()), Exceptions::Incompatible, "Row maps are incompatible"); const size_t NSDim = X_->getNumVectors(); const size_t numRows = P.getNodeNumRows(); const Map& colMap = *P.getColMap(); const Map& PColMap = *Projected.getColMap(); Projected.resumeFill(); Teuchos::ArrayView<const LO> indices, pindices; Teuchos::ArrayView<const SC> values, pvalues; Teuchos::Array<SC> valuesAll(colMap.getNodeNumElements()), newValues; LO invalid = Teuchos::OrdinalTraits<LO>::invalid(); LO oneLO = Teuchos::OrdinalTraits<LO>::one(); SC zero = Teuchos::ScalarTraits<SC> ::zero(); SC one = Teuchos::ScalarTraits<SC> ::one(); std::vector<const SC*> Xval(NSDim); for (size_t j = 0; j < NSDim; j++) Xval[j] = X_->getData(j).get(); for (size_t i = 0; i < numRows; i++) { P .getLocalRowView(i, indices, values); Projected.getLocalRowView(i, pindices, pvalues); size_t nnz = indices.size(); // number of nonzeros in the supplied matrix size_t pnnz = pindices.size(); // number of nonzeros in the constrained matrix newValues.resize(pnnz); // Step 1: fix stencil // Projected *must* already have the correct stencil // Step 2: copy correct stencil values // The algorithm is very similar to the one used in the calculation of // Frobenius dot product, see src/Transfers/Energy-Minimization/Solvers/MueLu_CGSolver_def.hpp // NOTE: using extra array allows us to skip the search among indices for (size_t j = 0; j < nnz; j++) valuesAll[indices[j]] = values[j]; for (size_t j = 0; j < pnnz; j++) { LO ind = colMap.getLocalElement(PColMap.getGlobalElement(pindices[j])); // FIXME: we could do that before the full loop just once if (ind != invalid) // index indices[j] is part of template, copy corresponding value newValues[j] = valuesAll[ind]; else newValues[j] = zero; } for (size_t j = 0; j < nnz; j++) valuesAll[indices[j]] = zero; // Step 3: project to the space Teuchos::SerialDenseMatrix<LO,SC>& XXtInv = XXtInv_[i]; Teuchos::SerialDenseMatrix<LO,SC> locX(NSDim, pnnz, false); for (size_t j = 0; j < pnnz; j++) for (size_t k = 0; k < NSDim; k++) locX(k,j) = Xval[k][pindices[j]]; Teuchos::SerialDenseVector<LO,SC> val(pnnz, false), val1(NSDim, false), val2(NSDim, false); for (size_t j = 0; j < pnnz; j++) val[j] = newValues[j]; Teuchos::BLAS<LO,SC> blas; // val1 = locX * val; blas.GEMV(Teuchos::NO_TRANS, NSDim, pnnz, one, locX.values(), locX.stride(), val.values(), oneLO, zero, val1.values(), oneLO); // val2 = XXtInv * val1 blas.GEMV(Teuchos::NO_TRANS, NSDim, NSDim, one, XXtInv.values(), XXtInv.stride(), val1.values(), oneLO, zero, val2.values(), oneLO); // val = X^T * val2 blas.GEMV(Teuchos::CONJ_TRANS, NSDim, pnnz, one, locX.values(), locX.stride(), val2.values(), oneLO, zero, val.values(), oneLO); for (size_t j = 0; j < pnnz; j++) newValues[j] -= val[j]; Projected.replaceLocalValues(i, pindices, newValues); } Projected.fillComplete(Projected.getDomainMap(), Projected.getRangeMap()); //FIXME: maps needed? }
double NOINLINE dret_e() { return (double)2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274; } double NOINLINE dret_minuspi() { return (double)-3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679; } double NOINLINE dval() { return 10.0; } double NOINLINE dval2() { return -10.0; } double NOINLINE dzero() { return 0.0; } double NOINLINE dzero2() { return -0.0; } const float e = ret_e(); const float negpi = ret_minuspi(); const float inf = FLOAT_INF; const float negInf = -FLOAT_INF; const float floatNan = FLOAT_NAN; const float floatMax = FLT_MAX; const float floatMin = -FLT_MAX; const float posValue = val(); const float negValue = val2(); const float posZero = zero(); const float negZero = zero2(); const double de = dret_e(); const double dnegpi = dret_minuspi(); const double dinf = DOUBLE_INF; const double dnegInf = -DOUBLE_INF; const double doubleNan = DOUBLE_NAN; const double doubleMax = DBL_MAX; const double doubleMin = -DBL_MAX; const double dposValue = dval(); const double dnegValue = dval2(); const double dposZero = dzero(); const double dnegZero = dzero2();