Smoothing Length in SPH

Update James Kennedy reported a minor print error with regards to default smoothing length calculation. This has been corrected. Thanks James.

In Smoothed Particle Hydrodynamics (SPH), the particles not only pocess time-history variables such as density, displacement, velocity, acceleration, strrain-rate, stress-rate, etc but they also act as interpolation points. The space and time dependent variable called smoothing length is used to determine the region of influence of the neibhoring particles.

Default smoothing length calculation
In LS-DYNA, the initial smoothing length is constant for each part and is calculated as maximum value of all the minimum distance for each particle. For example, if we have three particle, A, B, C, then first the distance to the nearest particle is computed for all three particles. Lets assume the shortest distances for the particles A, B, and C are AD, BD, and CD respectively. The default smoothing length DSML is then taken as CLSH*maximum of (AD, BD, and CD) where CLSH is a scale factor to the initially computed smoothing length DSML can vary between HMIN * DSML and HMAX * DSML as the simulation progresses. The computed smoothing length at time zero is based on per part basis such that each part will have one smoothing length for all the particles that belongs to that part. After determining the initial smoothing length, it is recomputed every cycle for each particle based on the divergence of the velocity and can vary with repect to time and space.

Time Derivative Of Smoothing Length
There are two choices for recomputing the time-derivative of the smoothing length. The default method is based on the direct divergence of the velocity vector (IDERIV=0). Optionally, we can use the cube-root of the divergence which would yield a much smaller smoothing length by setting IDERIV=1. The minimum and maximum values of the smoothing length can further be limited to a minimum value (HMIN*h) and a maximum value (HMAX*h).

Constant and User Specified Smoothing Length
A constant smoothing length can be achieved by setting HMIN=HMAX=1.0. Optionally, a user-defined initial smoothing length can be specified using the variable SPHINI which will override values computed by LS-DYNA.

User Defined Smoothing Length
LS-DYNA also allows the user to embed his own routine to compute the smoothing length. Please see “Remark 3” in the LS-DYNA keyword manual under *SECTION_SPH for more information on this

Below are two studies in which a container with a fluid, modeled using SPH and Equation of State, is initialized for grativational forces. In the first study, the smoothing length is forced to be constant and small by setting HMIN=HMAX=0.1 which means that we are scaling the default smoothing length by taking on 10% of the initially computed value and also making it to be constant for the remainder of the simulation. As you can see in the animation (below), this causes a very small region of influence allowing particles to intially move freely which alters the total height of the fluid after the gravity initialization is completed. In the second case, the default smoothing length is alllowed to vary between values of HMIN*h and HMAX*h by setting HMIN=0.1 and HMAX=1.2. For a varying smoothing length, the CLSH further scales the initial smoothing length, h0, by 1.3 (default is 1.2). In this case, the correct height of the fluid is achieved since the influence of the particles are considered yielding a desired fluid level after the initialization due to gravity.

To speed up the smoothing length calculations and also the particle approximations, SPH taps into the bucket-sorting algorithm that was originally developed for contact in LS-DYNA.

Viewing Smoothing Length in LS-PREPOST
Smoothing length for each particle is written to the D3PLOT which can be read into LS-PREPOST directly. LS-PREPOST scales the smoothing length by a factor of 0.3 and uses it to render a sphere whose diameter is the scaled smoothing length. To view the raw smoothing length (radius=smoothing length), you can use the “Setting/SPH-Nodes” to reset to a scale factor of 1.0.

Small Constant Smoothing Length (Click image to animate)

Default Varying Smooth Length (Click image to animate)

  • suri bala says:

    Dear Len,

    The per part h0 calculation is mentioned in REMARK # 1 under *SECTION_SPH keyword. I hope this is what you were referring to.


  • Len says:

    Tnanks Suri.

    I gues I better start reading the manual 🙁

  • Hemanth says:

    Hi Suri,

    Iam simulating a projectile hitting a target in Ls Dyna Using SPH Particles. I want to introduce radial tensile cracking and spall cracking in target. For this purpose the dense of SPH particles should be very high.

    Iam using Eta VPG as preprocessor.For creating SPH model, I need Lagrangean model and the No. of creating SPH particles equal to the no.of nodes in its Parental lagrangean model. Because of this, creating number of SPH particles are constrained.

    I want to increase the no.of SPH Particles by 3 times of its parental lagrangean model. To refine the Lagrangean model by 3 times is not possible.

    Is there any option in LSDYNA to incease the dense of SPH particles.

    Thanks and Regards

  • Len says:

    I know of no such option in LS-DYNA to increase the number of particles.
    I suggest you investigate LS-PrePost for generating SPH parts. –len

Leave a Reply

Your email address will not be published. Required fields are marked *