Difference between revisions of "TrackError Custom Task"
Line 28: | Line 28: | ||
This task can archive mean P-norm values and RMS distances for any entered function of <math>|x_p|^P</math>. These mean values can be for each time step or cumulatively averaged over all time steps. | This task can archive mean P-norm values and RMS distances for any entered function of <math>|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 <tt>TrackError</tt> custom task is scheduled using | |||
CustomTask TrackError | |||
Parameter archiveTime,(timeInterval) | |||
Parameter firstArchiveTime,(firstTime) | |||
Parameter P,(Pvalue) | |||
Parameter Cumulative,(cumulative) | |||
Parameter function,(xpPexpr) | |||
. . . | |||
In <tt>XML</tt> files, this tasks is scheduled using a <tt>Schedule</tt> element, which must be within the single <tt><CustomTasks></tt> 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> |
Revision as of 21:32, 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>