PeriodicXPIC Custom Task

From OSUPDOCS
Jump to navigation Jump to search

A custom task to use XPIC(k) and FMPM(k) methods on all or selected time steps

Introduction

The XPIC(k)[1] and FMPM(k)[2] methods are advanced methods that filter out unwanted noise (in the null space) without damping out useful information. Their drawback is that they add calculation time as order k increases. Many simulations (especially those with stability issues) will run better by using XPIC(k) or FMPM(k). The XPIC(k) and FMPM(k) methods can be done every time step or only on periodic time steps. This custom tasks adds XPIC(k) or FMPM(k) to any simulation and lets you select the frequency of those calculations.

Using FMPM(k) or XPIC(k) For Mechanics

MPM simulations will use standard FLIP method be default. To switch to FMPM(k) or XPIC(k) for all time steps (or just for some), schedule this task and specify all needed parameters. In scripted files, a PeriodicXPIC custom task is scheduled with

CustomTask PeriodicXPIC
Parameter FMPMOrder,(order)
(... or Parameter XPICOrder,(order))
Parameter periodicSteps,(stepInterval)
Parameter periodicTime,(timeInterval)
Parameter periodicCFL,(CFLfactor)
Parameter verbose,{verbose}
Parameter GridBCOption,(BCoption)

In XML files, this task is scheduled using a <Schedule> element, which must be within the single <CustomTasks> block:

<Schedule name='PeriodicXPIC'>
   <Parameter name='FMPMOrder'>(order)</Parameter>
   <!-- or <Parameter name='XPICOrder'>(order)</Parameter>-->
   <Parameter name='periodicSteps'>(stepInterval)</Parameter>
   <Parameter name='periodicTime'>(timeInterval)</Parameter>
   <Parameter name='periodicCFL'>(CFLfactor)</Parameter>
   <Parameter name='verbose'>(verbose)</Parameter>
   <Parameter name='GridBCOption'>(BCoption)</Parameter>
</Schedule>

where the parameters are:

  • (order) - Enter FMPM or XPIC order (the k) to use when doing periodic FMPM(k) or XPIC(k) calculations. Select (order> using an FMPMOrder command to run using FMPM(k) or an XPICOrder command to run using XPIC(k). FMPM(k) is usually preferred; XPIC(k) is available mostly for comparisons to older methods.
  • (stepInterval), (timeInterval), and (CFLfactor) - sets the frequency for running periodic FMPM(k) or XPIC(k) time steps for mechanics. The (stepInterval) option sets number of time steps between each FMPM(k) or XPIC(k) time step, (timeInterval) sets frequency in alt time units, and (CFLfactor) sets frequency relative to the basic time step for the momentum equation. If (stepInterval) is used, it is used and the other two are ignored. If (stepInterval) is not used, the time step is found from the (CFLfactor) (if provided) or from (timeInterval). One of these three parameters is required to enable periodic FMPM(k) or XPIC(k) calculations.
  • (verbose) - If a non-zero integer, a comment line is printed in the output file every time FMPM(k) or XPIC(k) time steps are done. The default is 0.
  • (BCOption) - Use "lumped" to use lumped mass matrix methods for boundary conditions, "velocity" to only impose grid velocity conditions in the velocity field, or "combined" to do both. The default is "combined" for FMPM(k) and lumped for XPIC(k). Note that XPIC(k) cannot use "velocity" option (that setting will be changed to "lumped" if used). This option only affects calculations when (order) is greater than 1. The defaults are usually the best choice. Details on these options are in Ref. Cite error: Invalid <ref> tag; invalid names, e.g. too many

[2]

</references>

  1. Cite error: Invalid <ref> tag; no text was provided for refs named XPIC
  2. 2.0 2.1 J. A. Nairn and C. C. Hammerquist, "Material point method simulations using an approximate full mass matrix inverse," Computer Methods in Applied Mechanics and Engineering, in press (2021). (See PDF)