Difference between revisions of "PeriodicXPIC Custom Task"

From OSUPDOCS
Jump to navigation Jump to search
Line 28: Line 28:
where the parameters are:
where the parameters are:


* <tt>(stepInterval)</tt> and <tt>(timeInterval)</tt> - sets the frequency for running XPIC(m) calculation. The <tt>(stepInterval)</tt> option sets number of time steps between each XPIC(m) calculation while <tt>(timeInterval)</tt> sets frequency using a time (in Alt Time UNits).
* <tt>(stepInterval)</tt> and <tt>(timeInterval)</tt> - sets the frequency for running XPIC(m) calculation. The <tt>(stepInterval)</tt> option sets number of time steps between each XPIC(m) calculation while <tt>(timeInterval)</tt> sets frequency using in  [[ConsistentUnits Command#Legacy and Consistent Units|alt time units]]. If both are entered, the <tt>(stepInterval)</tt> is used.  
* <tt>(verbose)</tt> - If value is greater than 0.99, it will print the new time step whenever it changes by a factor equal to value of <tt>(verbose)</tt>. For backward compatibility, if entered value is 1, the report factor will set to 2 fold change in time step. If value is less than 0.99, the new time step is silently changed. The default it 0.
* <tt>(XPICOrder)</tt> and <tt>(fractionPIC)</tt> - Enter XPIC order (the m in XPIC(m)) and fraction XPIC(m) (0 to 1) to use when doing periodic XPIC(m) calculations. See  [[Damping Options]] for details on these settings.
* <tt>(Cvel)</tt> - Enter a different Courant–Friedrichs–Lewy factor to use for particle velocities. This parameter is optional. The default is for <tt>(Cvel)</tt> to be the same as the input [[MPM Methods and Simulation Timing#Theory: MPM Time Step|Courant–Friedrichs–Lewy (C)]].
* <tt>(verbose)</tt> - If a non-zero integer, a line is printed in output files every time XPIC(m) calculations are done. The default it 0.

Revision as of 23:59, 29 January 2018

A custom task to use XPIC(m) method on selected time steps

Introduction

The XPIC(m) method is an advanced damping method that filters out unwanted noise (in the null space) without damping out useful information. Its drawback is that it adds calculation time as m in XPIC(m) increases. In some simulations, it may not be necessary to use XPIC(m) update methods on every time step. This custom tasks lets you convert such simulations to use XPIC(m) periodically instead of on every time step.

Task Scheduling

The first step is to select default update method. Normally, the default method would be a standard FLIP method select using Damping commands be setting (fractionPIC) to 1. Next, you select an XPIC order (the m in XPIC(m)) and frequency to run the XPIC(m) calculations. In scripted files, a PeriodicXPIC custom task is scheduled with

CustomTask PeriodicXPIC
Parameter periodicSteps,(stepInterval)
Parameter periodicTime,(timeInterval)
Parameter XPICOrder,(order)
Parameter fractionPIC,(fractionPIC)
Parameter verbose,{verbose}

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

<Schedule name='PeriodicXPIC'>
   <Parameter name='periodicSteps'>(stepInterval)</Parameter>
   <Parameter name='periodicTime'>(timeInterval)</Parameter>
   <Parameter name='XPICOrder'>(order)</Parameter>
   <Parameter name='fractionPIC'>(fractionPIC)</Parameter>
   <Parameter name='verbose'>(verbose)</Parameter>
</Schedule>

where the parameters are:

  • (stepInterval) and (timeInterval) - sets the frequency for running XPIC(m) calculation. The (stepInterval) option sets number of time steps between each XPIC(m) calculation while (timeInterval) sets frequency using in alt time units. If both are entered, the (stepInterval) is used.
  • (XPICOrder) and (fractionPIC) - Enter XPIC order (the m in XPIC(m)) and fraction XPIC(m) (0 to 1) to use when doing periodic XPIC(m) calculations. See Damping Options for details on these settings.
  • (verbose) - If a non-zero integer, a line is printed in output files every time XPIC(m) calculations are done. The default it 0.