Difference between revisions of "TrackError Custom Task"

From OSUPDOCS
Jump to navigation Jump to search
Line 51: Line 51:
         . . .
         . . .
  </Schedule>
  </Schedule>
where the first two parameters, both of which are optional, are
* <tt>(timeInterval)</tt> - Enter the time interval (in [[ConsistentUnits Command#Legacy and Consistent Units|alt time units]]) between calculations of error metrics. If this parameter is omitted, the calculations are done on the same steps as the [[MPM Archiving Options|particle archives]].
* <tt>(firstTime)</tt> - Enter the time to start error metrics (in [[ConsistentUnits Command#Legacy and Consistent Units|alt time units]]). After this time is reached, subsequent archives will be spaced by the entered

Revision as of 22:42, 27 August 2019

A custom task to archive simulations results compared to theoretical predictions

Introduction

This tasks can compare particle values to a theoretical model and archive some metric for accuracy of the simulation. It is useful for tracking convergence of MPM simulations.

Simulation Error Metrics

Imagine a generic distance from particle value to a theoretical expectation for that value equal to [math]\displaystyle{ |x_p| }[/math]. For example, the distance could be difference between particle stress in the x directions and expected stress:

      [math]\displaystyle{ |x_p| = |\sigma_{p,xx} - \sigma_{xx}({\rm theory})| }[/math]

If the particle value is a vector, the distance would be a vector distance. For example, velocity distance would be:

      [math]\displaystyle{ |x_p| = \sqrt{\bigl(\vec V_p-\vec V({\rm theory})\bigr)\cdot\bigl(\vec V_p-\vec V({\rm theory})\bigr)} }[/math]

The P-norm for a give distance is defined as:

      [math]\displaystyle{ ||x||_P = \left( \sum_{p=1}^{N_p} |x_p|^P\right)^{1/P} }[/math]

where [math]\displaystyle{ N_p }[/math] is the number of particles. The root-mean-squared distance is defined as:

      [math]\displaystyle{ {\rm RMS} = \sqrt{{1\over N_p} \sum_{p=1}^{N_p} |x_p|^2} }[/math]

This task can archive mean P-norm values and RMS distances for any entered function of [math]\displaystyle{ |x_p|^P }[/math]. These mean values can be for each time step or cumulatively averaged over all time steps.

Task Scheduling

In scripted files, a TrackError custom task is scheduled using

CustomTask TrackError
Parameter archiveTime,(timeInterval)
Parameter firstArchiveTime,(firstTime)
Parameter P,(Pvalue)
Parameter Cumulative,(cumulative)
Parameter function,(xpPexpr)
   . . .

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

<Schedule name='TrackError'>
   <Parameter name='archiveTime'>(timeInterval)</Parameter>
   <Parameter name='firstArchiveTime'>(firstTime)</Parameter>
   <Parameter name='P'>(Pvalue)</Parameter>
   <Parameter name='cumulative'>(cumulative)</Parameter>
   <Parameter name='function'>(xpPexpr)</Parameter>
        . . .
</Schedule>

where the first two parameters, both of which are optional, are

  • (timeInterval) - Enter the time interval (in alt time units) between calculations of error metrics. If this parameter is omitted, the calculations are done on the same steps as the particle archives.
  • (firstTime) - Enter the time to start error metrics (in alt time units). After this time is reached, subsequent archives will be spaced by the entered