void OPRijVij::process2PED(mapdata& ref, const PairEventData& PDat) { Vector rijnorm(PDat.rij / PDat.rij.nrm()); Vector vijnorm(PDat.vijold / PDat.vijold.nrm()); double rvdot(rijnorm | vijnorm); for (size_t iDim(0); iDim < NDIM; ++iDim) { ref.rij[iDim].addVal(rijnorm[iDim]); ref.vij[iDim].addVal(vijnorm[iDim]); size_t id1(static_cast<size_t>((rijnorm[iDim] + 1.0) * 1000)); size_t id2(static_cast<size_t>(-rvdot * 1000.0)); ++ref.rijcostheta[iDim].at(id1).first; ref.rijcostheta[iDim].at(id1).second += rvdot; ++ref.costhetarij[iDim].at(id2).first; ref.costhetarij[iDim].at(id2).second += std::fabs(rijnorm[iDim]); id1 = static_cast<size_t>((rijnorm[iDim] + 1.0) * 100); id2 = static_cast<size_t>(-rvdot * 100.0); ++ref.anglemapcount; ++ref.anglemap[iDim][id1][id2]; } }
CFComparisonResult SecIdentityCompare( SecIdentityRef identity1, SecIdentityRef identity2, CFOptionFlags compareOptions) { if (!identity1 || !identity2) { if (identity1 == identity2) return kCFCompareEqualTo; else if (identity1 < identity2) return kCFCompareLessThan; else return kCFCompareGreaterThan; } BEGIN_SECAPI SecPointer<Identity> id1(Identity::required(identity1)); SecPointer<Identity> id2(Identity::required(identity2)); if (id1 == id2) return kCFCompareEqualTo; else if (id1 < id2) return kCFCompareLessThan; else return kCFCompareGreaterThan; END_SECAPI1(kCFCompareGreaterThan); }
void textureinfo_object_t::test<10>() { LLTextureInfo tex_info; tex_info.setUpLogging(true, true); S32 requestStartTimeOne = 200; S32 requestEndTimeOne = 400; S32 requestSizeOne = 1024; S32 requestSizeOneBits = requestSizeOne * 8; LLUUID id1("10e65d70-46fd-429f-841a-bf698e9424d3"); tex_info.setRequestStartTime(id1, requestStartTimeOne); tex_info.setRequestSize(id1, requestSizeOne); tex_info.setRequestType(id1, LLTextureInfoDetails::REQUEST_TYPE_HTTP); tex_info.setRequestCompleteTimeAndLog(id1, requestEndTimeOne); U32 requestStartTimeTwo = 100; U32 requestEndTimeTwo = 500; U32 requestSizeTwo = 2048; S32 requestSizeTwoBits = requestSizeTwo * 8; LLUUID id2("10e65d70-46fd-429f-841a-bf698e9424d4"); tex_info.setRequestStartTime(id2, requestStartTimeTwo); tex_info.setRequestSize(id2, requestSizeTwo); tex_info.setRequestType(id2, LLTextureInfoDetails::REQUEST_TYPE_HTTP); tex_info.setRequestCompleteTimeAndLog(id2, requestEndTimeTwo); S32 averageBitRate = ((requestSizeOneBits/(requestEndTimeOne - requestStartTimeOne)) + (requestSizeTwoBits/(requestEndTimeTwo - requestStartTimeTwo))) / 2; S32 totalBytes = requestSizeOne + requestSizeTwo; LLSD results = tex_info.getAverages(); ensure_equals("is average bits per second correct", results["bits_per_second"].asInteger(), averageBitRate); ensure_equals("is total bytes is correct", results["bytes_downloaded"].asInteger(), totalBytes); ensure_equals("is transport correct", results["transport"].asString(), std::string("HTTP")); }
TEST(GuidTest, CopyConstructor) { capu::Guid id1; capu::Guid id2(id1); EXPECT_STREQ(id1.toString(), id2.toString()); }
void OPThermalConductivitySpeciesSpeciesE::accPass() { ++count; size_t Nsp(Sim->dynamics.getSpecies().size()); for (size_t id1(0); id1 < Nsp; ++id1) for (size_t id2(0); id2 < Nsp; ++id2) { Vector sum1(0,0,0), sum2(0,0,0); for (size_t i = 0; i < CorrelatorLength; ++i) { sum1 += G[id1][i]; sum2 += G[id2][i]; Vector tmp (sum1); for (size_t j(0); j < NDIM; ++j) tmp[j] *= sum2[j]; accG2[id1+Nsp*id2][i] += tmp; } } }
void tst_QOrganizerCollection::idStringFunctions() { // TODO: review test QOrganizerCollectionId id1(makeId("a", 1)); QOrganizerCollectionId id2(makeId("a", 1)); QOrganizerCollectionId id3(makeId("b", 1)); QOrganizerCollectionId id4(makeId("a", 2)); QVERIFY(qHash(id1) == qHash(id2)); QVERIFY(qHash(id1) != qHash(id4)); // note that the toString and fromString functions are // engine and id specific. This test merely checks that // the API is hooked up correctly. QVERIFY(id1.toString() == id2.toString()); QVERIFY(id1.toString() != id3.toString()); QVERIFY(id1.toString() != id4.toString()); QVERIFY(id3.toString() != id4.toString()); // this should "work" -- string of the correct format QString prebuiltidstring = QString("qtorganizer") + QString(":") + QString("a") + QString("::") + QString::number(2); QOrganizerCollectionId rebuiltid = QOrganizerCollectionId::fromString(prebuiltidstring); // QVERIFY(rebuiltid == id4); // -- this requires a working backend. // this string has the right format and one parameter, but requires a working backend prebuiltidstring = QString("qtorganizer") + QString(":") + QString("a") + QString(":") + QString("key=value") + QString(":") + QString::number(2); rebuiltid = QOrganizerCollectionId::fromString(prebuiltidstring); // QVERIFY(rebuiltid == id4); // -- this requires a working backend. // this string has the right format and some parameters, but requires a working backend prebuiltidstring = QString("qtorganizer") + QString(":") + QString("a") + QString(":") + QString("key=value&key2=value2") + QString(":") + QString::number(2); rebuiltid = QOrganizerCollectionId::fromString(prebuiltidstring); // QVERIFY(rebuiltid == id4); // -- this requires a working backend. // this string has the right format but misses the value for a parameter prebuiltidstring = QString("qtorganizer") + QString(":") + QString("a") + QString(":") + QString("key=value&key2=") + QString(":") + QString::number(2); rebuiltid = QOrganizerCollectionId::fromString(prebuiltidstring); // QVERIFY(rebuiltid == id4); // -- this requires a working backend. // this string misses a field (the parameters) prebuiltidstring = QString("qtorganizer") + QString(":") + QString("a") + QString(":") + QString::number(2); rebuiltid = QOrganizerCollectionId::fromString(prebuiltidstring); QVERIFY(rebuiltid == QOrganizerCollectionId()); // invalid so should be null. // this string misses two fields (params plus manager uri) prebuiltidstring = QString("qtorganizer") + QString(":") + QString::number(2); rebuiltid = QOrganizerCollectionId::fromString(prebuiltidstring); QVERIFY(rebuiltid == QOrganizerCollectionId()); // invalid so should be null. // this string misses the prefix (qtorganizer) prebuiltidstring = QString("notorganizer") + QString(":") + QString("a") + QString("::") + QString::number(2); rebuiltid = QOrganizerCollectionId::fromString(prebuiltidstring); QVERIFY(rebuiltid == QOrganizerCollectionId()); // invalid so should be null. // this string misses the manager uri prebuiltidstring = QString("notorganizer") + QString(":::") + QString::number(2); rebuiltid = QOrganizerCollectionId::fromString(prebuiltidstring); QVERIFY(rebuiltid == QOrganizerCollectionId()); // invalid so should be null. }
int64_t u6_run_test(int64_t clos, int64_t i, int64_t acc) { int64_t id1_clos = ((int64_t*)clos)[2]; int64_t id2_clos = ((int64_t*)clos)[3]; int64_t (*id1)(int64_t, int64_t) = (int64_t(*)(int64_t, int64_t)) ((int64_t*) id1_clos)[0]; int64_t (*id2)(int64_t, int64_t) = (int64_t(*)(int64_t, int64_t)) ((int64_t*) id2_clos)[0]; int64_t tmp1 = id1(id1_clos, (1 + acc)); return id2(id2_clos, tmp1); }
// ---------------------------------------------------------------------------- // Internalize an array of item ids from stream // ---------------------------------------------------------------------------- // EXPORT_C void MPXUser::InternalizeL(RArray<TMPXItemId>& aArray, RReadStream& aStream) { CleanupClosePushL(aArray); TInt n=aStream.ReadInt32L(); for (TInt i=0;i<n;++i) { TUint32 id1(aStream.ReadUint32L()); TUint32 id2(aStream.ReadUint32L()); aArray.AppendL(TMPXItemId(id1,id2)); } CleanupStack::Pop(); }
void Ut_MAttributeExtensionManager::testSetExtendedAttribute() { MAttributeExtensionId id1(1, "Ut_MAttributeExtensionManager"); MAttributeExtensionId id2(2, "Ut_MAttributeExtensionManager"); QList<MAttributeExtensionId> idList; idList << id1 << id2; int attributteExtentionCount = 0; // register all extended attributes for (int i = 0; i < idList.count(); i++) { subject->registerAttributeExtension(idList.at(i), ""); attributteExtentionCount ++; QTest::qWait(50); QCOMPARE(subject->attributeExtensionIdList().count(), attributteExtentionCount); } QSignalSpy spy(subject, SIGNAL(keyOverrideCreated())); QVERIFY(spy.isValid()); for (int i = 0; i < idList.count(); i++) { QCOMPARE(subject->keyOverrides(idList.at(i)).count(), 0); // set extended attribute not registered before. subject->setExtendedAttribute(idList.at(i), "/keys", "testKey", "label", QVariant("testLabel")); // new key overrides will be created QCOMPARE(spy.count(), 1); spy.clear(); QCOMPARE(subject->keyOverrides(idList.at(i)).count(), 1); QVERIFY(subject->keyOverrides(idList.at(i)).value("testKey")); QCOMPARE(subject->keyOverrides(idList.at(i)).value("testKey")->label(), QString("testLabel")); } spy.clear(); // item attribute is modified in one, the same item attribute must not change in the other one. subject->setExtendedAttribute(idList.at(0), "/keys", "testKey", "icon", QVariant("testIcon")); QCOMPARE(subject->keyOverrides(idList.at(0)).count(), 1); QVERIFY(subject->keyOverrides(idList.at(0)).value("testKey")); QCOMPARE(subject->keyOverrides(idList.at(0)).value("testKey")->icon(), QString("testIcon")); QVERIFY(subject->keyOverrides(idList.at(1)).value("testKey")->icon().isEmpty()); }
void testTypeIDBase::equalityTest() { edmtest::empty e; edm::TypeIDBase id1(typeid(e)); edm::TypeIDBase id2(typeid(e)); CPPUNIT_ASSERT(!(id1 < id2)); CPPUNIT_ASSERT(!(id2 < id1)); std::string n1(id1.name()); std::string n2(id2.name()); CPPUNIT_ASSERT(n1==n2); }
void tst_QMailMessagePart::setContentID() { QMailMessagePart part; QString id1("Some content-ID x@yyyy"); QString id2("<Some other content-ID y@yyyy>"); QCOMPARE( part.contentID(), QString() ); part.setContentID(id1); QCOMPARE( part.contentID(), id1 ); part.setContentID(id2); QCOMPARE( part.contentID(), id2.mid(1, id2.length() - 2) ); }
void JobSupervisorTest::TestResubmit() { std::list<Arc::Job> jobs; std::string id1("http://test.nordugrid.org/1234567890test1"), id2("http://test.nordugrid.org/1234567890test2"), id3("http://test.nordugrid.org/1234567890test3"); j.State = Arc::JobStateTEST(Arc::JobState::FAILED); j.JobID = id1; j.JobDescriptionDocument = "CONTENT"; jobs.push_back(j); j.State = Arc::JobStateTEST(Arc::JobState::RUNNING); j.JobID = id1; j.JobDescriptionDocument = "CONTENT"; jobs.push_back(j); usercfg.Broker("TEST"); Arc::ComputingServiceType cs; Arc::ComputingEndpointType ce; ce->URLString = "http://test2.nordugrid.org"; ce->InterfaceName = "org.nordugrid.test"; ce->Capability.insert(Arc::Endpoint::GetStringForCapability(Arc::Endpoint::JOBSUBMIT)); ce->HealthState = "ok"; cs.ComputingEndpoint.insert(std::pair<int, Arc::ComputingEndpointType>(0, ce)); cs.ComputingShare.insert(std::pair<int, Arc::ComputingShareType>(0, Arc::ComputingShareType())); Arc::ComputingManagerType cm; cm.ExecutionEnvironment.insert(std::pair<int, Arc::ExecutionEnvironmentType>(0, Arc::ExecutionEnvironmentType())); cs.ComputingManager.insert(std::pair<int, Arc::ComputingManagerType>(0, cm)); Arc::TargetInformationRetrieverPluginTESTControl::targets.push_back(cs); Arc::TargetInformationRetrieverPluginTESTControl::status = Arc::EndpointQueryingStatus::SUCCESSFUL; Arc::BrokerPluginTestACCControl::match = true; js = new Arc::JobSupervisor(usercfg, jobs); std::list<Arc::Endpoint> services(1, Arc::Endpoint("http://test2.nordugrid.org", Arc::Endpoint::COMPUTINGINFO, "org.nordugrid.tirtest")); std::list<Arc::Job> resubmitted; CPPUNIT_ASSERT(js->Resubmit(0, services, resubmitted)); CPPUNIT_ASSERT_EQUAL(2, (int)resubmitted.size()); delete js; }
int64_t u10_run_test(int64_t clos, int64_t i, int64_t acc) { int64_t id1_clos = ((int64_t*)clos)[2]; int64_t id2_clos = ((int64_t*)clos)[3]; int64_t id3_clos = ((int64_t*)clos)[4]; int64_t id4_clos = ((int64_t*)clos)[5]; int64_t (*id1)(int64_t, int64_t) = (int64_t(*)(int64_t, int64_t)) ((int64_t*) id1_clos)[0]; int64_t (*id2)(int64_t, int64_t) = (int64_t(*)(int64_t, int64_t)) ((int64_t*) id2_clos)[0]; int64_t (*id3)(int64_t, int64_t) = (int64_t(*)(int64_t, int64_t)) ((int64_t*) id3_clos)[0]; int64_t (*id4)(int64_t, int64_t) = (int64_t(*)(int64_t, int64_t)) ((int64_t*) id4_clos)[0]; int64_t tmp1 = id1(id1_clos, (1 + acc)); int64_t tmp2 = id2(id2_clos, tmp1); int64_t tmp3 = id3(id3_clos, tmp2); return id4(id4_clos, tmp3); }
void ListEmuBrowser::FoundSaveType() { type = TYPE_UNKNOW; std::string ID = browser->GetItemEmuID(browser->GetPageIndex()+selectedItem); if(ID.empty()) return; std::string id(ID); std::string id2(ID); id.erase(1); id2.erase(2); if(!id.compare("R") || !id.compare("S") || !id.compare("D")) type = TYPE_WII; else if(!id.compare("W")) type = TYPE_WIIWARE; else if(!id.compare("G") || !id.compare("P") || !id.compare("D") || !id.compare("U")) type = TYPE_GAMECUBE; else if(!id.compare("F")) type = TYPE_VC_NES; else if(!id.compare("J")) type = TYPE_VC_SNES; else if(!id.compare("N")) type = TYPE_VC_N64; else if(!id.compare("L")) type = TYPE_VC_SMS; else if(!id.compare("M")) type = TYPE_VC_MD; else if(!id.compare("P")) type = TYPE_VC_PCE; else if(!id.compare("E")) { if(!id2.compare("EA") || !id2.compare("EB")) type = TYPE_VC_NEOGEO; else type = TYPE_VC_ARCADE; } else if(!id.compare("C")) type = TYPE_VC_C64; else if(!id.compare("H") || !id2.compare("JO")) type = TYPE_CHANNEL; }
void tst_QOrganizerCollection::idHash() { // TODO: review tests QOrganizerCollectionId id1(makeId(QString(), 1)); QOrganizerCollectionId id2(makeId(QString(), 1)); QOrganizerCollectionId id3(makeId(QString(), 2)); QOrganizerCollectionId id4(makeId("a", 1)); QVERIFY(qHash(id1) == qHash(id2)); QVERIFY(qHash(id1) != qHash(id3)); // note that the hash function is dependent on the id type // in BasicCollectionLocalId, the hash function ignores the managerUri. QSet<QOrganizerCollectionId> set; set.insert(id1); set.insert(id2); set.insert(id3); set.insert(id4); QCOMPARE(set.size(), 3); }
bool Law2_ScGeom_MindlinPhys_HertzWithLinearShear::go(shared_ptr<IGeom>& ig, shared_ptr<IPhys>& ip, Interaction* contact){ Body::id_t id1(contact->getId1()), id2(contact->getId2()); ScGeom* geom = static_cast<ScGeom*>(ig.get()); MindlinPhys* phys=static_cast<MindlinPhys*>(ip.get()); const Real uN=geom->penetrationDepth; if (uN<0) { if (neverErase) {phys->shearForce = phys->normalForce = Vector3r::Zero(); phys->kn=phys->ks=0; return true;} else return false; } // normal force Real Fn=phys->kno*pow(uN,3/2.); phys->normalForce=Fn*geom->normal; //phys->kn=3./2.*phys->kno*std::pow(uN,0.5); // update stiffness, not needed // shear force Vector3r& Fs=geom->rotate(phys->shearForce); Real ks= nonLin>0 ? phys->kso*std::pow(uN,0.5) : phys->kso; Vector3r shearIncrement; if(nonLin>1){ State *de1=Body::byId(id1,scene)->state.get(), *de2=Body::byId(id2,scene)->state.get(); Vector3r shiftVel=scene->isPeriodic ? Vector3r(scene->cell->velGrad*scene->cell->hSize*contact->cellDist.cast<Real>()) : Vector3r::Zero(); Vector3r shift2 = scene->isPeriodic ? Vector3r(scene->cell->hSize*contact->cellDist.cast<Real>()): Vector3r::Zero(); Vector3r incidentV = geom->getIncidentVel(de1, de2, scene->dt, shift2, shiftVel, /*preventGranularRatcheting*/ nonLin>2 ); Vector3r incidentVn = geom->normal.dot(incidentV)*geom->normal; // contact normal velocity Vector3r incidentVs = incidentV-incidentVn; // contact shear velocity shearIncrement=incidentVs*scene->dt; } else { shearIncrement=geom->shearIncrement(); } Fs-=ks*shearIncrement; // Mohr-Coulomb slip Real maxFs2=pow(Fn,2)*pow(phys->tangensOfFrictionAngle,2); if(Fs.squaredNorm()>maxFs2) Fs*=sqrt(maxFs2)/Fs.norm(); // apply forces Vector3r f=-phys->normalForce-phys->shearForce; /* should be a reference returned by geom->rotate */ assert(phys->shearForce==Fs); scene->forces.addForce(id1,f); scene->forces.addForce(id2,-f); scene->forces.addTorque(id1,(geom->radius1-.5*geom->penetrationDepth)*geom->normal.cross(f)); scene->forces.addTorque(id2,(geom->radius2-.5*geom->penetrationDepth)*geom->normal.cross(f)); return true; }
bool Law2_ScGeom_MindlinPhys_MindlinDeresiewitz::go(shared_ptr<IGeom>& ig, shared_ptr<IPhys>& ip, Interaction* contact){ Body::id_t id1(contact->getId1()), id2(contact->getId2()); ScGeom* geom = static_cast<ScGeom*>(ig.get()); MindlinPhys* phys=static_cast<MindlinPhys*>(ip.get()); const Real uN=geom->penetrationDepth; if (uN<0) { if (neverErase) {phys->shearForce = phys->normalForce = Vector3r::Zero(); phys->kn=phys->ks=0; return true;} else {return false;} } // normal force Real Fn=phys->kno*pow(uN,3/2.); phys->normalForce=Fn*geom->normal; // exactly zero would not work with the shear formulation, and would give zero shear force anyway if(Fn==0) return true; //phys->kn=3./2.*phys->kno*std::pow(uN,0.5); // update stiffness, not needed // contact radius Real R=geom->radius1*geom->radius2/(geom->radius1+geom->radius2); phys->radius=pow(Fn*pow(R,3/2.)/phys->kno,1/3.); // shear force: transform, but keep the old value for now geom->rotate(phys->usTotal); //Vector3r usOld=phys->usTotal; //The variable set but not used Vector3r dUs=geom->shearIncrement(); phys->usTotal-=dUs; #if 0 Vector3r shearIncrement; shearIncrement=geom->shearIncrement(); Fs-=ks*shearIncrement; // Mohr-Coulomb slip Real maxFs2=pow(Fn,2)*pow(phys->tangensOfFrictionAngle,2); if(Fs.squaredNorm()>maxFs2) Fs*=sqrt(maxFs2)/Fs.norm(); #endif // apply forces Vector3r f=-phys->normalForce-phys->shearForce; scene->forces.addForce(id1,f); scene->forces.addForce(id2,-f); scene->forces.addTorque(id1,(geom->radius1-.5*geom->penetrationDepth)*geom->normal.cross(f)); scene->forces.addTorque(id2,(geom->radius2-.5*geom->penetrationDepth)*geom->normal.cross(f)); return true; }
void tst_QOrganizerCollection::idLessThan() { // TODO: review tests QOrganizerCollectionId id1(makeId("a", 1)); QOrganizerCollectionId id2(makeId("a", 1)); QVERIFY(!(id1 < id2)); QVERIFY(!(id2 < id1)); QVERIFY(id1 == id2); QOrganizerCollectionId id3(makeId("a", 2)); QOrganizerCollectionId id4(makeId("b", 1)); QOrganizerCollectionId id5(makeId(QString(), 2)); QVERIFY(id1 < id3); QVERIFY(!(id3 < id1)); QVERIFY(id1 < id4); QVERIFY(!(id4 < id1)); QVERIFY(id3 < id4); QVERIFY(!(id4 < id3)); QVERIFY(id5 < id1); QVERIFY(!(id1 < id5)); }
void OPThermalConductivitySpeciesSpeciesE::output(magnet::xml::XmlStream &XML) { XML << magnet::xml::tag("EinsteinCorrelator") << magnet::xml::attr("name") << name << magnet::xml::attr("size") << accG2.size() << magnet::xml::attr("dt") << dt/Sim->dynamics.units().unitTime() << magnet::xml::attr("LengthInMFT") << dt * accG2.size() / Sim->getOutputPlugin<OPMisc>()->getMFT() << magnet::xml::attr("simFactor") << rescaleFactor() << magnet::xml::attr("SampleCount") << count; double factor = rescaleFactor(); size_t Nsp(Sim->dynamics.getSpecies().size()); for (size_t id1(0); id1 < Nsp; ++id1) for (size_t id2(0); id2 < Nsp; ++id2) { XML << magnet::xml::tag("Component") << magnet::xml::attr("Species1") << id1 << magnet::xml::attr("Species2") << id2 << magnet::xml::chardata(); for (unsigned int i = 0; i < accG2.size(); i++) { XML << (1+i) * dt / Sim->dynamics.units().unitTime() << "\t "; for (size_t j=0;j<NDIM;j++) XML << accG2[id1 + Nsp * id2][i][j] * factor << "\t "; XML << "\n"; } XML << magnet::xml::endtag("Component"); } XML << magnet::xml::endtag("EinsteinCorrelator"); }
TEST_F(EnvironmentFactorTest, Operators) { Id id1("env1"); EnvironmentFactor envFactor1(id1); Id id2("env2"); EnvironmentFactor envFactor2(id2); Id id3("a_env"); EnvironmentFactor envFactor3(id3); EnvironmentFactor envFactor4(id1); EXPECT_EQ(envFactor4, envFactor1); EXPECT_FALSE(envFactor1 == envFactor2); EXPECT_FALSE(envFactor4 == envFactor2); EXPECT_FALSE(envFactor1 == envFactor3); EXPECT_FALSE(envFactor4 == envFactor3); EXPECT_FALSE(envFactor3 == envFactor2); if(id1 < id2){ EXPECT_TRUE(envFactor1 < envFactor2); }else{ EXPECT_TRUE(envFactor2 < envFactor1); } if(id1 < id3){ EXPECT_TRUE(envFactor1 < envFactor3); }else{ EXPECT_TRUE(envFactor3 < envFactor1); } if(id2 < id3){ EXPECT_TRUE(envFactor2 < envFactor3); }else{ EXPECT_TRUE(envFactor3 < envFactor2); } }
TEST(GuidTest, TestCopyConstructor) { capu::Guid id1("BA28BA67-E777-4014-B8DD-6B928BDF57B1"); capu::Guid id2(id1); EXPECT_TRUE(id1.equals(id2)); }
int main(int argc, char **argv) { bool fail = false; // // now create a domain and a modelbuilder // and build the model // FEM_ObjectBroker theBroker; Domain *theDomain = new Domain(); FileDatastore *theDatabase = new FileDatastore("/tmp/database/test1",*theDomain,theBroker); FileDatastore &theDb = *theDatabase; opserr << "TESTING IDs: \n"; ID id1(2); id1(0) = 1; id1(1) = 1; ID id0(2); id0(0) = 0; id0(1) = 0; ID id2(2); id2(0) = 2; id2(1) = 2; ID id3(2); id3(0) = 3; id3(1) = 3; ID id4(2); id4(0) = 4; id4(1) = 4; ID id5(2); id5(0) = 5; id5(1) = 5; ID id6(2); id6(0) = 6; id6(1) = 6; theDb.sendID(1,1,id1); theDb.sendID(1,2,id2); theDb.sendID(2,1,id3); theDb.sendID(2,2,id4); opserr << "RESULTS\n"; ID recvID(2); theDb.recvID(1,1,recvID); opserr << "1: " << recvID; theDb.recvID(1,2,recvID); opserr << "2: " << recvID; theDb.recvID(2,1,recvID); opserr << "3: " << recvID; theDb.recvID(2,2,recvID); opserr << "4: " << recvID; theDb.sendID(1,1,id1); theDb.sendID(3,1,id3); theDb.sendID(2,1,id2); theDb.sendID(0,1,id0); theDb.sendID(1,2,id1); theDb.sendID(2,2,id2); theDb.sendID(3,1,id3); theDb.sendID(5,1,id5); theDb.sendID(4,1,id4); theDb.sendID(1,1,id1); theDb.recvID(3,1,id5); opserr << "3: " << id5; theDb.recvID(1,1,id5); opserr << "1: " << id5; theDb.recvID(2,1,id5); opserr << "2: " << id5; theDb.recvID(1,2,id5); opserr << "1: " << id5; theDb.recvID(2,2,id5); opserr << "3: " << id5; theDb.recvID(3,1,id5); opserr << "3: " << id5; theDb.recvID(4,1,id5); opserr << "4: " << id5; theDb.recvID(5,1,id5); opserr << "5: " << id5; opserr << "FAILURE: " << theDb.recvID(6,1,id5) << " returned\n"; opserr << "FAILURE " << theDb.recvID(6,1,id5) << " returned\n"; theDb.recvID(0,1,id5); opserr << "0: " << id5; theDb.recvID(5,1,id5); opserr << "5: " << id5; ID id64(4); id64(0) = 6; id64(1) = 6; id64(2) = 6; id64(3) = 6; theDb.sendID(6,1,id64); theDb.recvID(6,1,id64); opserr << id64; opserr << "TESTING MATRICES: \n"; Matrix mat1(2,2); mat1(0,0) = 1.1; mat1(0,1) = 11.1; mat1(1,0) = 111.1; mat1(1,1) = 1111.1; Matrix mat2(2,2); mat2(0,0) = 2.2; mat2(0,1) = 22.2; mat2(1,0) = 222.2; mat2(1,1) = 2222.2; theDb.sendMatrix(2,1,mat2); theDb.sendMatrix(1,1,mat1); theDb.sendMatrix(3,2,mat2); theDb.sendMatrix(3,1,mat1); Matrix mat3(2,2); theDb.recvMatrix(1,1,mat3); opserr << mat1 << mat3 << endln; theDb.recvMatrix(2,1,mat3); opserr << mat2 << mat3 << endln; theDb.recvMatrix(3,2,mat3); opserr << mat2 << mat3 << endln; theDb.recvMatrix(3,1,mat3); opserr << mat1 << mat3 << endln; // theDb.sendMatrix(2,1,mat1); theDb.recvMatrix(2,1,mat3); opserr << mat2 << mat3; opserr << "TESTING VECTORS: \n"; Vector vect1(2); vect1(0) = 1.1; vect1(1) = 2.22; Vector vect2(2); vect2(0) = 3; vect2(1) = 4.2; Vector vect3(2); vect3(0) = 5; vect3(1) = 6; Vector vect4(2); vect4(0) = 7; vect4(1) = 8.8e12; theDb.sendVector(1,1,vect1); theDb.sendVector(1,2,vect2); theDb.sendVector(2,1,vect3); theDb.sendVector(2,2,vect4); opserr << "RESULTS\n"; Vector vect5(2); theDb.recvVector(1,1,vect5); opserr << vect1 << vect5 << endln; theDb.recvVector(1,2,vect5); opserr << vect2 << vect5 << endln; theDb.recvVector(2,1,vect5); opserr << vect3 << vect5 << endln; theDb.recvVector(2,2,vect5); opserr << vect4 << vect5 << endln; theDb.sendVector(2,2,vect1); theDb.sendVector(2,1,vect2); theDb.sendVector(1,2,vect3); theDb.sendVector(1,1,vect4); theDb.recvVector(1,1,vect5); opserr << vect4 << vect5 << endln; theDb.recvVector(1,2,vect5); opserr << vect3 << vect5 << endln; theDb.recvVector(2,1,vect5); opserr << vect2 << vect5 << endln; theDb.recvVector(2,2,vect5); opserr << vect1 << vect5 << endln; theDb.sendVector(4,4,vect5); theDb.recvVector(4,4,vect5); opserr << vect5 << vect5 << endln; theDb.recvVector(5,5,vect5); opserr << "FAIL\n"; theDatabase->commitState(0); /* */ /* theDb.sendID(2,2,id1); theDb.sendID(2,1,id2); theDb.sendID(1,2,id3); theDb.sendID(1,1,id4); theDb.recvID(1,1,id5); opserr << id5; theDb.recvID(1,2,id5); opserr << id5; theDb.recvID(2,1,id5); opserr << id5; theDb.recvID(2,2,id5); opserr << id5; theDb.sendID(4,4,id5); theDb.recvID(4,4,id5); opserr << id5; theDb.recvID(5,5,id5); opserr << id5; */ /************************** **************************/ /* */ // theModelBuilder->buildFE_Model(); // theDb.commitState(0); // theDb.restoreState(0); // theDb.restoreElements(0); /* theDb.restoreNode(1,0); theDb.restoreNode(2,0); theDb.restoreNode(3,0); theDb.restoreNode(4,0); theDb.restoreElement(0,0); theDb.restoreElement(1,0); theDb.restoreElement(2,0); */ // opserr << *theDomain; delete theDatabase; exit(0); }
TEST_F( OpenDDLCommonTest, CompareIdentifierTest ) { Identifier id1( "test" ), id2( "test" ); bool equal( id1 == id2 ); EXPECT_TRUE( equal ); }
void DruckerPragerModel<EvalT, Traits>:: computeState(typename Traits::EvalData workset, std::map<std::string, Teuchos::RCP<PHX::MDField<ScalarT> > > dep_fields, std::map<std::string, Teuchos::RCP<PHX::MDField<ScalarT> > > eval_fields) { // extract dependent MDFields PHX::MDField<ScalarT> strain = *dep_fields["Strain"]; PHX::MDField<ScalarT> poissons_ratio = *dep_fields["Poissons Ratio"]; PHX::MDField<ScalarT> elastic_modulus = *dep_fields["Elastic Modulus"]; // retrieve appropriate field name strings std::string cauchy_string = (*field_name_map_)["Cauchy_Stress"]; std::string strain_string = (*field_name_map_)["Strain"]; std::string eqps_string = (*field_name_map_)["eqps"]; std::string friction_string = (*field_name_map_)["Friction_Parameter"]; // extract evaluated MDFields PHX::MDField<ScalarT> stress = *eval_fields[cauchy_string]; PHX::MDField<ScalarT> eqps = *eval_fields[eqps_string]; PHX::MDField<ScalarT> friction = *eval_fields[friction_string]; PHX::MDField<ScalarT> tangent = *eval_fields["Material Tangent"]; // get State Variables Albany::MDArray strainold = (*workset.stateArrayPtr)[strain_string + "_old"]; Albany::MDArray stressold = (*workset.stateArrayPtr)[cauchy_string + "_old"]; Albany::MDArray eqpsold = (*workset.stateArrayPtr)[eqps_string + "_old"]; Albany::MDArray frictionold = (*workset.stateArrayPtr)[friction_string + "_old"]; Intrepid::Tensor<ScalarT> id(Intrepid::eye<ScalarT>(num_dims_)); Intrepid::Tensor4<ScalarT> id1(Intrepid::identity_1<ScalarT>(num_dims_)); Intrepid::Tensor4<ScalarT> id2(Intrepid::identity_2<ScalarT>(num_dims_)); Intrepid::Tensor4<ScalarT> id3(Intrepid::identity_3<ScalarT>(num_dims_)); Intrepid::Tensor4<ScalarT> Celastic (num_dims_); Intrepid::Tensor<ScalarT> sigma(num_dims_), sigmaN(num_dims_), s(num_dims_); Intrepid::Tensor<ScalarT> epsilon(num_dims_), epsilonN(num_dims_); Intrepid::Tensor<ScalarT> depsilon(num_dims_); Intrepid::Tensor<ScalarT> nhat(num_dims_); ScalarT lambda, mu, kappa; ScalarT alpha, alphaN; ScalarT p, q, ptr, qtr; ScalarT eq, eqN, deq; ScalarT snorm; ScalarT Phi; //local unknowns and residual vectors std::vector<ScalarT> X(4); std::vector<ScalarT> R(4); std::vector<ScalarT> dRdX(16); for (std::size_t cell(0); cell < workset.numCells; ++cell) { for (std::size_t pt(0); pt < num_pts_; ++pt) { lambda = ( elastic_modulus(cell,pt) * poissons_ratio(cell,pt) ) / ( ( 1 + poissons_ratio(cell,pt) ) * ( 1 - 2 * poissons_ratio(cell,pt) ) ); mu = elastic_modulus(cell,pt) / ( 2 * ( 1 + poissons_ratio(cell,pt) ) ); kappa = lambda + 2.0 * mu / 3.0; // 4-th order elasticity tensor Celastic = lambda * id3 + mu * (id1 + id2); // previous state (the fill doesn't work for state virable) //sigmaN.fill( &stressold(cell,pt,0,0) ); //epsilonN.fill( &strainold(cell,pt,0,0) ); for (std::size_t i(0); i < num_dims_; ++i) { for (std::size_t j(0); j < num_dims_; ++j) { sigmaN(i, j) = stressold(cell, pt, i, j); epsilonN(i, j) = strainold(cell, pt, i, j); //epsilon(i,j) = strain(cell,pt,i,j); } } epsilon.fill( &strain(cell,pt,0,0) ); depsilon = epsilon - epsilonN; alphaN = frictionold(cell,pt); eqN = eqpsold(cell,pt); // trial state sigma = sigmaN + Intrepid::dotdot(Celastic,depsilon); ptr = Intrepid::trace(sigma) / 3.0; s = sigma - ptr * id; snorm = Intrepid::dotdot(s,s); if(snorm > 0) snorm = std::sqrt(snorm); qtr = sqrt(3.0/2.0) * snorm; // unit deviatoric tensor if (snorm > 0){ nhat = s / snorm; } else{ nhat = id; } // check yielding Phi = qtr + alphaN * ptr - Cf_; alpha = alphaN; p = ptr; q = qtr; deq = 0.0; if(Phi > 1.0e-12) {// plastic yielding // initialize local unknown vector X[0] = ptr; X[1] = qtr; X[2] = alpha; X[3] = deq; LocalNonlinearSolver<EvalT, Traits> solver; int iter = 0; ScalarT norm_residual0(0.0), norm_residual(0.0), relative_residual(0.0); // local N-R loop while (true) { ResidualJacobian(X, R, dRdX, ptr, qtr, eqN, mu, kappa); norm_residual = 0.0; for (int i = 0; i < 4; i++) norm_residual += R[i] * R[i]; norm_residual = std::sqrt(norm_residual); if (iter == 0) norm_residual0 = norm_residual; if (norm_residual0 != 0) relative_residual = norm_residual / norm_residual0; else relative_residual = norm_residual0; //std::cout << iter << " " //<< Sacado::ScalarValue<ScalarT>::eval(norm_residual) //<< " " << Sacado::ScalarValue<ScalarT>::eval(relative_residual) //<< std::endl; if (relative_residual < 1.0e-11 || norm_residual < 1.0e-11) break; if (iter > 20) break; // call local nonlinear solver solver.solve(dRdX, X, R); iter++; } // end of local N-R loop // compute sensitivity information w.r.t. system parameters // and pack the sensitivity back to X solver.computeFadInfo(dRdX, X, R); // update p = X[0]; q = X[1]; alpha = X[2]; deq = X[3]; }//end plastic yielding eq = eqN + deq; s = sqrt(2.0/3.0) * q * nhat; sigma = s + p * id; eqps(cell, pt) = eq; friction(cell,pt) = alpha; for (std::size_t i(0); i < num_dims_; ++i) { for (std::size_t j(0); j < num_dims_; ++j) { stress(cell,pt,i,j) = sigma(i, j); } } }// end loop over pt } // end loop over cell }
BOOST_FIXTURE_TEST_CASE(GeneralSigningInterface, IdentityManagementFixture) { Name id("/id"); Name certName = m_keyChain.createIdentity(id); shared_ptr<v1::IdentityCertificate> idCert = m_keyChain.getCertificate(certName); Name keyName = idCert->getPublicKeyName(); m_keyChain.setDefaultIdentity(id); Name id2("/id2"); Name cert2Name = m_keyChain.createIdentity(id2); shared_ptr<v1::IdentityCertificate> id2Cert = m_keyChain.getCertificate(cert2Name); // SigningInfo is set to default Data data1("/data1"); m_keyChain.sign(data1); BOOST_CHECK(Validator::verifySignature(data1, idCert->getPublicKeyInfo())); BOOST_CHECK_EQUAL(data1.getSignature().getKeyLocator().getName(), certName.getPrefix(-1)); Interest interest1("/interest1"); m_keyChain.sign(interest1); BOOST_CHECK(Validator::verifySignature(interest1, idCert->getPublicKeyInfo())); SignatureInfo sigInfo1(interest1.getName()[-2].blockFromValue()); BOOST_CHECK_EQUAL(sigInfo1.getKeyLocator().getName(), certName.getPrefix(-1)); // SigningInfo is set to Identity Data data2("/data2"); m_keyChain.sign(data2, SigningInfo(SigningInfo::SIGNER_TYPE_ID, id2)); BOOST_CHECK(Validator::verifySignature(data2, id2Cert->getPublicKeyInfo())); BOOST_CHECK_EQUAL(data2.getSignature().getKeyLocator().getName(), cert2Name.getPrefix(-1)); Interest interest2("/interest2"); m_keyChain.sign(interest2, SigningInfo(SigningInfo::SIGNER_TYPE_ID, id2)); BOOST_CHECK(Validator::verifySignature(interest2, id2Cert->getPublicKeyInfo())); SignatureInfo sigInfo2(interest2.getName()[-2].blockFromValue()); BOOST_CHECK_EQUAL(sigInfo2.getKeyLocator().getName(), cert2Name.getPrefix(-1)); // SigningInfo is set to Key Data data3("/data3"); m_keyChain.sign(data3, SigningInfo(SigningInfo::SIGNER_TYPE_KEY, keyName)); BOOST_CHECK(Validator::verifySignature(data3, idCert->getPublicKeyInfo())); BOOST_CHECK_EQUAL(data3.getSignature().getKeyLocator().getName(), certName.getPrefix(-1)); Interest interest3("/interest3"); m_keyChain.sign(interest3); BOOST_CHECK(Validator::verifySignature(interest3, idCert->getPublicKeyInfo())); SignatureInfo sigInfo3(interest1.getName()[-2].blockFromValue()); BOOST_CHECK_EQUAL(sigInfo3.getKeyLocator().getName(), certName.getPrefix(-1)); // SigningInfo is set to Cert Data data4("/data4"); m_keyChain.sign(data4, SigningInfo(SigningInfo::SIGNER_TYPE_CERT, certName)); BOOST_CHECK(Validator::verifySignature(data4, idCert->getPublicKeyInfo())); BOOST_CHECK_EQUAL(data4.getSignature().getKeyLocator().getName(), certName.getPrefix(-1)); Interest interest4("/interest4"); m_keyChain.sign(interest4, SigningInfo(SigningInfo::SIGNER_TYPE_CERT, certName)); BOOST_CHECK(Validator::verifySignature(interest4, idCert->getPublicKeyInfo())); SignatureInfo sigInfo4(interest4.getName()[-2].blockFromValue()); BOOST_CHECK_EQUAL(sigInfo4.getKeyLocator().getName(), certName.getPrefix(-1)); // SigningInfo is set to DigestSha256 Data data5("/data5"); m_keyChain.sign(data5, SigningInfo(SigningInfo::SIGNER_TYPE_SHA256)); BOOST_CHECK(Validator::verifySignature(data5, DigestSha256(data5.getSignature()))); Interest interest5("/interest4"); m_keyChain.sign(interest5, SigningInfo(SigningInfo::SIGNER_TYPE_SHA256)); BOOST_CHECK(Validator::verifySignature(interest5, DigestSha256(Signature(interest5.getName()[-2].blockFromValue(), interest5.getName()[-1].blockFromValue())))); }
int id(int x) { if (x==0) return 0; int ret = id2(x-1) + 1; if (ret > 3) return 3; return ret; }
TEST(GuidTest, TestParseAreEqual1) { capu::Guid id1; capu::Guid id2(id1.toString()); EXPECT_TRUE(id1.equals(id2)); }
TEST(GuidTest, TestParseAreEqual2) { capu::Guid id1; capu::Guid id2(id1.toString()); EXPECT_TRUE(id1 == id2); // test == operator }