Difference between revisions of "XPIC Features"

From OSUPDOCS
Jump to navigation Jump to search
Line 6: Line 6:
The [[Damping Options#PIC Damping|PIC method]] can be described as applying a projection operator that modifies (and filters) particle velocities before updating them with the grid acceleration. The problem with PIC is that its projection operator filters most problems too heavily resulting in significant dissipation of energy. XPIC(m) is a new method that solves the energy dissipation problem, enhances overall stability of MPM, and reduces noise. XPIC(m) defines a series of new projection operators that can significantly reduce the over damping of PIC simulations. XPIC(m) is defined by an order <tt>m</tt>, where <tt>m=1</tt> is PIC, <tt>m&gt;1</tt> is XPIC, and large <tt>m</tt> approaches an ideal FLIP method with all null-space noise removed. In other words, <tt>m</tt> from 1 to infinity provides an interpolation between PIC and optimized FLIP, but is probably a better interpolation than the simple linear combination provided by [[#PIC Damping|standard PIC damping]].
The [[Damping Options#PIC Damping|PIC method]] can be described as applying a projection operator that modifies (and filters) particle velocities before updating them with the grid acceleration. The problem with PIC is that its projection operator filters most problems too heavily resulting in significant dissipation of energy. XPIC(m) is a new method that solves the energy dissipation problem, enhances overall stability of MPM, and reduces noise. XPIC(m) defines a series of new projection operators that can significantly reduce the over damping of PIC simulations. XPIC(m) is defined by an order <tt>m</tt>, where <tt>m=1</tt> is PIC, <tt>m&gt;1</tt> is XPIC, and large <tt>m</tt> approaches an ideal FLIP method with all null-space noise removed. In other words, <tt>m</tt> from 1 to infinity provides an interpolation between PIC and optimized FLIP, but is probably a better interpolation than the simple linear combination provided by [[#PIC Damping|standard PIC damping]].


== Using XPIC(m) ==
== Performance ==
 
The drawback of XPIC(m) is that each higher order of XPIC(m) requires an extra extrapolation. The extra calculations scale with m*N where N is the number of particles in the problem. XPIC is therefore less efficient than PIC or FLIP (or a [[Damping Options#PIC Damping|PIC damping]] linear combination of FLIP and PIC). In many problems, <tt>m=2</tt> already provides much improvement over PIC and reduces undesirable energy dissipation with minimal extra calculations. Larger <tt>m</tt> is often better with <tt>m=5</tt> appearing to provide much benefit without too much extra cost. Very high values of <tt>m</tt> (''e.g.'', <tt>m&gt;40</tt>) are typically unstable (due to too many additional extrapolations).
 
Another option to use XPIC(m) efficiently, is to you XPIC(m) projects periodically rather then on every time step.
 
== XPIC(m) Command ==
 


The drawback of XPIC is that each higher order of XPIC requires two extra extrapolations. XPIC is therefore less efficient than PIC or FLIP (or a [[Damping Options#PIC Damping|PIC damping]] linear combination of FLIP and PIC). In many problems, <tt>m=2</tt> already provides much improvement over PIC and reduces undesirable energy dissipation with minimal extra calculations. Larger <tt>m</tt> is often better with <tt>m=5</tt> appearing to provide much benefit without too much extra cost. Very high values of <tt>m</tt> (''e.g.'', <tt>m&gt;40</tt>) are typcially unstable (due to too many additional extrapolations).


XPIC is activated by using the <tt>XPICOrder</tt> setting in combination with activating PIC by having &beta;&lt;1 in a <tt>Damping</tt> or a <tt>PDamping</tt> command.
XPIC is activated by using the <tt>XPICOrder</tt> setting in combination with activating PIC by having &beta;&lt;1 in a <tt>Damping</tt> or a <tt>PDamping</tt> command.

Revision as of 19:37, 11 February 2018

XPIC(m) is an improved form of MPM, which is only available in OSParticulas.[1]. The page explains how to use XPIC(m) features.


Introduction

The PIC method can be described as applying a projection operator that modifies (and filters) particle velocities before updating them with the grid acceleration. The problem with PIC is that its projection operator filters most problems too heavily resulting in significant dissipation of energy. XPIC(m) is a new method that solves the energy dissipation problem, enhances overall stability of MPM, and reduces noise. XPIC(m) defines a series of new projection operators that can significantly reduce the over damping of PIC simulations. XPIC(m) is defined by an order m, where m=1 is PIC, m>1 is XPIC, and large m approaches an ideal FLIP method with all null-space noise removed. In other words, m from 1 to infinity provides an interpolation between PIC and optimized FLIP, but is probably a better interpolation than the simple linear combination provided by standard PIC damping.

Performance

The drawback of XPIC(m) is that each higher order of XPIC(m) requires an extra extrapolation. The extra calculations scale with m*N where N is the number of particles in the problem. XPIC is therefore less efficient than PIC or FLIP (or a PIC damping linear combination of FLIP and PIC). In many problems, m=2 already provides much improvement over PIC and reduces undesirable energy dissipation with minimal extra calculations. Larger m is often better with m=5 appearing to provide much benefit without too much extra cost. Very high values of m (e.g., m>40) are typically unstable (due to too many additional extrapolations).

Another option to use XPIC(m) efficiently, is to you XPIC(m) projects periodically rather then on every time step.

XPIC(m) Command

XPIC is activated by using the XPICOrder setting in combination with activating PIC by having β<1 in a Damping or a PDamping command. Note that XPIC can be used in combination with PIC damping where that method will now provide linear combination of fraction β FLIP and (1-β) of XPIC.

References

  1. C. Hammerquist and J. A. Nairn, "A New Method for Material Point Method Particle Updates that Reduces Noise and Enhanced Stability", Computer Methods in Applied Mechanics and Engineering, 318, 724-738 (2017).