Water stream problem

Topper

09-02-2011 18:27:50

Hi

i try to generate a constant stream of fluid particles. this works, but i need it to fly an specific distance. The problem is when i increase the motionLimitMultiplyer my fluid fly's long enough but it has gaps. How can i close the gaps?

here is my fluid and emitter description:

float radius = 0.02;
float rPpM = 1.0/radius;

// create Fluid
NxOgre::FluidDescription desc;
desc.mMaxParticles = 32000;
desc.mKernelRadiusMultiplier = 1.0f;
desc.mRestParticlesPerMetre = rPpM;
desc.mMotionLimitMultiplier = 8;
desc.mPacketSizeMultiplier = 8;
desc.mCollisionDistanceMultiplier = 1.0f;
desc.mStiffness = 5.0f;
desc.mViscosity = 100.0f;;
desc.mRestDensity = 1000.0f;
desc.mDamping = 0.0f;
desc.mFadeInTime = 0.0f;
desc.mRestitutionForStaticShapes = 0.10f;
desc.mRestitutionForDynamicShapes = 0.10f;
desc.mDynamicFrictionForStaticShapes = 0.50f;
desc.mDynamicFrictionForDynamicShapes = 0.50f;
desc.mCollisionResponseCoefficient = 0.10f;

NxOgre::FluidEmitterDescription edesc;
edesc.mParticleLifetime = 2.0;
edesc.mRate = 300;
edesc.mFluidSpeed = 100.0f;
edesc.mType = NxOgre::Enums::FluidEmitterType_Pressure;
edesc.mReplusionCoefficient = 0.00f;
edesc.mDimensionX = 0.020f;
edesc.mDimensionY = 0.020f;


here you can see the gaps:

spacegaier

09-02-2011 19:46:25

Never played with fluids, so this is total shoot in the dark, but perhaps increasing the rate for the emitter would do the trick?

betajaen

09-02-2011 19:59:09

That was my thought as well, and perhaps playing around with the particle lifetime.

Topper

09-02-2011 20:29:09

hi,

hmm flow rate doesn't work because the emitter has the constant pressure type.

i played with the particle life time but doesn't change anything. Only if i set the motionLimitMultiplyer to 4 the stream has no gaps.

Maybe can i speed up the stream with a force field in front of the emitter?

betajaen

09-02-2011 20:42:56

You could try, but that is a lot of effort if it doesn't pay off.

I'm sure it can be solved by just altering the description. I haven't played with Fluids for a while now, so I'm not much help.

Topper

12-02-2011 21:46:50

hi,

i've tried some settings and get the gaps with the following smaller


float radius = 0.03;
float rPpM = 1.0/radius;

// create Fluid
NxOgre::FluidDescription desc;
desc.mMaxParticles = 500;
desc.mKernelRadiusMultiplier = 1.0f;
desc.mRestParticlesPerMetre = rPpM/2;
desc.mMotionLimitMultiplier = 4;//2*radius*rPpM;
desc.mPacketSizeMultiplier = 8;
desc.mCollisionDistanceMultiplier = 1.0f;
desc.mStiffness = 8.0f;
desc.mViscosity = 50.0f;;
desc.mRestDensity = 1000.0f;
desc.mDamping = 0.0f;
desc.mFadeInTime = 0.0f;
desc.mRestitutionForStaticShapes = 0.00f;
desc.mRestitutionForDynamicShapes = 0.10f;
desc.mDynamicFrictionForStaticShapes = 0.20f;
desc.mDynamicFrictionForDynamicShapes = 0.20f;
desc.mCollisionResponseCoefficient = 0.1f;