// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void InitializeData::readFilterParameters(AbstractFilterParametersReader* reader, int index) { reader->openFilterGroup(this, index); setCellAttributeMatrixPath( reader->readDataArrayPath("CellAttributeMatrixPath", getCellAttributeMatrixPath() ) ); setXMin( reader->readValue("XMin", getXMin()) ); setYMin( reader->readValue("YMin", getYMin()) ); setZMin( reader->readValue("ZMin", getZMin()) ); setXMax( reader->readValue("XMax", getXMax()) ); setYMax( reader->readValue("YMax", getYMax()) ); setZMax( reader->readValue("ZMax", getZMax()) ); reader->closeFilterGroup(); }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void InitializeData::readFilterParameters(AbstractFilterParametersReader* reader, int index) { reader->openFilterGroup(this, index); setCellAttributeMatrixPaths( reader->readDataArrayPathVector("CellAttributeMatrixPaths", getCellAttributeMatrixPaths() ) ); setXMin( reader->readValue("XMin", getXMin()) ); setYMin( reader->readValue("YMin", getYMin()) ); setZMin( reader->readValue("ZMin", getZMin()) ); setXMax( reader->readValue("XMax", getXMax()) ); setYMax( reader->readValue("YMax", getYMax()) ); setZMax( reader->readValue("ZMax", getZMax()) ); setInitType(reader->readValue("InitType", getInitType())); setInitValue(reader->readValue("InitValue", getInitValue())); setInitRange(reader->readPairOfDoubles("InitRange", getInitRange())); reader->closeFilterGroup(); }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void CropImageGeometry::readFilterParameters(AbstractFilterParametersReader* reader, int index) { reader->openFilterGroup(this, index); setNewDataContainerName( reader->readString("NewDataContainerName", getNewDataContainerName() ) ); setCellAttributeMatrixPath( reader->readDataArrayPath("CellAttributeMatrixPath", getCellAttributeMatrixPath() ) ); setCellFeatureAttributeMatrixPath( reader->readDataArrayPath("CellFeatureAttributeMatrixPath", getCellFeatureAttributeMatrixPath() ) ); setFeatureIdsArrayPath(reader->readDataArrayPath("FeatureIdsArrayPath", getFeatureIdsArrayPath() ) ); setXMin( reader->readValue("XMin", getXMin()) ); setYMin( reader->readValue("YMin", getYMin()) ); setZMin( reader->readValue("ZMin", getZMin()) ); setXMax( reader->readValue("XMax", getXMax()) ); setYMax( reader->readValue("YMax", getYMax()) ); setZMax( reader->readValue("ZMax", getZMax()) ); setRenumberFeatures( reader->readValue("RenumberFeatures", getRenumberFeatures()) ); setSaveAsNewDataContainer( reader->readValue("SaveAsNewDataContainer", getSaveAsNewDataContainer()) ); setUpdateOrigin( reader->readValue("UpdateOrigin", getUpdateOrigin()) ); reader->closeFilterGroup(); }
void setupInitialConditions() { relVelocity_ = 1e-1; setName("AdhesiveForceUnitTest_ParticleWallInteractionWithPlasticForces"); setSystemDimensions(3); setParticleDimensions(3); setGravity(Vec3D(0,0,0)); species->setDensity(2000.0); species->setStiffness(1e2); species->setAdhesionStiffness(1e2); species->setAdhesionForceMax(1e-5*species->getAdhesionStiffness()); Mdouble R = 1e-3; species->setSlidingStiffness(1.2e1); species->setSlidingFrictionCoefficient(0.01); setTimeStep(5e-6 / 2.0); setXMax( 2*R); setYMax( R); setZMax( R); setXMin(0); setYMin(-R); setZMin(-R); particleHandler.clear(); BaseParticle P; P.setRadius(R); P.setPosition(Vec3D(R+species->getInteractionDistance()*1/3,0,0)); P.setVelocity(Vec3D(-relVelocity_/2,0,0)); particleHandler.copyAndAddObject(P); wallHandler.clear(); InfiniteWall w; w.set(Vec3D(-1, 0, 0), Vec3D(getXMin(), 0, 0)); wallHandler.copyAndAddObject(w); setTimeMax(getTimeStep()*250*4); setFileType(FileType::ONE_FILE); setSaveCount(1); }
void setupInitialConditions() { if (particleHandler.getNumberOfObjects() != N) { particleHandler.clear(); boundaryHandler.clear(); double VP = constants::pi * 4.0 / 3.0; L = pow(N * VP * DistInt(1, omega) / nu, 1.0 / 3.0); setXMin(0); setYMin(0); setZMin(0); setXMax(L); setYMax(L); setZMax(L); PeriodicBoundary b0; b0.set(Vec3D(1, 0, 0), getXMin(), getXMax()); boundaryHandler.copyAndAddObject(b0); b0.set(Vec3D(0, 1, 0), getYMin(), getYMax()); boundaryHandler.copyAndAddObject(b0); b0.set(Vec3D(0, 0, 1), getZMin(), getZMax()); boundaryHandler.copyAndAddObject(b0); particleHandler.setStorageCapacity(2 * N); BaseParticle p0; p0.setVelocity(Vec3D(0.0, 0.0, 0.0)); double V = 0; //Use at least particles with maximum and minimum size p0.setRadius(1.0); Vec3D position; position.Z = random.getRandomNumber(0, getZMax()); position.Y = random.getRandomNumber(0, getYMax()); position.X = random.getRandomNumber(0, getXMax()); p0.setPosition(position); particleHandler.copyAndAddObject(p0); V += VP * pow(p0.getRadius(), 3); p0.setRadius(omega); position.Z = random.getRandomNumber(0, getZMax()); position.Y = random.getRandomNumber(0, getYMax()); position.X = random.getRandomNumber(0, getXMax()); p0.setPosition(position); particleHandler.copyAndAddObject(p0); V += VP * pow(p0.getRadius(), 3); //For other particles use a random distribution for (unsigned int i = 2; i < N; i++) { p0.setRadius(RandomRadius()); position.Z = random.getRandomNumber(0, getZMax()); position.Y = random.getRandomNumber(0, getYMax()); position.X = random.getRandomNumber(0, getXMax()); p0.setPosition(position); particleHandler.copyAndAddObject(p0); V += VP * pow(p0.getRadius(), 3); } } }