DPMFoam 计算时出现奇怪报错
-
最近在计算DPMFfoam时,出现了如下的报错
Evolving kinematicCloud Solving 2-D cloud kinematicCloud 23 move-collide subCycles --> FOAM FATAL ERROR: Patch data was requested for a particle that isn't on a patch From function void Foam::particle::patchData(Foam::vector&, Foam::vector&) const in file particle/particle.C at line 941. FOAM exiting
我在kinematicCloudProperties中设置了粒子间的碰撞和一些cloudFunctions,具体如下
pairCollisionCoeffs { maxInteractionDistance 1e-5; writeReferredParticleCloud no; pairModel pairSpringSliderDashpot; pairSpringSliderDashpotCoeffs { useEquivalentSize no; alpha 0.12; b 1.5; mu 0.52; cohesionEnergyDensity 0; collisionResolutionSteps 12; }; wallModel wallLocalSpringSliderDashpot; wallLocalSpringSliderDashpotCoeffs { useEquivalentSize no; collisionResolutionSteps 12; walls { youngsModulus 2e10; poissonsRatio 0.28; alpha 0.12; b 1.5; mu 0.43; cohesionEnergyDensity 0; } frontAndBack { youngsModulus 2e10; poissonsRatio 0.28; alpha 0.12; b 1.5; mu 0.1; cohesionEnergyDensity 0; } }; U U.water; }
和
cloudFunctions { patchPostProcessing1 { type patchPostProcessing; maxStoredParcels 100000; patches ( outlet inlet walls); } particleTracks1 { type particleTracks; trackInterval 10; maxSamples 1000000; resetOnWrite yes; } particleErosion1 { type particleErosion; p 11000000; //yield stress for aluminium = 11000000 Pa or 11 MPa psi 2;//Ratio of the depth of contact to the depth of cut (default value = 2 ) K 2; //Ratio of vertical to horizontal force components (2 for angular abrassive grains) patches ( walls); } }
我如果这两个均不设置,则没有问题。报错部分的源代码如下
void Foam::particle::patchData(vector& n, vector& U) const { if (!onBoundaryFace()) { FatalErrorInFunction << "Patch data was requested for a particle that isn't on a patch" << exit(FatalError); }
请问有人知道这是什么问题吗?万分感谢!