October 12, 2015, 07:57
|
What limits the amount of injected lagrangian particles?
|
#1
|
New Member
Join Date: Apr 2015
Posts: 9
Rep Power: 10
|
Hi FOAMers,
I have a problem in my simulation when I try to patch-inject too many lagrangian parcels in one time step using swak4foam. My first thought was that the amount of parcels might be limited by the points available on the patch used for injection. However, my injection-patch contains more than 5000 faces, but my parcels get limited to roughly 2000 in one time-step. If I increase the amount of parcels I get the following error
Code:
#0 Foam::error::printStack(Foam::Ostream&) in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib64/libc.so.6"
#3 Foam::PatchInjection<Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > > >::PatchInjection(Foam::dictionary const&, Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > >&, Foam::word const&) in "/lustre/braschke/OpenFOAM/braschke-2.3.0/platforms/linux64GccDPOpt/lib/liblagrangianIntermediate.so"
#4 Foam::InjectionModel<Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > > >::adddictionaryConstructorToTable<Foam::PatchInjection<Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > > > >::New(Foam::dictionary const&, Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > >&, Foam::word const&) in "/lustre/braschke/OpenFOAM/braschke-2.3.0/platforms/linux64GccDPOpt/lib/liblagrangianIntermediate.so"
#5 Foam::InjectionModel<Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > > >::New(Foam::dictionary const&, Foam::word const&, Foam::word const&, Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > >&) in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libsimpleLagrangianFunctionObjects.so"
#6 Foam::InjectionModelList<Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > > >::InjectionModelList(Foam::dictionary const&, Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > >&) in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libsimpleLagrangianFunctionObjects.so"
#7 Foam::KinematicCloud<Foam::Cloud<Foam::KinematicParcel<Foam::particle> > >::KinematicCloud(Foam::word const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::dimensioned<Foam::Vector<double> > const&, bool) in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libsimpleLagrangianFunctionObjects.so"
#8 Foam::EvolveKinematicCloudFunctionObject::start() in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libsimpleLagrangianFunctionObjects.so"
#9 Foam::functionObjectList::read() in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#10 Foam::Time::run() const in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#11
in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/pimpleFoam"
#12 __libc_start_main in "/lib64/libc.so.6"
#13
in "/lustre/buerger/OpenFOAM/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/bin/pimpleFoam"
Surprisingly I can inject as many parcels as I want as long as I spread the injection over several timesteps, thus allowing me to have more than 10000 at once. This is actually sufficient for my simulation, but I would like to understand what limits my amount of parcels in one timestep.
Thanks,
Kamil
|
|
|