diff --git a/doc/theory_manual/Makefile b/doc/theory_manual/Makefile index a1c9479474..f393f5a98c 100644 --- a/doc/theory_manual/Makefile +++ b/doc/theory_manual/Makefile @@ -1,6 +1,6 @@ SRCFILE = raven_theory_manual LATEX_FLAGS=-shell-escape -GUIDE_FILES = raven_theory_manual.tex statisticalAnalysis.tex forwardSampling.tex adaptiveSampling.tex dataMining.tex reducedOrderModeling.tex ravenStructure.tex introduction.tex ../version.tex +GUIDE_FILES = raven_theory_manual.tex statisticalAnalysis.tex forwardSampling.tex adaptiveSampling.tex dataMining.tex reducedOrderModeling.tex ravenStructure.tex introduction.tex dssPostProcessor.tex ../version.tex MAKE_DIR = $(shell pwd) #all: raven_theory_manual.pdf diff --git a/doc/theory_manual/dssPostProcessor.tex b/doc/theory_manual/dssPostProcessor.tex new file mode 100644 index 0000000000..c55994f192 --- /dev/null +++ b/doc/theory_manual/dssPostProcessor.tex @@ -0,0 +1,113 @@ +\section{Dynamical System Scaling} +\label{sec:dssdoc} + +The DSS approach to system scaling is based on transforming the typical view of processes to a special coordinate system in terms of the parameter of interest and its agents of change \cite{DSS2015}. +By parameterizing using a time term that will be introduced later in this section, data reproduced can be converted to the special three coordinate system (also called the phase space) +and form a geometry with curves along the surface containing invariant and intrinsic properties. The remainder of this section is a review of DSS theory introduced in publications +by Reyes \cite{DSS2015,Reyes2015,Martin2019} and is used in this analysis for FR scaling. The parameter of interest is defined to be a conserved quantity within a control volume: +\begin{equation} + \label{eq_1} + \beta(t)=\frac{1}{\Psi_{0}}\iiint_{V}{\psi\left(\vec{x},t\right)}dV +\end{equation} +$\beta$ is defined as the volume integral of the time and space dependent conserved quantity $\psi$ normalized by a time-independent value, $\Psi_{0}$, that characterizes the process. The agents of change are defined as the first derivative of the normalized parameter of interest: +\begin{equation} + \label{eq_2} + \omega=\frac{1}{\Psi_{0}}\frac{d}{dt}\iiint_{V}{\psi\left(\vec{x},t\right)}dV=\iiint_{V}{\left(\phi_{v}+\phi_{f}\right)}dV+\iint_{A}{\left(\vec{j}\cdot\vec{n}\right)}dA-\iint_{A}{\psi\left(\vec{v}-\vec{v}_{s}\cdot\vec{n}dA\right)}dA +\end{equation} +The change is categorized into three components; volumetric, surface, and quantity transport. The agents of change is also the sum of the individual agent of change: +\begin{equation} + \omega=\frac{1}{\Psi_{0}}\frac{d}{dt}\iiint_{V}{\psi\left(\vec{x},t\right)}dV=\sum^{n}_{i=1}{\omega_{i}} +\end{equation} +The relation of $\omega$ and $\beta$ is the following: +\begin{equation} + \label{eq_3} + \omega(t)=\left.\frac{d\beta}{dt}\right|_{t}=\sum^{n}_{i=1}{\omega_{i}} +\end{equation} +Where $\omega$ is the first derivative of reference time. As defined in Einstein and Infeld, time is a value stepping in constant increments \cite{Einstein1966}. The process dependent term in DSS is called process time: +\begin{equation} + \label{eq_4} + \tau(t)=\frac{\beta(t)}{\omega(t)} +\end{equation} +To measure the progression difference between reference time and process time in respect to reference time, the idea of temporal displacement rate (D) is adopted: +\begin{equation} + \label{eq_5} + D=\frac{d\tau-dt}{dt}=-\frac{\beta}{\omega^{2}}\frac{d\omega}{dt} +\end{equation} +The interval of process time is: +\begin{equation} + \label{eq_8} + d\tau=\tau_{s}=\left(1+D\right)dt +\end{equation} +Applying the process action to normalize the phase space coordinates gives the following normalized terms: +\begin{equation} + \label{eq_10} + \tilde{\Omega}=\omega\tau_{s},\qquad \tilde{\beta}=\beta,\qquad \tilde{t}=\frac{t}{\tau_{s}},\qquad \tilde{\tau}=\frac{\tau}{\tau_{s}},\qquad + \tilde{D}=D +\end{equation} +The scaling relation between the prototype and model can be defined both for $\beta$ and $\omega$ and represents the scaling of the parameter of interest and the corresponding agents of change (or frequency given from the units of per time): +\begin{equation} + \label{eq_11} + \lambda_{A}=\frac{\beta_{M}}{\beta_{P}},\qquad \lambda_{B}=\frac{\omega_{M}}{\omega_{P}} +\end{equation} +The subscripts $M$ and $P$ stand for the model and prototype. Applying these scaling ratios to equations (\ref{eq_4}), (\ref{eq_5}), and (\ref{eq_10}) provides the scaling ratios for other parameters as well: +\begin{equation} + \label{eq_12} + \frac{t_{M}}{t_{P}}=\frac{\lambda_{A}}{\lambda_{B}},\qquad \frac{\tau_{M}}{\tau_{P}}=\frac{\lambda_{A}}{\lambda_{B}},\qquad \frac{\tilde{\beta}_{M}}{\tilde{\beta}_{P}}=\lambda_{A},\qquad \frac{\tilde{\Omega}_{M}}{\tilde{\Omega}_{P}}=\lambda_{A},\qquad \frac{\tilde{\tau}_{M}}{\tilde{\tau}_{P}}=1,\qquad \frac{D_{M}}{D_{P}}=1 +\end{equation} +Normalized agents of change is the sum in the same respect: +\begin{equation} + \label{eq_18} + \Omega=\sum^{k}_{i=1}{\Omega_{i}} +\end{equation} +The ratio of $\Omega$ is expressed in the following alternate form: +\begin{equation} + \label{eq_19} + \Omega_{R}=\frac{\Omega_{M}}{\Omega_{P}}=\frac{\sum^{k}_{i=1}{\Omega_{M,i}}}{\sum^{k}_{i=1}{\Omega_{P,i}}}=\frac{\Omega_{M,1}+\Omega_{M,2}+...+\Omega_{M,k}}{\Omega_{P,1}+\Omega_{P,2}+...+\Omega_{P,k}} +\end{equation} +By the law of scaling ratios, The following must be true: +\begin{equation} + \label{eq_13} + \lambda_{A}=\frac{\Omega_{M,1}}{\Omega_{P,1}},\lambda_{A}=\frac{\Omega_{M,2}}{\Omega_{P,2}},...,\lambda_{A}=\frac{\Omega_{M,k}}{\Omega_{P,k}} +\end{equation} +Depending on the scaling ratio values, From Reyes, the scaling methods and similarity criteria is subdivided into five categories; 2-2 affine, dilation, $\beta$-strain, $\omega$-strain, and identity \cite{DSS2015}. +Table \ref{DSS:table_1} summarizes the similarity criteria. Despite the five categories, in essence, all are 2-2 affine with exceptions of partial scaling ratios values being 1. +\begin{table}[H] +\centering +\begin{tabular}{c|c|c|c|c} +\hline +%\rowcolor{lightgray} +\multicolumn{5}{c}{Basis for Process Space-time Coordinate Scaling}\\ +\hline +Metric & \multirow{2}{*}{$d\tilde{\tau}_{P}=d\tilde{\tau}_{P}$} & \multirow{2}{*}{And} & Covariance & \multirow{2}{*}{$\frac{1}{\omega_{P}}\frac{d\beta_{P}}{dt_{P}}=\frac{1}{\omega_{M}}\frac{d\beta_{M}}{dt_{M}}$} \\ +Invariance & & & Principle & \\ +\hline +\multicolumn{5}{c}{$\beta-\omega$ Coordinate Transformations}\\ +\hline +2-2 Affine & Dilation & $\beta$-Strain & $\omega$-Strain & Identity \\ +$\beta_{R}=\lambda_{A}$ & $\beta_{R}=\lambda$ & $\beta_{R}=\lambda_{A}$ & $\beta_{R}=1=\lambda_{B}$ & $\beta_{R}=1$ \\ +$\omega_{R}=\lambda_{B}$ & $\omega_{R}=\lambda$ & $\omega_{R}=1$ & $\omega_{R}=\lambda_{B}$ & $\omega_{R}=1$ \\ +\hline +\multicolumn{5}{c}{Similarity Criteria}\\ +\hline +$\tilde{\Omega}_{R}=\lambda_{A}$ & $\tilde{\Omega}_{R}=\lambda$ & $\tilde{\Omega}_{R}=\lambda_{A}$ & $\tilde{\Omega}_{R}=1$ & $\tilde{\Omega}_{R}=1$ \\ +$\tau_{R}=t_{R}=\frac{\lambda_{A}}{\lambda_{B}}$ & $\tau_{R}=t_{R}=1$ & $\tau_{R}=t_{R}=\lambda_{A}$ & $\tau_{R}=t_{R}=\frac{1}{\lambda_{B}}$ & $\tau_{R}=t_{R}=1$ \\ +\hline +\end{tabular} +\caption{Scaling Methods and Similarity Criteria Resulting from Two-Parameter Transformations \cite{DSS2015}}\label{DSS:table_1} +\end{table} +The separation between both process curves along the constant normalized process time is the local distortion \cite{Martin2019}: +\begin{equation} + \label{eq_15} + \tilde{\eta}_{k}=\beta_{P_{k}}\sqrt{\varepsilon D_{P_{k}}}\left[\frac{1}{\Omega_{P_{k}}}-\frac{\lambda_{A}}{\Omega_{M_{k}}}\right] +\end{equation} +Where $\epsilon$ is a sign adjuster ensuring positive values within the square root. The total distortion is: +\begin{equation} + \label{eq_16} + \tilde{\eta}_{T}=\sum^{N}_{k=1}{\left|\tilde{\eta}_{k}\right|} +\end{equation} +And, the equivalent standard deviation is: +\begin{equation} + \label{eq_17} + \sigma_{est}=\sqrt{\frac{1}{N}\sum^{N}_{k=1}{\tilde{\eta}^{2}_{k}}} +\end{equation} + diff --git a/doc/theory_manual/raven_theory_manual.bib b/doc/theory_manual/raven_theory_manual.bib index 5838b9914a..5808168e27 100644 --- a/doc/theory_manual/raven_theory_manual.bib +++ b/doc/theory_manual/raven_theory_manual.bib @@ -2,10 +2,35 @@ %% http://bibdesk.sourceforge.net/ -%% Created for Andrea Alfonsi at 2015-01-21 08:58:35 -0700 +%% Created for Andrea Alfonsi at 2015-01-21 08:58:35 -0700 -%% Saved with string encoding Unicode (UTF-8) +%% Saved with string encoding Unicode (UTF-8) + +@book{Einstein1966, + author = {A. Einstein and L. Infeld}, + title = {{The Evolution of Physics from early concepts to relativity and quanta}}, + year = {1966}, + publisher = {Simon and Schuster Publisher}, + address = {New York, NY}}} + +@article{Reyes2015, + author = {J.N. Reyes and Cesear Frepoli and J.P. Yurko}, + title = {{The Dynamical System Scaling Methodology: Comparing Dimensionless Governing Equations with the H2TS and FSA Methodologies}}, + journal = {The 16th International Topical Meeting on Nuclear Thermal Hydraulics (NURETH-16)}, + year = {2015}} + +@book{Martin2019, + author = {R.P. Martin and C. Frepoli}, + title = {{Design-Basis Accident Analysis Methods for Light-Water Nuclear Power Plants}}, + year = {2019}, + publisher = {World Scientific}} + +@article{DSS2015, + author = {J.N. Reyes}, + title = {{T}he {D}ynamical {S}ystem {S}caling {M}ethodology}, + journal = {The 16th International Topical Meeting on Nuclear Thermal Hydraulics (NURETH-16)}, + year = {2015}} @Book{StochasticMethods, author = {C. Gardiner}, @@ -216,53 +241,53 @@ @article{benchmark year={1968} } -@article{SCLagrange, -auTHor = "Babuska and Nobile and Tempone", -Title = "{A stochastic collocation method for elliptic partial differential equations with random input data}", +@article{SCLagrange, +auTHor = "Babuska and Nobile and Tempone", +Title = "{A stochastic collocation method for elliptic partial differential equations with random input data}", journal = "SIAM Journal on Numerical Analysis", volume = 45, -YEAR = 2007, -} +YEAR = 2007, +} -@article{hdmr, -auTHor = "Li and Rosenthal and Rabitz", -Title = "{High dimensional model representations}", +@article{hdmr, +auTHor = "Li and Rosenthal and Rabitz", +Title = "{High dimensional model representations}", journal = "J. Phys. Chem. A", volume = 105, -YEAR = 2001, -} +YEAR = 2001, +} -@article{hdmr_neutron, -auTHor = "Hu and Smith and Willert and Kelley", -Title = "{High dimensional model representations for the neutron transport equation}", +@article{hdmr_neutron, +auTHor = "Hu and Smith and Willert and Kelley", +Title = "{High dimensional model representations for the neutron transport equation}", journal = "NS\&E", volume = 177, -YEAR = 2014, -} +YEAR = 2014, +} #no TD or HC, just SC -@article{sparseSC, -auTHor = "Nobile and Tempone and Webster", -Title = "{A sparse grid stochastic collocation method for partial differential equations with random input data}", +@article{sparseSC, +auTHor = "Nobile and Tempone and Webster", +Title = "{A sparse grid stochastic collocation method for partial differential equations with random input data}", journal = "SIAM Journal on Numerical Analysis", volume = 46, -YEAR = 2008, -} +YEAR = 2008, +} -@article{sparse1, -auTHor = "Barthelmann and Novak and Ritter", -Title = "{High dimensional polynomial interpolation on sparse grids}", +@article{sparse1, +auTHor = "Barthelmann and Novak and Ritter", +Title = "{High dimensional polynomial interpolation on sparse grids}", journal = "Advances in Computational Mathematics", volume = 12, -YEAR = 2000, -} +YEAR = 2000, +} -@article{sparse2, -auTHor = "Bungartz and Griebel", -Title = "{Sparse grids}", +@article{sparse2, +auTHor = "Bungartz and Griebel", +Title = "{Sparse grids}", journal = "Acta Numerica", volume = 13, -YEAR = 2004, +YEAR = 2004, } @book{textbook, @@ -274,20 +299,20 @@ @book{textbook Title = {Spectral methods for uncertainty quantification with applications to computational fluid dynamics}, Year = {2010}}​ -@article{erin01, -auTHor = "Fichtl and Prinja", -Title = "{The stochastic collocation method for radiation transport in random media}", +@article{erin01, +auTHor = "Fichtl and Prinja", +Title = "{The stochastic collocation method for radiation transport in random media}", journal = "J. Quantitative Spectroscopy \& Radiative Transfer", volume= 12, -YEAR = 2011, +YEAR = 2011, } -@article{mike01, -auTHor = "Rising and Prinja and Talou", -Title = "{Prompt fission neutron spectrum uncertainty propagation using polynomial chaos expansion}", +@article{mike01, +auTHor = "Rising and Prinja and Talou", +Title = "{Prompt fission neutron spectrum uncertainty propagation using polynomial chaos expansion}", journal = "Nucl. Sci. Eng.", volume= 175, -YEAR = 2013, +YEAR = 2013, } @TechReport{RAVENuserManual, @@ -497,11 +522,11 @@ @article{SVM_Burges issn = {1384-5810}, pages = {121--167}, publisher = {Kluwer Academic Publishers}, -} +} @article{MD_spline, title = {Multidimensional Spline Interpolation: Theory and Applications}, - author = {Habermann, Christian and Kindermann, Fabian}, + author = {Habermann, Christian and Kindermann, Fabian}, year = {2007}, journal = {Computational Economics}, volume = {30}, @@ -537,7 +562,7 @@ @inproceedings{Shepard pages = {517--524}, publisher = {ACM}, address = {New York, NY, USA} -} +} @misc{PBS, Date-Added = {2015-01-20 19:25:37 +0000}, @@ -772,7 +797,7 @@ @inproceedings{ANS2014alf Date-Added = {2013-01-29 22:01:50 +0000}, Title = {Performing Probabilist Risk Assessment Through RAVEN}, Year = {2014}} - + @inproceedings{ANS2014alfADET, Author = {A. Alfonsi and C. Rabiti and D. Mandelli and J. Cogliati and B. Kinoshita}, Booktitle = {Proceedings American Nuclear Society 2014 Winter Meeting Nuclear-The Foundation of Clean Energy, Anaheim, CA, (2014)}, @@ -793,7 +818,7 @@ @TechReport{RELAP5userManual OPTnote = {•}, annote = {rev.7} } - + @article{Bailey2018, Author = {Paul Bailey and Ahmad Emad and Ting Zhang and Qingshu Xie and Emmanuel Sikali}, Date-Added = {2021-10-29 22:01:18 +0000}, diff --git a/doc/theory_manual/raven_theory_manual.tex b/doc/theory_manual/raven_theory_manual.tex index a611e77b96..5eb138a645 100644 --- a/doc/theory_manual/raven_theory_manual.tex +++ b/doc/theory_manual/raven_theory_manual.tex @@ -37,6 +37,9 @@ \usepackage{lscape} \usepackage[toc,page]{appendix} \usepackage{RAVEN} +\usepackage{tabls} +\usepackage{multirow} +\usepackage{float} \newtheorem{mydef}{Definition} \newcommand{\norm}[1]{\lVert#1\rVert} @@ -404,6 +407,7 @@ \input{reducedOrderModeling.tex} \input{statisticalAnalysis.tex} \input{dataMining.tex} +\input{dssPostProcessor.tex} \clearpage \begin{appendices} \section{Document Version Information} diff --git a/doc/user_manual/metrics.tex b/doc/user_manual/metrics.tex index edf3c4082b..5df36ad6fa 100644 --- a/doc/user_manual/metrics.tex +++ b/doc/user_manual/metrics.tex @@ -70,8 +70,7 @@ \section{Metrics} \item \textbf{Other metric}, such as \xmlString{DTW}. \end{itemize} -The valid \textbf{MetricID}s are: \xmlAttr{SKL}, \xmlAttr{ScipyMetric}, \xmlAttr{DTW}, \xmlAttr{CDFAreaDifference}, -and \xmlAttr{PDFCommonArea}. This XML node requires the following attributes: +The valid \textbf{MetricID}s are: \xmlAttr{SKL}, \xmlAttr{ScipyMetric}, \xmlAttr{DTW}, \xmlAttr{CDFAreaDifference}, \xmlAttr{PDFCommonArea}, and \xmlAttr{DSS}. This XML node requires the following attributes: \begin{itemize} \item \xmlAttr{name}, \xmlDesc{required string attribute}, user-defined name of this metric. \nb As with other objects, this name can be used to refer to this specific entity from other input blocks in the XML. @@ -599,3 +598,25 @@ \subsubsection{Distance Based Metric} In addition to this XML subnode, the users can also specify the corresponding parameters for each `metric' according to previous sections. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Dynamical System Scaling} +\label{subsection:DSS} +The Dynamical System Scaling (DSS) is a distance metrics that is used to measure the separation +between two time-dependent data sets. + +The specifications of a DSS metric is defined within the \xmlNode{Metric} XML block. The XML node \xmlAttr{subType} must be \textbf{PPDSS} (see \ref{subsubsec:Validation}) in the \xmlNode{PostProcessor} for the outputs of the post-processor to be in the right format for DSS metric inputs. + +An example of DSS defined in RAVEN is provided below: +\begin{lstlisting}[style=XML] + + ... + + ... + + + ... + + ... + +\end{lstlisting} diff --git a/doc/user_manual/postprocessor.tex b/doc/user_manual/postprocessor.tex index 72a39131ae..8b6232af3f 100644 --- a/doc/user_manual/postprocessor.tex +++ b/doc/user_manual/postprocessor.tex @@ -1622,16 +1622,16 @@ \subsubsection{Validation} dataset and/or models (e.g. Distributions). The post-processor is in charge of deploying a common infrastructure for the user of \textbf{Validation} problems. -Several algorithms are avaialable within this post-processor: +Several algorithms are available within this post-processor: \begin{itemize} \item \textbf{Probabilistic}, for Static and Time-dependent data - % \item \textbf{DSS} + \item \textbf{PPDSS}, for Time-dependent data % \item \textbf{Representativity} % \item \textbf{PCM} \end{itemize} % -The \textbf{Validation} post-processor makes use of the \textbf{Metric} system (See Chapter \ref{sec:Metrics}) to, in conjucntion with the specific algorithm chosen from the list above, +The \textbf{Validation} post-processor makes use of the \textbf{Metric} system (See Chapter \ref{sec:Metrics}) to, in conjunction with the specific algorithm chosen from the list above, to report validation scores for both static and time-dependent data. Indeed, Both \textbf{PointSet} and \textbf{HistorySet} can be accepted by this post-processor (depending on which algorithm is chosen). If the name of given variable to be compared is unique, it can be used directly, otherwise the variable can be specified @@ -1654,13 +1654,36 @@ \subsubsection{Validation} The choice of the available metrics depends on the specific validation algorithm that is chosen (see table \ref{tab:ValidationAlgorithms}) \end{itemize} -In addition to the nodes above, the user must choose a validation algorithm: +In addition to the nodes above, the user must use the sub-nodes specific to the chosen validation algorithm: \begin{itemize} - \item \xmlNode{Probabilistic}, \xmlDesc{XML node, optional field}, specify that the validation needs to be performed + \item Probabilistic: specify that the validation needs to be performed using the Probabilistic metrics: \textbf{CDFAreaDifference} (see \ref{subsubsec:metric_CDFAreaDifference}) or \textbf{PDFCommonArea} (see \ref{subsubsec:metric_PDFCommonArea}) - This xml-node accepts the following attribute: + This validation algorithm must have the following sub-nodes for HistorySet: \begin{itemize} - \item \xmlAttr{ name}, \xmlDesc{required string attribute}, the user defined name of the validation algorithm used as prefix for the output results. + \item \xmlNode{pivotParameter}, \xmlDesc{string, required field}, specifies the pivotParameter for a . The pivot parameter is the shared index of the output variables in the data object. + \end{itemize} + \item PPDSS: specify that the validation needs to be performed + using the PPDSS metrics: \textbf{DSS} (\ref{subsection:DSS}) + This validation algorithm must have the following sub-nodes: + \begin{itemize} + \item \xmlNode{pivotParameterFeature}, \xmlDesc{string, required field}, specifies the pivotParameter for a feature . The feature pivot parameter is the shared index of the output variables in the data object. + \item \xmlNode{pivotParameterTarget}, \xmlDesc{string, required field}, specifies the pivotParameter for a target . The target pivot parameter is the shared index of the output variables in the data object. + \item \xmlNode{multiOutput}, \xmlDesc{string, required field}, to extract raw values for the HistorySet. The user must use ‘raw values’ for the full set of metrics’ calculations to be dumped. + \item \xmlNode{scale}, \xmlDesc{string, required field}, specifies the type of time scaling. The following are the options for scaling (specific definitions for each scaling type is provided in \ref{sec:dssdoc}): + \begin{itemize} + \item \textbf{DataSynthesis}, calculating the distortion for two data sets without applying other scaling ratios. + \item \textbf{2\_2\_affine}, calculating the distortion for two data sets with scaling ratios for parameter of interest and agent of changes. + \item \textbf{dilation}, calculating the distortion for two data sets with scaling ratios for parameter of interest and agent of changes. + \item \textbf{beta\_strain}, calculating the distortion for two data sets with scaling ratio for parameter of interest. + \item \textbf{omega\_strain}, calculating the distortion for two data sets with scaling ratios for agent of changes. + \item \textbf{identity}, calculating the distortion for two data sets with scaling ratios of 1. + \end{itemize} + \item \xmlNode{scaleBeta}, \xmlDesc{float or comma separated list of floats, required field}, specifies the parameter of interest scaling ratio between the feature and target. + To provide more than one scaling factor, separate by adding a comma in between each number. Providing more than one scaling factor presumes there are more than one parameter to be post-processed. + If so, \xmlNode{Features}, \xmlNode{Targets}, and \xmlNode{scaleOmega} must have the same number scaling factors. + \item \xmlNode{scaleOmega}, \xmlDesc{float or comma separated list of floats, required field}, specifies the agents of change scaling ratio between the feature and target. + To provide more than one scaling factor, separate by adding a comma in between each number. Providing more than one scaling factor presumes there are more than one parameter to be post-processed. + If so, \xmlNode{Features}, \xmlNode{Targets}, and \xmlNode{scaleBeta} must have the same number scaling factors. \end{itemize} %\item \xmlNode{DSS}, \xmlDesc{XML node, optional field}, specify that the validation needs to be performed via DSS. %This xml-node accepts the following attribute: @@ -1680,7 +1703,7 @@ \subsubsection{Validation} \hline \textbf{Validation Algorithm} & \textbf{DataObject} & \textbf{Available Metrics} \\ \hline Probabilistic & \begin{tabular}[c]{@{}c@{}}PointSet \\ HistorySet\end{tabular} & \begin{tabular}[c]{@{}c@{}}CDFAreaDifference\\ \\ PDFCommonArea\end{tabular} \\ \hline -DSS & HistorySet & Not Available Yet \\ \hline +PPDSS & HistorySet & DSS \\ \hline \end{tabular} \end{table} diff --git a/doc/user_manual/raven_user_manual.tex b/doc/user_manual/raven_user_manual.tex index 4bf52be6b6..7286ec41d9 100644 --- a/doc/user_manual/raven_user_manual.tex +++ b/doc/user_manual/raven_user_manual.tex @@ -270,6 +270,7 @@ \\Matteo Donorio (new external code interface) \\Fabio Giannetti (new external code interface) \\Jia Zhou (conjugate gradient optimizer) +\\Ramon K. Yoshiura (DSS validation code) } % \\James B. Tompkins} Just people who actually ``developed'' a significant capability in the code should be placed here. Andrea %\author{\textbf{\textit{Main Developers:}} \\Andrea Alfonsi} diff --git a/framework/MetricDistributor.py b/framework/MetricDistributor.py index f6a0215f61..fff1a3463b 100644 --- a/framework/MetricDistributor.py +++ b/framework/MetricDistributor.py @@ -138,6 +138,16 @@ def evaluate(self,pairedData, weights = None, multiOutput='mean',**kwargs): targIn = targVals[:,hist] out = self.estimator.evaluate(featIn, targIn) dynamicOutput.append(out) + elif self.estimator.isInstanceString(['DSS']): + featVals = np.asarray(feat) + targVals = np.asarray(targ) + assert(featVals.shape[0] == targVals.shape[0]) + assert(featVals.shape[1] == targVals.shape[1]) + assert(featVals.shape[2] == targVals.shape[2]) + if self.canHandleDynamicData: + dynamicOutput = self.estimator.evaluate(featVals, targVals) + else: + self.raiseAnError(IOError, "Must Handle Dynamic Data!") else: self.raiseAMessage('Using non-PDF/CDF metrics ...') featVals = np.asarray(feat[0]) diff --git a/framework/Metrics/metrics/DSS.py b/framework/Metrics/metrics/DSS.py new file mode 100644 index 0000000000..a7d877a7e4 --- /dev/null +++ b/framework/Metrics/metrics/DSS.py @@ -0,0 +1,112 @@ +# Copyright 2017 Battelle Energy Alliance, LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Created on December 20 2020 + +@author: yoshrk +""" +#External Modules------------------------------------------------------------------------------------ +import numpy as np +import copy +#External Modules End-------------------------------------------------------------------------------- + +#Internal Modules------------------------------------------------------------------------------------ +from .MetricInterface import MetricInterface +from utils import InputData, InputTypes +#Internal Modules End-------------------------------------------------------------------------------- + +class DSS(MetricInterface): + """ + Dynamical System Scaling Metric + Class for measuring the metric between two instantaneous data points at the same (or approximate) process time + @ Data Synthesis or Engineering Scaling. + @ Data Synthesis is the act to measure the metric between data sets that are presumed to be equivalent in phenomena, + in reference time, and initial/boundary conditions. Essentially, both data sets are expected to be equivalent. + For the sake of data comparison with no intentions to match data but only to measure the metric, this model may be + used as well. + @ For engineering scaling, although the phenomena are equivalent, the reference time and initial/boundary conditions + are different. Both sets are tied by process time only. + @ In either case, if the to be compared data sets are of little relevance, it is most likely DSS will fail to + measure the metric distance accurately. + """ + + @classmethod + def getInputSpecification(cls): + """ + Method to get a reference to a class that specifies the input data for + class cls. + @ In, cls, the class for which we are retrieving the specification + @ Out, inputSpecification, InputData.ParameterInput, class to use for + specifying input of cls. + """ + inputSpecification = super().getInputSpecification() + return inputSpecification + + def __init__(self): + """ + Constructor + @ In, None + @ Out, None + """ + super().__init__() + # True indicates the metric needs to be able to handle dynamic data + self._dynamicHandling = True + # True indicates the metric needs to be able to handle pairwise data + self._pairwiseHandling = False + + def run(self, x, y, weights=None, axis=0, **kwargs): + """ + This method computes DSS distance between two inputs x and y based on given metric + @ In, x, numpy.ndarray, array containing data of x, 3D array provided. + Includes [scaled feature omega normalized,scaled normalized feature process time,feature beta] for + all samples and time-steps. + @ In, y, numpy.ndarray, array containing data of y, 3D array provided. + Includes [target omega normalized,target temporal displacement rate,target beta] for + all samples and time-steps. + @ In, weights, array_like (numpy.array or list), optional, weights associated + with input, shape (n_samples) if axis = 0, otherwise shape (n_time_steps) + @ In, axis, integer, optional, axis along which a metric is performed, default is 0, + i.e. the metric will performed along the first dimension (the "rows"). + If metric postprocessor is used, the first dimension is the RAVEN_sample_ID, + and the second dimension is the pivotParameter if HistorySet is provided. + @ In, kwargs, dict, dictionary of parameters characteristic of each metric + @ Out, value, float, metric result + """ + assert (isinstance(x, np.ndarray)) + assert (isinstance(y, np.ndarray)) + tempX = x + tempY = y + omegaNormTarget = tempX[0] + omegaNormScaledFeature = tempY[0] + pTime = tempX[1] + D = tempY[1] + betaFeature = tempX[2] + betaTarget = tempX[2] + distance = np.zeros((pTime.shape)) + distanceSum = np.zeros((pTime.shape[0])) + sigma = np.zeros((pTime.shape[0])) + for cnt in range(len(pTime)): + distanceSquaredSum = 0 + for cnt2 in range(len(pTime[cnt])): + if D[cnt][cnt2] == 0 or omegaNormTarget[cnt][cnt2] == 0 or omegaNormScaledFeature[cnt][cnt2] == 0: + distance[cnt][cnt2] = 0 + else: + distance[cnt][cnt2] = betaTarget[cnt][cnt2]*abs(D[cnt][cnt2])**0.5*(1/omegaNormTarget[cnt][cnt2]-1/omegaNormScaledFeature[cnt][cnt2]) + if np.isnan(distance[cnt][cnt2]) == True: + distance[cnt][cnt2] = 0 + distanceSum[cnt] += abs(distance[cnt][cnt2]) + distanceSquaredSum += distance[cnt][cnt2]**2 + sigma[cnt] = (1/len(sigma)*distanceSquaredSum)**0.5 + value = distance + return value diff --git a/framework/Metrics/metrics/Factory.py b/framework/Metrics/metrics/Factory.py index 2e705f735d..6c1b6a0984 100644 --- a/framework/Metrics/metrics/Factory.py +++ b/framework/Metrics/metrics/Factory.py @@ -25,6 +25,7 @@ from .CDFAreaDifference import CDFAreaDifference from .PDFCommonArea import PDFCommonArea from .ScipyMetric import ScipyMetric +from .DSS import DSS factory = EntityFactory('Metrics') factory.registerAllSubtypes(MetricInterface) diff --git a/framework/Models/PostProcessors/Factory.py b/framework/Models/PostProcessors/Factory.py index 0c99ac797f..2e45d3640c 100644 --- a/framework/Models/PostProcessors/Factory.py +++ b/framework/Models/PostProcessors/Factory.py @@ -37,6 +37,7 @@ from .EconomicRatio import EconomicRatio from .ValidationBase import ValidationBase from .Validations import Probabilistic +from .Validations import PPDSS from .TSACharacterizer import TSACharacterizer ### PostProcessorFunctions (orig: InterfacedPostProcessor) diff --git a/framework/Models/PostProcessors/Validations/PPDSS.py b/framework/Models/PostProcessors/Validations/PPDSS.py new file mode 100644 index 0000000000..32d93200e5 --- /dev/null +++ b/framework/Models/PostProcessors/Validations/PPDSS.py @@ -0,0 +1,410 @@ +# Copyright 2017 Battelle Energy Alliance, LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Created on January XX, 2021 + +@author: yoshrk +""" +#External Modules------------------------------------------------------------------------------------ +import numpy as np +from scipy.interpolate import interp1d +from scipy.integrate import simps +import xarray as xr +import os +from collections import OrderedDict +import itertools +import copy +#External Modules End-------------------------------------------------------------------------------- + +#Internal Modules------------------------------------------------------------------------------------ +from utils import utils +from utils import InputData, InputTypes +from utils import xmlUtils +import Files +import DataObjects +from ..ValidationBase import ValidationBase +#Internal Modules End-------------------------------------------------------------------------------- + +class PPDSS(ValidationBase): + """ + DSS Scaling class. + """ + @classmethod + def getInputSpecification(cls): + """ + Method to get a reference to a class that specifies the input data for + class cls. + @ In, cls, the class for which we are retrieving the specification + @ Out, inputSpecification, InputData.ParameterInput, class to use for + specifying input of cls. + """ + inputSpecification = super(PPDSS, cls).getInputSpecification() + # Have added the new pivotParameters for feature and target. The original has been commented out. + pivotParameterFeatureInput = InputData.parameterInputFactory("pivotParameterFeature", contentType=InputTypes.StringType, + descr="""Pivot parameter for feature inputs""") + inputSpecification.addSub(pivotParameterFeatureInput) + pivotParameterTargetInput = InputData.parameterInputFactory("pivotParameterTarget", contentType=InputTypes.StringType, + descr="""Pivot parameter for target inputs""") + inputSpecification.addSub(pivotParameterTargetInput) + scaleTypeInput = InputData.parameterInputFactory("scale", contentType=InputTypes.makeEnumType("scale","scaleType",['DataSynthesis','2_2_affine','dilation','beta_strain','omega_strain','identity']), + descr="""Scaling type for the time transformation. Available types are DataSynthesis, + 2_2_affine, dilation, beta_strain, omega_strain, and identity""") + inputSpecification.addSub(scaleTypeInput) + scaleRatioBetaInput = InputData.parameterInputFactory("scaleBeta", contentType=InputTypes.FloatListType, + descr="""Scaling ratio for the parameter of interest""") + inputSpecification.addSub(scaleRatioBetaInput) + scaleRatioOmegaInput = InputData.parameterInputFactory("scaleOmega", contentType=InputTypes.FloatListType, + descr="""Scaling ratio for the agents of change""") + inputSpecification.addSub(scaleRatioOmegaInput) + return inputSpecification + + def __init__(self): + """ + Constructor + @ In, None + @ Out, None + """ + super().__init__() + self.printTag = 'POSTPROCESSOR DSS Scaling and Metrics' # Naming + self.name = 'PPDSS' # Postprocessor name + self.dynamic = True # Must be time-dependent? + self.dynamicType = ['dynamic'] # Specification of dynamic type + self.features = None # list of feature variables + self.targets = None # list of target variables + self.multiOutput = 'raw_values' # defines aggregating of multiple outputs for HistorySet + # currently allow raw_values + self.pivotParameterFeature = None # Feature pivot parameter variable + self.pivotValuesFeature = [] # Feature pivot parameter values + self.pivotParameterTarget = None # Target pivot parameter variable + self.pivotValuesTarget = [] # Target pivot parameter values + self.scaleType = None # Scaling type + # assembler objects to be requested + self.scaleRatioBeta = [] # Scaling ratio for the parameter of interest + self.scaleRatioOmega = [] # Scaling ratio for the agents of change + + def _handleInput(self, paramInput): + """ + Function to handle the parsed paramInput for this class. + @ In, paramInput, ParameterInput, the already parsed input. + @ Out, None + """ + super()._handleInput(paramInput) + for child in paramInput.subparts: + if child.getName() == 'Metric': + if 'type' not in child.parameterValues.keys() or 'class' not in child.parameterValues.keys(): + self.raiseAnError(IOError, 'Tag Metric must have attributes "class" and "type"') + elif child.getName() == 'Features': + self.features = child.value + elif child.getName() == 'Targets': + self.targets = child.value + elif child.getName() == 'multiOutput': + self.multiOutput = child.value + elif child.getName() == 'pivotParameterFeature': + self.pivotParameterFeature = child.value + elif child.getName() == 'pivotParameterTarget': + self.pivotParameterTarget = child.value + elif child.getName() == 'scale': + self.scaleType = child.value + elif child.getName() == 'scaleBeta': + self.scaleRatioBeta = child.value + elif child.getName() == 'scaleOmega': + self.scaleRatioOmega = child.value + else: + self.raiseAnError(IOError, "Unknown xml node ", child.getName(), " is provided for metric system") + + def run(self, inputIn): + """ + This method executes the postprocessor action. In this case it loads the + results to specified dataObject + @ In, inputIn, list, dictionary of data to process + @ Out, outputDict, dict, dictionary containing the post-processed results + """ + # assert + assert(isinstance(inputIn["Data"], list)) + assert(isinstance(inputIn["Data"][0][-1], xr.Dataset) and isinstance(inputIn["Data"][1][-1], xr.Dataset)) + # the input can be either be a list of dataobjects or a list of datasets (xarray) + datasets = [data for _, _, data in inputIn['Data']] + names = [] + pivotParameterTarget = self.pivotParameterTarget + pivotParameterFeature = self.pivotParameterFeature + names = [self.getDataSetName(inp[-1]) for inp in inputIn['Data']] + if len(inputIn['Data'][0][-1].indexes) and (self.pivotParameterTarget is None or self.pivotParameterFeature is None): + if 'dynamic' not in self.dynamicType: #self.model.dataType: + self.raiseAnError(IOError, "The validation algorithm '{}' is not a dynamic model but time-dependent data has been inputted in object {}".format(self._type, inputIn['Data'][0][-1].name)) + else: + pivotParameterTarget = inputIn['Data'][1][2] + pivotParameterFeature = inputIn['Data'][0][2] + # check if pivotParameter + evaluation = self._evaluate(datasets) + if not isinstance(evaluation, list): + self.raiseAnError(IOError,"The data type in evaluation is not list") + if pivotParameterFeature and pivotParameterTarget: + if len(datasets[0][pivotParameterFeature]) != len(list(evaluation[0].values())[0]) and len(datasets[1][pivotParameterTarget]) != len(list(evaluation[1].values())[0]): + self.raiseAnError(RuntimeError, "The pivotParameterFeature value '{}' has size '{}' and validation output has size '{}' The pivotParameterTarget value '{}' has size '{}' and validation output has size '{}'.".format( len(datasets[0][self.pivotParameterFeature]), len(evaluation.values()[0]))) + if pivotParameterFeature not in evaluation and pivotParameterTarget not in evaluation: + for i in range(len(evaluation)): + if len(datasets[0][pivotParameterFeature]) < len(datasets[1][pivotParameterTarget]): + evaluation[i]['pivot_parameter'] = datasets[0][pivotParameterFeature] + else: + evaluation[i]['pivot_parameter'] = datasets[1][pivotParameterTarget] + return evaluation + + def _evaluate(self, datasets, **kwargs): + """ + Main method to "do what you do". + @ In, datasets, list, list of datasets (data1,data2,etc.) to used. + @ In, kwargs, dict, keyword arguments + @ Out, outputDict, dict, dictionary containing the results {"feat"_"target"_"metric_name":value} + """ + realizations = [] + realizationArray = [] + for feat, targ, scaleRatioBeta, scaleRatioOmega in zip(self.features, self.targets, self.scaleRatioBeta, self.scaleRatioOmega): + nameFeat = feat.split("|") + nameTarg = targ.split("|") + names = [nameFeat[0],nameTarg[0]] + featData = self._getDataFromDatasets(datasets, feat, names)[0] + targData = self._getDataFromDatasets(datasets, targ, names)[0] + if (isinstance(scaleRatioBeta,int) or isinstance(scaleRatioBeta,float)) and (isinstance(scaleRatioOmega,int) or isinstance(scaleRatioOmega,float)) is True: + if self.scaleType == 'DataSynthesis': + timeScalingRatio = 1 + if abs(1-scaleRatioBeta) > 10**(-4) or abs(1-scaleRatioOmega) > 10**(-4): + self.raiseAnError(IOError, "Either beta or omega scaling ratio are not 1. Both must be 1") + elif self.scaleType == '2_2_affine': + timeScalingRatio = scaleRatioBeta/scaleRatioOmega + elif self.scaleType == 'dilation': + timeScalingRatio = 1 + if abs(1-scaleRatioBeta/scaleRatioOmega) > 10**(-4): + self.raiseAnError(IOError, "Beta scaling ratio:",scaleRatioBeta,"and Omega scaling ratio:",scaleRatioOmega,"are not nearly equivalent") + elif self.scaleType == 'beta_strain': + timeScalingRatio = scaleRatioBeta + if abs(1-scaleRatioOmega) > 10**(-4): + self.raiseAnError(IOError, "Omega scaling ratio:",scaleRatioOmega,"must be 1") + elif self.scaleType == 'omega_strain': + timeScalingRatio = 1/scaleRatioOmega + if abs(1-scaleRatioBeta) > 10**(-4): + self.raiseAnError(IOError, "Beta scaling ratio:",scaleRatioBeta,"must be 1") + elif self.scaleType == 'identity': + timeScalingRatio = 1 + if abs(1-scaleRatioBeta) > 10**(-4) or abs(1-scaleRatioOmega) > 10**(-4): + self.raiseAnError(IOError, "Either beta or omega scaling ratio are not 1. Both must be 1") + else: + self.raiseAnError(IOError, "Scaling Type",self.scaleType, "is not provided") + else: + self.raiseAnError(IOError, scaleRatioBeta,"or",scaleRatioOmega,"is not a numerical number") + + pivotFeature = self._getDataFromDatasets(datasets, names[0]+"|"+self.pivotParameterFeature, names)[0] + pivotFeature = np.transpose(pivotFeature)[0] + pivotTarget = self._getDataFromDatasets(datasets, names[1]+"|"+self.pivotParameterTarget, names)[0] + pivotTarget = np.transpose(pivotTarget)[0] + pivotFeatureSize = pivotFeature.shape[0] + pivotTargetSize = pivotTarget.shape[0] + if pivotFeatureSize >= pivotTargetSize: + pivotSize = pivotTargetSize + else: + pivotSize = pivotFeatureSize + + if pivotFeatureSize == pivotSize: + yCount = featData.shape[0] + zCount = featData.shape[1] + else: + yCount = targData.shape[0] + zCount = targData.shape[1] + featureD = np.zeros((yCount,zCount)) + featureProcessTimeNorm = np.zeros((yCount,zCount)) + featureOmegaNorm = np.zeros((yCount,zCount)) + featureBeta = np.zeros((yCount,zCount)) + naNCount = np.zeros((yCount,zCount)) + # + feature = nameFeat[1] + for cnt2 in range(yCount): + if pivotFeatureSize == pivotSize: + featureBeta[cnt2] = featData[cnt2] + interpGrid = pivotFeature + else: + interpFunction = interp1d(pivotFeature,featData[cnt2],kind='linear',fill_value='extrapolate') + interpGrid = timeScalingRatio*pivotTarget + featureBeta[cnt2] = interpFunction(interpGrid) + featureOmega = np.gradient(featureBeta[cnt2],interpGrid) + featureProcessTime = featureBeta[cnt2]/featureOmega + featureDiffOmega = np.gradient(featureOmega,interpGrid) + featureD[cnt2] = -featureBeta[cnt2]/featureOmega**2*featureDiffOmega + for cnt3 in range(zCount): + if np.isnan(featureD[cnt2][cnt3]) == True: + naNCount[cnt2][cnt3] = 1 + elif np.isinf(featureD[cnt2][cnt3]) == True: + naNCount[cnt2][cnt3] = 1 + featureInt = featureD[cnt2]+1 + # Excluding NaN type data and exclude corresponding time in grid in + # preperation for numpy simpson integration + count=0 + for i in range(len(featureD[cnt2])): + if np.isnan(featureD[cnt2][i])==False and np.isinf(featureD[cnt2][i])==False: + count += 1 + if count > 0: + featureIntNew = np.zeros(count) + interpGridNew = np.zeros(count) + trackCount = 0 + for i in range(len(featureD[cnt2])): + if np.isnan(featureD[cnt2][i])==False and np.isinf(featureD[cnt2][i])==False: + interpGridNew[trackCount] = interpGrid[i] + featureIntNew[trackCount] = featureInt[i] + trackCount += 1 + else: + featureD[cnt2][i] = 0 + # + featureProcessAction = simps(featureIntNew, interpGridNew) + featureProcessTimeNorm[cnt2] = featureProcessTime/featureProcessAction + featureOmegaNorm[cnt2] = featureProcessAction*featureOmega + # + targetD = np.zeros((yCount,zCount)) + targetProcessTimeNorm = np.zeros((yCount,zCount)) + targetOmegaNorm = np.zeros((yCount,zCount)) + targetBeta = np.zeros((yCount,zCount)) + target = nameTarg[1] + for cnt2 in range(yCount): + if pivotTargetSize == pivotSize: + targetBeta[cnt2] = targData[cnt2] + interpGrid = pivotTarget + else: + interpFunction = interp1d(pivotTarget,targData[cnt2],kind='linear',fill_value='extrapolate') + interpGrid = 1/timeScalingRatio*pivotFeature + targetBeta[cnt2] = interpFunction(interpGrid) + targetOmega = np.gradient(targetBeta[cnt2],interpGrid) + #print("targetOmega:",targetOmega) + targetProcessTime = targetBeta[cnt2]/targetOmega + targetDiffOmega = np.gradient(targetOmega,interpGrid) + targetD[cnt2] = -targetBeta[cnt2]/targetOmega**2*targetDiffOmega + for cnt3 in range(zCount): + if np.isnan(targetD[cnt2][cnt3]) == True: + naNCount[cnt2][cnt3] = 1 + elif np.isinf(targetD[cnt2][cnt3]) == True: + naNCount[cnt2][cnt3] = 1 + targetInt = targetD[cnt2]+1 + # Excluding NaN type data and exclude corresponding time in grid in + # preperation for numpy simpson integration + count=0 + for i in range(len(targetD[cnt2])): + if np.isnan(targetD[cnt2][i])==False and np.isinf(targetD[cnt2][i])==False: + count += 1 + if count > 0: + targetIntNew = np.zeros(count) + interpGridNew = np.zeros(count) + trackCount = 0 + for i in range(len(targetD[cnt2])): + if np.isnan(targetD[cnt2][i])==False and np.isinf(targetD[cnt2][i])==False: + interpGridNew[trackCount] = interpGrid[i] + targetIntNew[trackCount] = targetInt[i] + trackCount += 1 + else: + targetD[cnt2][i] = 0 + # + targetProcessAction = simps(targetIntNew, interpGridNew) + targetProcessTimeNorm[cnt2] = targetProcessTime/targetProcessAction + targetOmegaNorm[cnt2] = targetProcessAction*targetOmega + # + featureProcessTimeNormScaled = np.zeros((yCount,zCount)) + featureOmegaNormScaled = np.zeros((yCount,zCount)) + for cnt3 in range(yCount): + featureProcessTimeNormScaled[cnt3] = featureProcessTimeNorm[cnt3]/timeScalingRatio + featureOmegaNormScaled[cnt3] = featureOmegaNorm[cnt3]/scaleRatioBeta + newfeatureData = np.asarray([featureOmegaNormScaled,featureProcessTimeNormScaled,featureBeta]) + newtargetData = np.asarray([targetOmegaNorm,targetD,targetBeta]) + #------------------------------------------------------------------------------------------ + if pivotTargetSize == pivotSize: + timeParameter = pivotTarget + else: + timeParameter = pivotFeature + outputDict = {} + distanceTotal = np.zeros((yCount,zCount)) + sigma = np.zeros((yCount,zCount)) + for metric in self.metrics: + name = "{}_{}_{}".format(metric.estimator.name, targ.split("|")[-1], feat.split("|")[-1]) + output = metric.evaluate((newfeatureData,newtargetData), multiOutput='raw_values') + for cnt2 in range(yCount): + distanceSum = abs(np.sum(output[cnt2])) + sigmaSum = 0 + for cnt3 in range(zCount): + distanceTotal[cnt2][cnt3] = distanceSum + sigmaSum += output[cnt2][cnt3]**2 + for cnt3 in range(zCount): + sigma[cnt2][cnt3] = (1/(zCount-np.sum(naNCount[cnt2]))*sigmaSum)**0.5 + rlz = [] + for cnt in range(yCount): + outputDict = {} + outputDict[name] = abs(np.atleast_1d(output[cnt])) + outputDict['pivot_parameter'] = timeParameter + outputDict['total_distance_'+nameTarg[1]+'_'+nameFeat[1]] = distanceTotal[cnt] + outputDict['feature_beta_'+nameTarg[1]+'_'+nameFeat[1]] = featureBeta[cnt] + outputDict['target_beta_'+nameTarg[1]+'_'+nameFeat[1]] = targetBeta[cnt] + outputDict['feature_omega_'+nameTarg[1]+'_'+nameFeat[1]] = featureOmegaNormScaled[cnt] + outputDict['target_omega_'+nameTarg[1]+'_'+nameFeat[1]] = targetOmegaNorm[cnt] + outputDict['feature_D_'+nameTarg[1]+'_'+nameFeat[1]] = featureD[cnt] + outputDict['target_D_'+nameTarg[1]+'_'+nameFeat[1]] = targetD[cnt] + outputDict['process_time_'+nameTarg[1]+'_'+nameFeat[1]] = newfeatureData[1][cnt] + outputDict['standard_deviation_'+nameTarg[1]+'_'+nameFeat[1]] = sigma[cnt] + rlz.append(outputDict) + realizationArray.append(rlz) + #--------------- + for cnt in range(len(realizationArray[0])): + out = {} + for cnt2 in range(len(realizationArray)): + for key, val in realizationArray[cnt2][cnt].items(): + out[key] = val + realizations.append(out) + return realizations + + def _getDataFromDatasets(self, datasets, var, names=None): + """ + Utility function to retrieve the data from dataDict + @ In, datasets, list, list of datasets (data1,data2,etc.) to search from. + @ In, names, list, optional, list of datasets names (data1,data2,etc.). If not present, the search will be done on the full list. + @ In, var, str, the variable to find (either in fromat dataobject|var or simply var) + @ Out, data, tuple(numpy.ndarray, xarray.DataArray or None), the retrived data (data, probability weights (None if not present)) + """ + data = None + pw = None + dat = None + if "|" in var and names is not None: + do, feat = var.split("|") + doindex = names.index(do) + dat = datasets[doindex][feat] + else: + for doindex, ds in enumerate(datasets): + if var in ds: + dat = ds[var] + break + if 'ProbabilityWeight-{}'.format(feat) in datasets[names.index(do)]: + pw = datasets[doindex]['ProbabilityWeight-{}'.format(feat)].values + elif 'ProbabilityWeight' in datasets[names.index(do)]: + pw = datasets[doindex]['ProbabilityWeight'].values + dim = len(dat.shape) + # (numRealizations, numHistorySteps) for MetricDistributor + dat = dat.values + if dim == 1: + # the following reshaping does not require a copy + dat.shape = (dat.shape[0], 1) + data = dat, pw + return data + + def collectOutput(self, finishedJob, output): + """ + Function to place all of the computed data into the output object + @ In, finishedJob, JobHandler External or Internal instance, A JobHandler object that is in charge of running this post-processor + @ In, output, DataObject.DataObject, The object where we want to place our computed results + @ Out, None + """ + evaluation = finishedJob.getEvaluation() + realizations = evaluation[1] + for rlz in realizations: + output.addRealization(rlz) diff --git a/framework/Models/PostProcessors/Validations/__init__.py b/framework/Models/PostProcessors/Validations/__init__.py index 1a05f0befa..88d55b68bf 100644 --- a/framework/Models/PostProcessors/Validations/__init__.py +++ b/framework/Models/PostProcessors/Validations/__init__.py @@ -19,3 +19,4 @@ @author: wangc """ from .Probabilistic import Probabilistic +from .PPDSS import PPDSS diff --git a/tests/framework/PostProcessors/Validation/DSS/lorentzAttractor_timeScale_I.py b/tests/framework/PostProcessors/Validation/DSS/lorentzAttractor_timeScale_I.py new file mode 100644 index 0000000000..c0ff5d0959 --- /dev/null +++ b/tests/framework/PostProcessors/Validation/DSS/lorentzAttractor_timeScale_I.py @@ -0,0 +1,65 @@ +# Copyright 2017 Battelle Energy Alliance, LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# from wikipedia: dx/dt = sigma*(y-x) ; dy/dt = x*(rho-z)-y dz/dt = x*y-beta*z + +import numpy as np + +def initialize(self,runInfoDict,inputFiles): + """ + Constructor + @ In, runInfoDict, dict, dictionary of input file names, file location, and other parameters + RAVEN run. + @ In, inputFiles, list, data objects required for external model initialization. + @ Out, None + """ + self.sigma = 10.0 + self.rho = 28.0 + self.beta = 8.0/3.0 + return + +def run(self,Input): + """ + Constructor + @ In, Input, dict, dictionary of input values for each feature. + @ Out, None + """ + disc = 2.0 + maxTime = 0.5 + tStep = 0.005 + self.sigma = 10.0 + self.rho = 28.0 + self.beta = 8.0/3.0 + + numberTimeSteps = int(maxTime/tStep) + + self.x1 = np.zeros(numberTimeSteps) + self.y1 = np.zeros(numberTimeSteps) + self.z1 = np.zeros(numberTimeSteps) + self.time1 = np.zeros(numberTimeSteps) + + self.x0 = Input['x0'] + self.y0 = Input['y0'] + self.z0 = Input['z0'] + + self.x1[0] = Input['x0'] + self.y1[0] = Input['y0'] + self.z1[0] = Input['z0'] + self.time1[0]= 0.0 + + for t in range (numberTimeSteps-1): + self.time1[t+1] = self.time1[t] + tStep + self.x1[t+1] = self.x1[t] + disc*self.sigma*(self.y1[t]-self.x1[t]) * tStep + self.y1[t+1] = self.y1[t] + disc*(self.x1[t]*(self.rho-self.z1[t])-self.y1[t]) * tStep + self.z1[t+1] = self.z1[t] + disc*(self.x1[t]*self.y1[t]-self.beta*self.z1[t]) * tStep diff --git a/tests/framework/PostProcessors/Validation/DSS/lorentzAttractor_timeScale_II.py b/tests/framework/PostProcessors/Validation/DSS/lorentzAttractor_timeScale_II.py new file mode 100644 index 0000000000..592fda8977 --- /dev/null +++ b/tests/framework/PostProcessors/Validation/DSS/lorentzAttractor_timeScale_II.py @@ -0,0 +1,65 @@ +# Copyright 2017 Battelle Energy Alliance, LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# from wikipedia: dx/dt = sigma*(y-x) ; dy/dt = x*(rho-z)-y dz/dt = x*y-beta*z + +import numpy as np + +def initialize(self,runInfoDict,inputFiles): + """ + Constructor + @ In, runInfoDict, dict, dictionary of input file names, file location, and other parameters + RAVEN run. + @ In, inputFiles, list, data objects required for external model initialization. + @ Out, None + """ + self.sigma = 10.0 + self.rho = 28.0 + self.beta = 8.0/3.0 + return + +def run(self,Input): + """ + Constructor + @ In, Input, dict, dictionary of input values for each feature. + @ Out, None + """ + maxTime = 0.7 + tStep = 0.005 + disc = 1.0 + self.sigma = 10.0 + self.rho = -28.0 + self.beta = 8.0/3.0 + + numberTimeSteps = int(maxTime/tStep) + + self.x2 = np.zeros(numberTimeSteps) + self.y2 = np.zeros(numberTimeSteps) + self.z2 = np.zeros(numberTimeSteps) + self.time2 = np.zeros(numberTimeSteps) + + self.x0 = Input['x0'] + self.y0 = Input['y0'] + self.z0 = Input['z0'] + + self.x2[0] = Input['x0'] + self.y2[0] = Input['y0'] + self.z2[0] = Input['z0'] + self.time2[0]= 0.0 + + for t in range (numberTimeSteps-1): + self.time2[t+1] = self.time2[t] + tStep + self.x2[t+1] = self.x2[t] + disc*self.sigma*(self.y2[t]-self.x2[t]) * tStep + self.y2[t+1] = self.y2[t] + disc*(self.x2[t]*(self.rho-self.z2[t])-self.y2[t]) * tStep + self.z2[t+1] = self.z2[t] + disc*(self.x2[t]*self.y2[t]-self.beta*self.z2[t]) * tStep diff --git a/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_0.csv b/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_0.csv new file mode 100644 index 0000000000..f93b5c916f --- /dev/null +++ b/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_0.csv @@ -0,0 +1,101 @@ +pivot_parameter,dss_x2_x1,total_distance_x2_x1,process_time_x2_x1,standard_deviation_x2_x1,dss_y2_y1,total_distance_y2_y1,process_time_y2_y1,standard_deviation_y2_y1 +0.0,0.0756901816043,24.887493332,-0.000351283270388,2.59700011532,0.0356012101676,53.1999350236,0.206070488345,4.78635605162 +0.005,0.0510745233206,24.887493332,-0.000385934668242,2.59700011532,0.0448169166406,53.1999350236,0.210768607572,4.78635605162 +0.01,0.0256194405153,24.887493332,-0.000406159113474,2.59700011532,0.052224344465,53.1999350236,0.204272609211,4.78635605162 +0.015,0.0150024229693,24.887493332,-0.000421393172979,2.59700011532,0.0516883771607,53.1999350236,0.20010519813,4.78635605162 +0.02,0.010257283552,24.887493332,-0.000432783299084,2.59700011532,0.0451798791812,53.1999350236,0.197573824791,4.78635605162 +0.025,0.00769231680981,24.887493332,-0.000441348962559,2.59700011532,0.0284060742231,53.1999350236,0.196261897457,4.78635605162 +0.030000000000000002,0.00612549904352,24.887493332,-0.000447943830224,2.59700011532,0.0336672365961,53.1999350236,0.195926608029,4.78635605162 +0.035,0.00507743437159,24.887493332,-0.000453262151306,2.59700011532,0.0629855379733,53.1999350236,0.196444243236,4.78635605162 +0.04,0.00431968056602,24.887493332,-0.000457866493304,2.59700011532,0.0894619720643,53.1999350236,0.19778161272,4.78635605162 +0.045,0.00372831979973,24.887493332,-0.000462222758356,2.59700011532,0.1172518338,53.1999350236,0.199984022056,4.78635605162 +0.049999999999999996,0.00322683934388,24.887493332,-0.000466735814408,2.59700011532,0.148479034567,53.1999350236,0.203176148606,4.78635605162 +0.05499999999999999,0.00275944130293,24.887493332,-0.000471783762648,2.59700011532,0.185378812568,53.1999350236,0.207576121419,4.78635605162 +0.05999999999999999,0.00227360608449,24.887493332,-0.00047775165284,2.59700011532,0.231060029877,53.1999350236,0.213527199795,4.78635605162 +0.06499999999999999,0.00169433633486,24.887493332,-0.000485067311788,2.59700011532,0.290431280096,53.1999350236,0.221557909815,4.78635605162 +0.06999999999999999,0.000772991562933,24.887493332,-0.000494243726694,2.59700011532,0.371943441596,53.1999350236,0.232494548059,4.78635605162 +0.075,0.00130283362855,24.887493332,-0.000505935007915,2.59700011532,0.491460016819,53.1999350236,0.24768026844,4.78635605162 +0.08,0.00199187521109,24.887493332,-0.000521017617242,2.59700011532,0.682094146904,53.1999350236,0.269434057245,4.78635605162 +0.085,0.00245409022898,24.887493332,-0.000540717719677,2.59700011532,1.02380596657,53.1999350236,0.302118525415,4.78635605162 +0.09000000000000001,0.00272598009733,24.887493332,-0.000566824621632,2.59700011532,1.75751674307,53.1999350236,0.355020324828,4.78635605162 +0.09500000000000001,0.00271172120559,24.887493332,-0.000602072646113,2.59700011532,3.96065102521,53.1999350236,0.452043262233,4.78635605162 +0.10000000000000002,0.0020653563727,24.887493332,-0.000650875572106,2.59700011532,22.063705504,53.1999350236,0.679238712152,4.78635605162 +0.10500000000000002,0.00211813443079,24.887493332,-0.000720868007637,2.59700011532,32.5016834277,53.1999350236,1.76335102388,4.78635605162 +0.11000000000000003,0.00483476705374,24.887493332,-0.000826525967792,2.59700011532,13.8684083592,53.1999350236,-1.84767843252,4.78635605162 +0.11500000000000003,0.00772383018827,24.887493332,-0.000999095540335,2.59700011532,2.46453702091,53.1999350236,-0.525372763748,4.78635605162 +0.12000000000000004,0.0111468044228,24.887493332,-0.00132091190976,2.59700011532,0.944134639777,53.1999350236,-0.278401055973,4.78635605162 +0.12500000000000003,0.0151108859396,24.887493332,-0.00210251007708,2.59700011532,0.459372384566,53.1999350236,-0.174801950313,4.78635605162 +0.13000000000000003,0.0171343953503,24.887493332,-0.00646411039937,2.59700011532,0.248870152479,53.1999350236,-0.117764017075,4.78635605162 +0.13500000000000004,0.0350652053287,24.887493332,0.00483896441515,2.59700011532,0.140697849216,53.1999350236,-0.0811959709455,4.78635605162 +0.14000000000000004,0.0423716405627,24.887493332,0.00164348920338,2.59700011532,0.0787121176144,53.1999350236,-0.054939356815,4.78635605162 +0.14500000000000005,0.0556065274189,24.887493332,0.000952164683723,2.59700011532,0.0402717597698,53.1999350236,-0.0339839519099,4.78635605162 +0.15000000000000005,0.0750741244315,24.887493332,0.000652717338428,2.59700011532,0.0148647829393,53.1999350236,-0.0152581605846,4.78635605162 +0.15500000000000005,0.105121364985,24.887493332,0.000486276138869,2.59700011532,0.00289817867961,53.1999350236,0.00366434837427,4.78635605162 +0.16000000000000006,0.156661888365,24.887493332,0.000380003627249,2.59700011532,0.0159186133438,53.1999350236,0.0253281189163,4.78635605162 +0.16500000000000006,0.262367592272,24.887493332,0.00030521417449,2.59700011532,0.025571042223,53.1999350236,0.0531682521213,4.78635605162 +0.17000000000000007,0.564364908709,24.887493332,0.000248127467158,2.59700011532,0.0315872784201,53.1999350236,0.0927821259941,4.78635605162 +0.17500000000000007,2.5959579167,24.887493332,0.000201130085144,2.59700011532,0.0292029206784,53.1999350236,0.154754141223,4.78635605162 +0.18000000000000008,16.475446849,24.887493332,0.000159525889875,2.59700011532,0.0358911787049,53.1999350236,0.262490035739,4.78635605162 +0.18500000000000008,0.511783036992,24.887493332,0.000120133768726,2.59700011532,0.110684484186,53.1999350236,0.480628409477,4.78635605162 +0.19000000000000009,0.10082323864,24.887493332,8.06091792099e-05,2.59700011532,0.287502181726,53.1999350236,1.07825811416,4.78635605162 +0.1950000000000001,0.0217616071722,24.887493332,3.90793631522e-05,2.59700011532,1.76278846025,53.1999350236,6.44341026385,4.78635605162 +0.2000000000000001,0.0018057589186,24.887493332,-6.0783411812e-06,2.59700011532,0.708546763109,53.1999350236,-2.77999234179,4.78635605162 +0.2050000000000001,0.00986119174713,24.887493332,-5.6395309412e-05,2.59700011532,0.288768517405,53.1999350236,-1.4250988599,4.78635605162 +0.2100000000000001,0.0123886048682,24.887493332,-0.000113451921497,2.59700011532,0.0453883904931,53.1999350236,-1.07480405018,4.78635605162 +0.2150000000000001,0.0126672479613,24.887493332,-0.000179031059276,2.59700011532,0.216098228243,53.1999350236,-0.918928673398,4.78635605162 +0.2200000000000001,0.0119639992296,24.887493332,-0.000255316700686,2.59700011532,0.303782296424,53.1999350236,-0.829882029715,4.78635605162 +0.22500000000000012,0.0108188848603,24.887493332,-0.000345181037066,2.59700011532,0.376540448411,53.1999350236,-0.768590246102,4.78635605162 +0.23000000000000012,0.00947298486221,24.887493332,-0.000452632098144,2.59700011532,0.444674685389,53.1999350236,-0.719533354007,4.78635605162 +0.23500000000000013,0.0080303460657,24.887493332,-0.000583556378394,2.59700011532,0.511709354218,53.1999350236,-0.676086138182,4.78635605162 +0.24000000000000013,0.00652220624591,24.887493332,-0.00074703080616,2.59700011532,0.580320553624,53.1999350236,-0.635687041334,4.78635605162 +0.24500000000000013,0.00492318860659,24.887493332,-0.000957812458771,2.59700011532,0.65402690633,53.1999350236,-0.597721930261,4.78635605162 +0.2500000000000001,0.00309611593474,24.887493332,-0.00124149111194,2.59700011532,0.738159324039,53.1999350236,-0.562420286285,4.78635605162 +0.2550000000000001,0.00120852123153,24.887493332,-0.00164639842495,2.59700011532,0.841123459156,53.1999350236,-0.530264983882,4.78635605162 +0.2600000000000001,0.00296770830518,24.887493332,-0.00227557552413,2.59700011532,0.976992971635,53.1999350236,-0.501711546802,4.78635605162 +0.2650000000000001,0.00346446876209,24.887493332,-0.00339370868859,2.59700011532,1.17176767092,53.1999350236,-0.477092298472,4.78635605162 +0.27000000000000013,0.00311165177851,24.887493332,-0.0059459529095,2.59700011532,1.48075094168,53.1999350236,-0.456618664681,4.78635605162 +0.27500000000000013,5.81181297004e-05,24.887493332,-0.017658799066,2.59700011532,2.04846257485,53.1999350236,-0.440426219434,4.78635605162 +0.28000000000000014,0.00944333510943,24.887493332,0.023614750085,2.59700011532,3.40557789309,53.1999350236,-0.428632720771,4.78635605162 +0.28500000000000014,0.00340829970713,24.887493332,0.00767066056605,2.59700011532,3.11284671985,53.1999350236,-0.421397253632,4.78635605162 +0.29000000000000015,0.00465662583969,24.887493332,0.00479547193423,2.59700011532,7.3226845792,53.1999350236,-0.418979551034,4.78635605162 +0.29500000000000015,0.00803485316173,24.887493332,0.00360288615197,2.59700011532,2.89900743487,53.1999350236,-0.421805251145,4.78635605162 +0.30000000000000016,0.011317208785,24.887493332,0.00295953304001,2.59700011532,1.81265725321,53.1999350236,-0.430548255252,4.78635605162 +0.30500000000000016,0.0150342971053,24.887493332,0.00256543644154,2.59700011532,1.33509443051,53.1999350236,-0.446248610867,4.78635605162 +0.31000000000000016,0.0195367803603,24.887493332,0.00230729950188,2.59700011532,1.07524607458,53.1999350236,-0.470497775671,4.78635605162 +0.31500000000000017,0.0252566844823,24.887493332,0.00213320374467,2.59700011532,0.919444803615,53.1999350236,-0.505751070035,4.78635605162 +0.3200000000000002,0.0328467262745,24.887493332,0.00201640022284,2.59700011532,0.823327239499,53.1999350236,-0.555889367891,4.78635605162 +0.3250000000000002,0.0433920010407,24.887493332,0.0019421605681,2.59700011532,0.767055057191,53.1999350236,-0.627301579015,4.78635605162 +0.3300000000000002,0.0588411035857,24.887493332,0.00190225207722,2.59700011532,0.742100920444,53.1999350236,-0.731155591538,4.78635605162 +0.3350000000000002,0.0830086530868,24.887493332,0.00189240571623,2.59700011532,0.747384467914,53.1999350236,-0.888719562089,4.78635605162 +0.3400000000000002,0.12423731265,24.887493332,0.00191114377949,2.59700011532,0.790619061756,53.1999350236,-1.14588760045,4.78635605162 +0.3450000000000002,0.203820698837,24.887493332,0.00195933974328,2.59700011532,0.899404931831,53.1999350236,-1.62299653837,4.78635605162 +0.3500000000000002,0.390562922342,24.887493332,0.00204028979904,2.59700011532,1.18152944757,53.1999350236,-2.76799848929,4.78635605162 +0.3550000000000002,1.02223133173,24.887493332,0.00216030007533,2.59700011532,2.64941999732,53.1999350236,-8.84234636717,4.78635605162 +0.3600000000000002,6.9577971122,24.887493332,0.00233000990751,2.59700011532,1.20022386476,53.1999350236,8.04846171823,4.78635605162 +0.3650000000000002,18.536899259,24.887493332,0.00256703619018,2.59700011532,0.458741195621,53.1999350236,2.87699372783,4.78635605162 +0.3700000000000002,1.39066604189,24.887493332,0.0029013579004,2.59700011532,0.428452490342,53.1999350236,1.80260103173,4.78635605162 +0.3750000000000002,0.461207455208,24.887493332,0.00338712026367,2.59700011532,0.362958187378,53.1999350236,1.34317089246,4.78635605162 +0.3800000000000002,0.223731187001,24.887493332,0.00413170682114,2.59700011532,0.301055452763,53.1999350236,1.09124468109,4.78635605162 +0.38500000000000023,0.128229841417,24.887493332,0.00538073173552,2.59700011532,0.240107113086,53.1999350236,0.93409620892,4.78635605162 +0.39000000000000024,0.0784920119467,24.887493332,0.00784320725238,2.59700011532,0.170645997776,53.1999350236,0.828064963517,4.78635605162 +0.39500000000000024,0.0431611488023,24.887493332,0.0147525608011,2.59700011532,0.0479569348817,53.1999350236,0.752702627484,4.78635605162 +0.40000000000000024,0.125171738448,24.887493332,0.133635902199,2.59700011532,0.157958083139,53.1999350236,0.697173708623,4.78635605162 +0.40500000000000025,0.0584942984204,24.887493332,-0.0189855321451,2.59700011532,0.233609668151,53.1999350236,0.655219001313,4.78635605162 +0.41000000000000025,0.037702725343,24.887493332,-0.00892863564252,2.59700011532,0.297743334418,53.1999350236,0.622989555054,4.78635605162 +0.41500000000000026,0.027827106942,24.887493332,-0.00588638133755,2.59700011532,0.360227788464,53.1999350236,0.598008455715,4.78635605162 +0.42000000000000026,0.0211987160476,24.887493332,-0.00442910916332,2.59700011532,0.42599152393,53.1999350236,0.57863048966,4.78635605162 +0.42500000000000027,0.0160802276811,24.887493332,-0.00358152181559,2.59700011532,0.499061371088,53.1999350236,0.563742368813,4.78635605162 +0.43000000000000027,0.0116739791922,24.887493332,-0.00303237055096,2.59700011532,0.583905567893,53.1999350236,0.552588046692,4.78635605162 +0.4350000000000003,0.00728500366889,24.887493332,-0.00265158641512,2.59700011532,0.686486121185,53.1999350236,0.544663350089,4.78635605162 +0.4400000000000003,0.00243291347265,24.887493332,-0.00237526997039,2.59700011532,0.815737263059,53.1999350236,0.539651413346,4.78635605162 +0.4450000000000003,0.00696198428924,24.887493332,-0.00216842991751,2.59700011532,0.986299442514,53.1999350236,0.537383772652,4.78635605162 +0.4500000000000003,0.00884851819847,24.887493332,-0.00201036354406,2.59700011532,1.22437969711,53.1999350236,0.537819018778,4.78635605162 +0.4550000000000003,0.00981004369416,24.887493332,-0.00188810713602,2.59700011532,1.58201216785,53.1999350236,0.541034965552,4.78635605162 +0.4600000000000003,0.0100218150295,24.887493332,-0.00179320090124,2.59700011532,2.17654305476,53.1999350236,0.547232998658,4.78635605162 +0.4650000000000003,0.00925982419887,24.887493332,-0.0017199680688,2.59700011532,3.29135191908,53.1999350236,0.556755557551,4.78635605162 +0.4700000000000003,0.00649167144982,24.887493332,-0.00166454644856,2.59700011532,0.343367636509,53.1999350236,0.570120302197,4.78635605162 +0.4750000000000003,0.00695375377574,24.887493332,-0.00162432127992,2.59700011532,18.3891004778,53.1999350236,0.588078304694,4.78635605162 +0.4800000000000003,0.0147497845514,24.887493332,-0.00159758644143,2.59700011532,5.42949840841,53.1999350236,0.611710070066,4.78635605162 +0.4850000000000003,0.0228537785489,24.887493332,-0.0015833449369,2.59700011532,3.20885144676,53.1999350236,0.642585338604,4.78635605162 +0.4900000000000003,0.0280619238181,24.887493332,-0.00158120223415,2.59700011532,2.04560508739,53.1999350236,0.683037188758,4.78635605162 +0.49500000000000033,0.0287684290134,24.887493332,-0.00160677194296,2.59700011532,1.49764431607,53.1999350236,0.715994577108,4.78635605162 diff --git a/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_1.csv b/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_1.csv new file mode 100644 index 0000000000..a704d0ef68 --- /dev/null +++ b/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_1.csv @@ -0,0 +1,101 @@ +pivot_parameter,dss_x2_x1,total_distance_x2_x1,process_time_x2_x1,standard_deviation_x2_x1,dss_y2_y1,total_distance_y2_y1,process_time_y2_y1,standard_deviation_y2_y1 +0.0,0.774109933747,78.5323269828,-0.00111513031321,8.02406872151,0.00015699442728,21.1645936719,0.000388766220683,3.62270476039 +0.005,0.172934844167,78.5323269828,0.000312548594868,8.02406872151,0.000253790755873,21.1645936719,0.000478997467537,3.62270476039 +0.01,0.0434518775793,78.5323269828,9.33645706157e-05,8.02406872151,0.000389758416471,21.1645936719,0.00056805120926,3.62270476039 +0.015,0.019233004651,78.5323269828,5.94011493334e-05,8.02406872151,0.000486770043257,21.1645936719,0.000646124658721,3.62270476039 +0.02,0.0112138144262,78.5323269828,4.6202616342e-05,8.02406872151,0.000529134300053,21.1645936719,0.000713124729502,3.62270476039 +0.025,0.00757486755401,78.5323269828,3.95339280479e-05,8.02406872151,0.000474278984792,21.1645936719,0.000770415120738,3.62270476039 +0.030000000000000002,0.00559988445393,78.5323269828,3.57467616553e-05,8.02406872151,0.000152740369949,21.1645936719,0.000820287742045,3.62270476039 +0.035,0.004390795607,78.5323269828,3.34846745312e-05,8.02406872151,0.000797991250143,21.1645936719,0.000865542594222,3.62270476039 +0.04,0.00357888192657,78.5323269828,3.21335157958e-05,8.02406872151,0.00139258099056,21.1645936719,0.00090927581244,3.62270476039 +0.045,0.00298801637499,78.5323269828,3.13820403602e-05,8.02406872151,0.00213544322869,21.1645936719,0.000954896315223,3.62270476039 +0.049999999999999996,0.002522954625,78.5323269828,3.10643814811e-05,8.02406872151,0.00312433905151,21.1645936719,0.00100638290725,3.62270476039 +0.05499999999999999,0.00212519328404,78.5323269828,3.10947442252e-05,8.02406872151,0.00449128682363,21.1645936719,0.00106885498154,3.62270476039 +0.05999999999999999,0.00175195717774,78.5323269828,3.14383431158e-05,8.02406872151,0.00644420016217,21.1645936719,0.0011496907818,3.62270476039 +0.06499999999999999,0.00136101853355,78.5323269828,3.2099324124e-05,8.02406872151,0.00933486602648,21.1645936719,0.00126083041451,3.62270476039 +0.06999999999999999,0.000878087855177,78.5323269828,3.31188790748e-05,8.02406872151,0.0138014458706,21.1645936719,0.00142407700497,3.62270476039 +0.075,0.000466896928717,78.5323269828,3.45823471465e-05,8.02406872151,0.0211082874645,21.1645936719,0.00168536859298,3.62270476039 +0.08,0.00105539943751,78.5323269828,3.66384375052e-05,8.02406872151,0.0340932878574,21.1645936719,0.00216302079173,3.62270476039 +0.085,0.00136598259819,78.5323269828,3.95404879555e-05,8.02406872151,0.0605703170013,21.1645936719,0.00328710340681,3.62270476039 +0.09000000000000001,0.00153529464373,78.5323269828,4.37357620277e-05,8.02406872151,0.137405153594,21.1645936719,0.00883634014844,3.62270476039 +0.09500000000000001,0.00154146111344,78.5323269828,5.00760395577e-05,8.02406872151,0.212755471826,21.1645936719,-0.00846684654297,3.62270476039 +0.10000000000000002,0.00125478869626,78.5323269828,6.0390815383e-05,8.02406872151,1.5988061707,21.1645936719,-0.00250601690095,3.62270476039 +0.10500000000000002,0.000772175184071,78.5323269828,7.94364951969e-05,8.02406872151,7.48669871307,21.1645936719,-0.00134643522011,3.62270476039 +0.11000000000000003,0.00223574857561,78.5323269828,0.000124632059843,8.02406872151,0.413573575915,21.1645936719,-0.000855478667377,3.62270476039 +0.11500000000000003,0.00366331896809,78.5323269828,0.000352094517332,8.02406872151,0.121052016172,21.1645936719,-0.000584330264464,3.62270476039 +0.12000000000000004,0.00481738095475,78.5323269828,-0.000336680273934,8.02406872151,0.0503855034092,21.1645936719,-0.000410720594005,3.62270476039 +0.12500000000000003,0.00662913115137,78.5323269828,-0.000106374679546,8.02406872151,0.0234170232593,21.1645936719,-0.000286946114568,3.62270476039 +0.13000000000000003,0.00866007541832,78.5323269828,-6.08457355132e-05,8.02406872151,0.0107458842608,21.1645936719,-0.000189675836893,3.62270476039 +0.13500000000000004,0.0110758004082,78.5323269828,-4.15638099506e-05,8.02406872151,0.0041603475582,21.1645936719,-0.000105003718329,3.62270476039 +0.14000000000000004,0.0140284466065,78.5323269828,-3.09727411283e-05,8.02406872151,0.000617383138954,21.1645936719,-2.25654101801e-05,3.62270476039 +0.14500000000000005,0.0177699755735,78.5323269828,-2.42764214694e-05,8.02406872151,0.00124587128596,21.1645936719,6.76472198329e-05,3.62270476039 +0.15000000000000005,0.0227701859871,78.5323269828,-1.96176433169e-05,8.02406872151,0.00213169974396,21.1645936719,0.000178037706082,3.62270476039 +0.15500000000000005,0.0299926294325,78.5323269828,-1.61162762964e-05,8.02406872151,0.00244007370638,21.1645936719,0.000327303277569,3.62270476039 +0.16000000000000006,0.0416880551589,78.5323269828,-1.32927334511e-05,8.02406872151,0.00241168757692,21.1645936719,0.000548129320248,3.62270476039 +0.16500000000000006,0.0643186472701,78.5323269828,-1.08557501738e-05,8.02406872151,0.00218991014403,21.1645936719,0.000906013974106,3.62270476039 +0.17000000000000007,0.124719770968,78.5323269828,-8.61146363399e-06,8.02406872151,0.00184028567937,21.1645936719,0.00155620869662,3.62270476039 +0.17500000000000007,0.494938369974,78.5323269828,-6.41978064852e-06,8.02406872151,0.00126847297741,21.1645936719,0.00297767637778,3.62270476039 +0.18000000000000008,2.46641065603,78.5323269828,-4.17133774529e-06,8.02406872151,0.00173926936988,21.1645936719,0.00772575298958,3.62270476039 +0.18500000000000008,0.0414611869821,78.5323269828,-1.77413937144e-06,8.02406872151,0.025561946542,21.1645936719,-0.11539011265,3.62270476039 +0.19000000000000009,0.00569319620955,78.5323269828,8.55060129221e-07,8.02406872151,0.00146300939145,21.1645936719,-0.0100554509397,3.62270476039 +0.1950000000000001,0.011004902984,78.5323269828,3.79709063573e-06,8.02406872151,0.000475864139573,21.1645936719,-0.00635126793396,3.62270476039 +0.2000000000000001,0.0108503108153,78.5323269828,7.13581055212e-06,8.02406872151,0.000128654332099,21.1645936719,-0.00518006530933,3.62270476039 +0.2050000000000001,0.00969350347973,78.5323269828,1.09636231742e-05,8.02406872151,1.49277955888e-05,21.1645936719,-0.00467894362698,3.62270476039 +0.2100000000000001,0.00842420202358,78.5323269828,1.53879274562e-05,8.02406872151,4.02892302638e-05,21.1645936719,-0.0044476870953,3.62270476039 +0.2150000000000001,0.00724575947031,78.5323269828,2.05394988306e-05,8.02406872151,0.000191885884931,21.1645936719,-0.0043446838376,3.62270476039 +0.2200000000000001,0.00619304465914,78.5323269828,2.65841777047e-05,8.02406872151,0.000391175798864,21.1645936719,-0.0043045490451,3.62270476039 +0.22500000000000012,0.00525522371794,78.5323269828,3.37400009027e-05,8.02406872151,0.000673502363882,21.1645936719,-0.00429205403071,3.62270476039 +0.23000000000000012,0.00440922558223,78.5323269828,4.23033464715e-05,8.02406872151,0.00108776134503,21.1645936719,-0.00428710781864,3.62270476039 +0.23500000000000013,0.00362847465576,78.5323269828,5.26904309862e-05,8.02406872151,0.00170845633151,21.1645936719,-0.00427888014895,3.62270476039 +0.24000000000000013,0.00288251896262,78.5323269828,6.55060659113e-05,8.02406872151,0.00265234610929,21.1645936719,-0.004262899853,3.62270476039 +0.24500000000000013,0.002127734175,78.5323269828,8.16634197959e-05,8.02406872151,0.0041133507449,21.1645936719,-0.0042391343709,3.62270476039 +0.2500000000000001,0.001257759357,78.5323269828,0.000102605552429,8.02406872151,0.00643832583293,21.1645936719,-0.00421045589147,3.62270476039 +0.2550000000000001,0.000828378096761,78.5323269828,0.000130746825402,8.02406872151,0.010304266841,21.1645936719,-0.00418140075283,3.62270476039 +0.2600000000000001,0.00154019188196,78.5323269828,0.000170440017214,8.02406872151,0.0171821550257,21.1645936719,-0.00415725967944,3.62270476039 +0.2650000000000001,0.00187441428345,78.5323269828,0.000230381434784,8.02406872151,0.0307614176303,21.1645936719,-0.00414351845838,3.62270476039 +0.27000000000000013,0.00202193397403,78.5323269828,0.000330771307489,8.02406872151,0.0624826810512,21.1645936719,-0.00414561873163,3.62270476039 +0.27500000000000013,0.002001032412,78.5323269828,0.000531589183265,8.02406872151,0.163182566838,21.1645936719,-0.00416897908533,3.62270476039 +0.28000000000000014,0.00175329778763,78.5323269828,0.00112482219142,8.02406872151,0.841675558765,21.1645936719,-0.00421921817404,3.62270476039 +0.28500000000000014,0.00125269551862,78.5323269828,0.0359810627555,8.02406872151,30.1715064164,21.1645936719,-0.00430254667581,3.62270476039 +0.29000000000000015,0.00173690674608,78.5323269828,-0.00139473398204,8.02406872151,0.541470714699,21.1645936719,-0.0044263349351,3.62270476039 +0.29500000000000015,0.00310890477779,78.5323269828,-0.000737322863662,8.02406872151,0.166181672723,21.1645936719,-0.00459991742035,3.62270476039 +0.30000000000000016,0.00456146898278,78.5323269828,-0.00052674979752,8.02406872151,0.0829631693218,21.1645936719,-0.00483577503259,3.62270476039 +0.30500000000000016,0.00628601499582,78.5323269828,-0.000425524249225,8.02406872151,0.0512147337907,21.1645936719,-0.00515137300595,3.62270476039 +0.31000000000000016,0.00845797610112,78.5323269828,-0.000368150791594,8.02406872151,0.0356827739788,21.1645936719,-0.00557219787766,3.62270476039 +0.31500000000000017,0.0113216825999,78.5323269828,-0.0003331746523,8.02406872151,0.0269350413193,21.1645936719,-0.00613710629019,3.62270476039 +0.3200000000000002,0.015267935443,78.5323269828,-0.000311603763873,8.02406872151,0.0215737276619,21.1645936719,-0.00690843116545,3.62270476039 +0.3250000000000002,0.0209754548459,78.5323269828,-0.00029913248091,8.02406872151,0.0181422611288,21.1645936719,-0.00799273681681,3.62270476039 +0.3300000000000002,0.0297210356289,78.5323269828,-0.000293590171994,8.02406872151,0.0159619678347,21.1645936719,-0.00958820041251,3.62270476039 +0.3350000000000002,0.0441503928111,78.5323269828,-0.000293955979829,8.02406872151,0.0147516320894,21.1645936719,-0.0121094126143,3.62270476039 +0.3400000000000002,0.0705032247119,78.5323269828,-0.00029995850538,8.02406872151,0.0145712178054,21.1645936719,-0.0165925304479,3.62270476039 +0.3450000000000002,0.126536483196,78.5323269828,-0.000311949955848,8.02406872151,0.016262292345,21.1645936719,-0.0265554172213,3.62270476039 +0.3500000000000002,0.280803513005,78.5323269828,-0.000330964255244,8.02406872151,0.0265280222762,21.1645936719,-0.066497609455,3.62270476039 +0.3550000000000002,1.02324913362,78.5323269828,-0.000358979521713,8.02406872151,0.0298908562968,21.1645936719,0.136708832882,3.62270476039 +0.3600000000000002,80.1685866409,78.5323269828,-0.000399528825841,8.02406872151,0.00187240234695,21.1645936719,0.0343043054976,3.62270476039 +0.3650000000000002,1.79519173079,78.5323269828,-0.000459072822812,8.02406872151,0.0027974550452,21.1645936719,0.0199018342634,3.62270476039 +0.3700000000000002,0.396905209568,78.5323269828,-0.000550354811098,8.02406872151,0.00196447877021,21.1645936719,0.0142027898753,3.62270476039 +0.3750000000000002,0.172007319674,78.5323269828,-0.000701977803126,8.02406872151,0.00121110983051,21.1645936719,0.0111763984294,3.62270476039 +0.3800000000000002,0.0968649163453,78.5323269828,-0.00099349891318,8.02406872151,0.00061232574077,21.1645936719,0.00931878570727,3.62270476039 +0.38500000000000023,0.0636563968426,78.5323269828,-0.00175835669441,8.02406872151,0.000167538565504,21.1645936719,0.00807685474333,3.62270476039 +0.39000000000000024,0.0561966955212,78.5323269828,-0.00856322755607,8.02406872151,8.0456588826e-05,21.1645936719,0.00719971537706,3.62270476039 +0.39500000000000024,0.0260206570271,78.5323269828,0.00291043543761,8.02406872151,0.000288516079035,21.1645936719,0.00655732455789,3.62270476039 +0.40000000000000024,0.0213502799877,78.5323269828,0.00123939077254,8.02406872151,0.000876677291258,21.1645936719,0.00607577941537,3.62270476039 +0.40500000000000025,0.016899092494,78.5323269828,0.000788878127904,8.02406872151,0.0017178654172,21.1645936719,0.00571021259275,3.62270476039 +0.41000000000000025,0.0134051383915,78.5323269828,0.000581133294843,8.02406872151,0.00289031251364,21.1645936719,0.0054320610037,3.62270476039 +0.41500000000000026,0.0106196180657,78.5323269828,0.00046265549946,8.02406872151,0.00452348561758,21.1645936719,0.00522255321938,3.62270476039 +0.42000000000000026,0.00830333105079,78.5323269828,0.000386842345636,8.02406872151,0.00682983486137,21.1645936719,0.00506915740742,3.62270476039 +0.42500000000000027,0.0062597143635,78.5323269828,0.000334748408515,8.02406872151,0.0101640037956,21.1645936719,0.00496355398608,3.62270476039 +0.43000000000000027,0.00428053116836,78.5323269828,0.000297231742542,8.02406872151,0.0151430112141,21.1645936719,0.00490045113692,3.62270476039 +0.4350000000000003,0.00183094244122,78.5323269828,0.000269350407586,8.02406872151,0.0229061424782,21.1645936719,0.00487690217277,3.62270476039 +0.4400000000000003,0.00273321375559,78.5323269828,0.00024820979193,8.02406872151,0.0357308620284,21.1645936719,0.00489195140857,3.62270476039 +0.4450000000000003,0.00388360453739,78.5323269828,0.000232012825754,8.02406872151,0.0586844015204,21.1645936719,0.00494652670219,3.62270476039 +0.4500000000000003,0.00445348727543,78.5323269828,0.000219596381833,8.02406872151,0.104878587617,21.1645936719,0.00504355611419,3.62270476039 +0.4550000000000003,0.0046422237846,78.5323269828,0.000210187123956,8.02406872151,0.217029543586,21.1645936719,0.00518833724011,3.62270476039 +0.4600000000000003,0.00441220704131,78.5323269828,0.000203265440004,8.02406872151,0.603815420293,21.1645936719,0.00538925015073,3.62270476039 +0.4650000000000003,0.00346569189527,78.5323269828,0.000198486694994,8.02406872151,4.0640633147,21.1645936719,0.00565900476547,3.62270476039 +0.4700000000000003,0.00191015692685,78.5323269828,0.000195635089853,8.02406872151,17.9868344846,21.1645936719,0.00601680122675,3.62270476039 +0.4750000000000003,0.00569507867241,78.5323269828,0.000194597602017,8.02406872151,1.19241195807,21.1645936719,0.00649217227692,3.62270476039 +0.4800000000000003,0.00910691494635,78.5323269828,0.00019535171858,8.02406872151,0.416943814092,21.1645936719,0.00713216163498,3.62270476039 +0.4850000000000003,0.0130557612771,78.5323269828,0.000197964290948,8.02406872151,0.219083602994,21.1645936719,0.00801569461804,3.62270476039 +0.4900000000000003,0.0154658754364,78.5323269828,0.000202601458671,8.02406872151,0.122663915599,21.1645936719,0.00928513779775,3.62270476039 +0.49500000000000033,0.015404620316,78.5323269828,0.00020681289425,8.02406872151,0.0837281391226,21.1645936719,0.0101591584241,3.62270476039 diff --git a/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_2.csv b/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_2.csv new file mode 100644 index 0000000000..c063dfa2e5 --- /dev/null +++ b/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_2.csv @@ -0,0 +1,101 @@ +pivot_parameter,dss_x2_x1,total_distance_x2_x1,process_time_x2_x1,standard_deviation_x2_x1,dss_y2_y1,total_distance_y2_y1,process_time_y2_y1,standard_deviation_y2_y1 +0.0,0.0499281922006,37.767391036,0.00214950159842,4.28650302037,1.48043773097e-06,153.440198563,-2.78869210709e-06,15.4153269263 +0.005,0.108821350709,37.767391036,0.00344512627925,4.28650302037,1.92343383019e-06,153.440198563,-3.78745340746e-06,15.4153269263 +0.01,2.80127775886,37.767391036,-0.0154495882567,4.28650302037,1.53098863678e-06,153.440198563,-4.83741886226e-06,15.4153269263 +0.015,0.666352304377,37.767391036,-0.00270493401925,4.28650302037,1.90085196915e-06,153.440198563,-5.79512180408e-06,15.4153269263 +0.02,0.105537707351,37.767391036,-0.00161203987177,4.28650302037,3.32599773558e-06,153.440198563,-6.63492581009e-06,15.4153269263 +0.025,0.0431344458161,37.767391036,-0.00122160618589,4.28650302037,4.40380458328e-06,153.440198563,-7.35165063744e-06,15.4153269263 +0.030000000000000002,0.0243318377974,37.767391036,-0.0010306546398,4.28650302037,5.17246201225e-06,153.440198563,-7.95660994721e-06,15.4153269263 +0.035,0.0161802116007,37.767391036,-0.000923652027417,4.28650302037,5.32498316785e-06,153.440198563,-8.47174651242e-06,15.4153269263 +0.04,0.0118771511525,37.767391036,-0.00085975689653,4.28650302037,3.63941540802e-06,153.440198563,-8.92454004322e-06,15.4153269263 +0.045,0.00929529622336,37.767391036,-0.000820975161398,4.28650302037,6.48621474724e-06,153.440198563,-9.3449510607e-06,15.4153269263 +0.049999999999999996,0.00759070348954,37.767391036,-0.000798295647998,4.28650302037,1.3658071887e-05,153.440198563,-9.76461077415e-06,15.4153269263 +0.05499999999999999,0.00636976921521,37.767391036,-0.000786888171608,4.28650302037,2.28305802338e-05,153.440198563,-1.02181231591e-05,15.4153269263 +0.05999999999999999,0.00542383077465,37.767391036,-0.000784147860477,4.28650302037,3.54369772377e-05,153.440198563,-1.07466180944e-05,15.4153269263 +0.06499999999999999,0.00462768310852,37.767391036,-0.000788818411715,4.28650302037,5.3214686841e-05,153.440198563,-1.14045547185e-05,15.4153269263 +0.06999999999999999,0.00389360580876,37.767391036,-0.00080059531129,4.28650302037,7.8766485877e-05,153.440198563,-1.22726906907e-05,15.4153269263 +0.075,0.00314310405167,37.767391036,-0.000819987724073,4.28650302037,0.000116258353714,153.440198563,-1.34849615832e-05,15.4153269263 +0.08,0.00226732731421,37.767391036,-0.000848368466594,4.28650302037,0.000172710528439,153.440198563,-1.52914860661e-05,15.4153269263 +0.085,0.000856688329193,37.767391036,-0.000888228880415,4.28650302037,0.000260628405531,153.440198563,-1.82327415937e-05,15.4153269263 +0.09000000000000001,0.00183568332738,37.767391036,-0.000943751981274,4.28650302037,0.000403597002242,153.440198563,-2.37528099707e-05,15.4153269263 +0.09500000000000001,0.00264621581141,37.767391036,-0.00102200341102,4.28650302037,0.000645816804441,153.440198563,-3.74874734818e-05,15.4153269263 +0.10000000000000002,0.00312285344438,37.767391036,-0.00113551387155,4.28650302037,0.000916181838688,153.440198563,-0.000125172028078,15.4153269263 +0.10500000000000002,0.00330033104617,37.767391036,-0.00130846731198,4.28650302037,0.0031709156581,153.440198563,6.80776138803e-05,15.4153269263 +0.11000000000000003,0.00305357249322,37.767391036,-0.00159401185415,4.28650302037,0.0092741572586,153.440198563,2.3630670193e-05,15.4153269263 +0.11500000000000003,0.00192066846575,37.767391036,-0.00213582689044,4.28650302037,0.184535236178,153.440198563,1.31146173897e-05,15.4153269263 +0.12000000000000004,0.00252956428232,37.767391036,-0.00350365660164,4.28650302037,0.0261601202469,153.440198563,8.43267598045e-06,15.4153269263 +0.12500000000000003,0.00197195699887,37.767391036,-0.0128058571372,4.28650302037,0.00407839423995,153.440198563,5.78128280747e-06,15.4153269263 +0.13000000000000003,0.0119156742882,37.767391036,0.0064905335384,4.28650302037,0.00136658922718,153.440198563,4.05421618831e-06,15.4153269263 +0.13500000000000004,0.013671245455,37.767391036,0.0024343989044,4.28650302037,0.000561531221493,153.440198563,2.8037103852e-06,15.4153269263 +0.14000000000000004,0.0169855507165,37.767391036,0.00144628153041,4.28650302037,0.000233033923817,153.440198563,1.80407295399e-06,15.4153269263 +0.14500000000000005,0.0210482642293,37.767391036,0.00100434732335,4.28650302037,7.82755721773e-05,153.440198563,9.15992711228e-07,15.4153269263 +0.15000000000000005,0.0258835576537,37.767391036,0.000755025231215,4.28650302037,1.7285453844e-06,153.440198563,3.07115919595e-08,15.4153269263 +0.15500000000000005,0.0317078406287,37.767391036,0.000594637268036,4.28650302037,3.48615386997e-05,153.440198563,-9.62513297606e-07,15.4153269263 +0.16000000000000006,0.03896086226,37.767391036,0.000481492502845,4.28650302037,4.95564952756e-05,153.440198563,-2.20761666073e-06,15.4153269263 +0.16500000000000006,0.0484979384313,37.767391036,0.000395330321375,4.28650302037,5.19049338564e-05,153.440198563,-3.9299302102e-06,15.4153269263 +0.17000000000000007,0.0620887853646,37.767391036,0.000324893762769,4.28650302037,4.72752726694e-05,153.440198563,-6.53687252305e-06,15.4153269263 +0.17500000000000007,0.0838925432036,37.767391036,0.000263230775606,4.28650302037,3.86756477784e-05,153.440198563,-1.08771768008e-05,15.4153269263 +0.18000000000000008,0.126109101157,37.767391036,0.000205642022718,4.28650302037,2.75555601199e-05,153.440198563,-1.90800002131e-05,15.4153269263 +0.18500000000000008,0.243272898987,37.767391036,0.000148680404437,4.28650302037,1.39478669348e-05,153.440198563,-3.84293742393e-05,15.4153269263 +0.19000000000000009,1.25320061527,37.767391036,8.96142018957e-05,4.28650302037,4.26359975484e-06,153.440198563,-0.000120753657011,15.4153269263 +0.1950000000000001,0.328279795372,37.767391036,2.61089979965e-05,4.28650302037,6.32719894207e-05,153.440198563,0.000281470696544,15.4153269263 +0.2000000000000001,0.0566244476106,37.767391036,-4.39845116188e-05,4.28650302037,4.27397326215e-05,153.440198563,8.84294864703e-05,15.4153269263 +0.2050000000000001,0.0514053505134,37.767391036,-0.000122794909578,4.28650302037,4.0516001398e-05,153.440198563,6.14787929997e-05,15.4153269263 +0.2100000000000001,0.0405028662944,37.767391036,-0.000212581686572,4.28650302037,3.81748740252e-05,153.440198563,5.17038603202e-05,15.4153269263 +0.2150000000000001,0.0321067659877,37.767391036,-0.000315900981059,4.28650302037,3.36695540624e-05,153.440198563,4.71889229888e-05,15.4153269263 +0.2200000000000001,0.0258403274918,37.767391036,-0.00043581283209,4.28650302037,2.4387399431e-05,153.440198563,4.4875060237e-05,15.4153269263 +0.22500000000000012,0.0210417485375,37.767391036,-0.000576165408484,4.28650302037,1.57630978935e-05,153.440198563,4.35861729715e-05,15.4153269263 +0.23000000000000012,0.0172488698855,37.767391036,-0.000742009822369,4.28650302037,3.90452419768e-05,153.440198563,4.27615567712e-05,15.4153269263 +0.23500000000000013,0.0141582984866,37.767391036,-0.000940234887552,4.28650302037,5.85822401439e-05,153.440198563,4.21069168398e-05,15.4153269263 +0.24000000000000013,0.0115667017187,37.767391036,-0.00118058169524,4.28650302037,7.93280986529e-05,153.440198563,4.14713402758e-05,15.4153269263 +0.24500000000000013,0.00933193577921,37.767391036,-0.00147734237755,4.28650302037,0.00010323904041,153.440198563,4.07922860834e-05,15.4153269263 +0.2500000000000001,0.00734854275724,37.767391036,-0.00185236098997,4.28650302037,0.000132353675386,153.440198563,4.00634095801e-05,15.4153269263 +0.2550000000000001,0.00553004791768,37.767391036,-0.00234068708837,4.28650302037,0.000169564909451,153.440198563,3.93118213766e-05,15.4153269263 +0.2600000000000001,0.00378746557468,37.767391036,-0.00300211254591,4.28650302037,0.000219516980964,153.440198563,3.85814626358e-05,15.4153269263 +0.2650000000000001,0.00194455333851,37.767391036,-0.00394726388461,4.28650302037,0.000290298928418,153.440198563,3.79219324726e-05,15.4153269263 +0.27000000000000013,0.00138630396449,37.767391036,-0.00540542120334,4.28650302037,0.000397224923975,153.440198563,3.73821990832e-05,15.4153269263 +0.27500000000000013,0.00175262947416,37.767391036,-0.00794025570953,4.28650302037,0.000572450985139,153.440198563,3.70082269142e-05,15.4153269263 +0.28000000000000014,0.000671392420297,37.767391036,-0.0134048916244,4.28650302037,0.000893718572204,153.440198563,3.68434041146e-05,15.4153269263 +0.28500000000000014,0.0046774271677,37.767391036,-0.0335288065715,4.28650302037,0.00159265948961,153.440198563,3.69308396882e-05,15.4153269263 +0.29000000000000015,0.0317778653141,37.767391036,0.108292813634,4.28650302037,0.00365085181784,153.440198563,3.73169772657e-05,15.4153269263 +0.29500000000000015,0.00818339475296,37.767391036,0.0231436754672,4.28650302037,0.0161638728405,153.440198563,3.80564183044e-05,15.4153269263 +0.30000000000000016,0.00111412560967,37.767391036,0.0137808997325,4.28650302037,0.884787886606,153.440198563,3.9218335031e-05,15.4153269263 +0.30500000000000016,0.00694290356226,37.767391036,0.0102407538624,4.28650302037,0.00939532288541,153.440198563,4.08954655535e-05,15.4153269263 +0.31000000000000016,0.010493995504,37.767391036,0.00842291698246,4.28650302037,0.00249837948379,153.440198563,4.32176408333e-05,15.4153269263 +0.31500000000000017,0.0141331036889,37.767391036,0.00735357855299,4.28650302037,0.00108921245228,153.440198563,4.6373574815e-05,15.4153269263 +0.3200000000000002,0.0183727680949,37.767391036,0.00668439911726,4.28650302037,0.000581338912779,153.440198563,5.06483583235e-05,15.4153269263 +0.3250000000000002,0.0236396025607,37.767391036,0.00626172773479,4.28650302037,0.000342494060474,153.440198563,5.64925313104e-05,15.4153269263 +0.3300000000000002,0.0304957537778,37.767391036,0.0060093926315,4.28650302037,0.000209953796173,153.440198563,6.46596457532e-05,15.4153269263 +0.3350000000000002,0.0398163176516,37.767391036,0.00588786205733,4.28650302037,0.000126330020937,153.440198563,7.65079974373e-05,15.4153269263 +0.3400000000000002,0.0530915153608,37.767391036,0.00587779409205,4.28650302037,6.63151602054e-05,153.440198563,9.47525643711e-05,15.4153269263 +0.3450000000000002,0.0730701399213,37.767391036,0.0059730818723,4.28650302037,1.51946100957e-05,153.440198563,0.000125710933657,15.4153269263 +0.3500000000000002,0.105319260008,37.767391036,0.00617843981787,4.28650302037,4.26696601349e-05,153.440198563,0.000188221448848,15.4153269263 +0.3550000000000002,0.162593654311,37.767391036,0.00650996412315,4.28650302037,0.000157569681522,153.440198563,0.000375039417191,15.4153269263 +0.3600000000000002,0.279772888882,37.767391036,0.00699877288072,4.28650302037,0.0098837259003,153.440198563,0.0196652331057,15.4153269263 +0.3650000000000002,0.583338306626,37.767391036,0.00769949424298,4.28650302037,0.000198084213264,153.440198563,-0.000399736267412,15.4153269263 +0.3700000000000002,1.86574241185,37.767391036,0.00870860844522,4.28650302037,8.02869790213e-05,153.440198563,-0.000201481595308,15.4153269263 +0.3750000000000002,42.3579811861,37.767391036,0.0102064301858,4.28650302037,1.3156166492e-05,153.440198563,-0.00013678925093,15.4153269263 +0.3800000000000002,5.26716178934,37.767391036,0.0125657200952,4.28650302037,4.4608825145e-05,153.440198563,-0.000104990825304,15.4153269263 +0.38500000000000023,0.889900805818,37.767391036,0.0166922695136,4.28650302037,5.34329932638e-05,153.440198563,-8.62734355043e-05,15.4153269263 +0.39000000000000024,0.304090368719,37.767391036,0.0254915046914,4.28650302037,5.57381594146e-05,153.440198563,-7.40790823169e-05,15.4153269263 +0.39500000000000024,0.0573578413862,37.767391036,0.0561239913279,4.28650302037,5.41865304024e-05,153.440198563,-6.56105929421e-05,15.4153269263 +0.40000000000000024,0.693730232489,37.767391036,-0.246683611764,4.28650302037,4.84623702636e-05,153.440198563,-5.94757357043e-05,15.4153269263 +0.40500000000000025,0.164279761324,37.767391036,-0.0382846008641,4.28650302037,3.50507135296e-05,153.440198563,-5.49054663602e-05,15.4153269263 +0.41000000000000025,0.0999385766782,37.767391036,-0.0207791318521,4.28650302037,2.59158836574e-05,153.440198563,-5.14422667378e-05,15.4153269263 +0.41500000000000026,0.0698826288974,37.767391036,-0.0143215945081,4.28650302037,6.1613094492e-05,153.440198563,-4.87989196164e-05,15.4153269263 +0.42000000000000026,0.0518196747833,37.767391036,-0.0109904218024,4.28650302037,9.44605561698e-05,153.440198563,-4.67881738629e-05,15.4153269263 +0.42500000000000027,0.0396054744386,37.767391036,-0.00897650633767,4.28650302037,0.000132038605754,153.440198563,-4.52851213661e-05,15.4153269263 +0.43000000000000027,0.030669772508,37.767391036,-0.00764130095923,4.28650302037,0.000178513875608,153.440198563,-4.42059756702e-05,15.4153269263 +0.4350000000000003,0.0236836984137,37.767391036,-0.00670217276586,4.28650302037,0.000238905931645,153.440198563,-4.34956821917e-05,15.4153269263 +0.4400000000000003,0.0178336157332,37.767391036,-0.00601499611813,4.28650302037,0.000320699620659,153.440198563,-4.31206222862e-05,15.4153269263 +0.4450000000000003,0.0124729552851,37.767391036,-0.00549878952213,4.28650302037,0.000436162799237,153.440198563,-4.30644970741e-05,15.4153269263 +0.4500000000000003,0.0065709238374,37.767391036,-0.00510476779296,4.28650302037,0.000606930495375,153.440198563,-4.33264233714e-05,15.4153269263 +0.4550000000000003,0.00599985403089,37.767391036,-0.00480201464787,4.28650302037,0.000874311714594,153.440198563,-4.39208298679e-05,15.4153269263 +0.4600000000000003,0.00954601659704,37.767391036,-0.0045702320651,4.28650302037,0.00132544503602,153.440198563,-4.48791454024e-05,15.4153269263 +0.4650000000000003,0.0112455781012,37.767391036,-0.00439581577765,4.28650302037,0.00217082289174,153.440198563,-4.62536743346e-05,15.4153269263 +0.4700000000000003,0.0119359941745,37.767391036,-0.00426962454311,4.28650302037,0.0040312798916,153.440198563,-4.81246088084e-05,15.4153269263 +0.4750000000000003,0.0116562165228,37.767391036,-0.00418567497193,4.28650302037,0.00945788743967,153.440198563,-5.06120757773e-05,15.4153269263 +0.4800000000000003,0.00993698502416,37.767391036,-0.00414037944419,4.28650302037,0.0396906266945,153.440198563,-5.38969552789e-05,15.4153269263 +0.4850000000000003,0.00404605115942,37.767391036,-0.00413213174602,4.28650302037,154.150605696,153.440198563,-5.82581034752e-05,15.4153269263 +0.4900000000000003,0.00998731207677,37.767391036,-0.00416114504231,4.28650302037,0.034118947356,153.440198563,-6.41425967643e-05,15.4153269263 +0.49500000000000033,0.0128971436753,37.767391036,-0.00421966639005,4.28650302037,0.0125953353559,153.440198563,-6.81736548532e-05,15.4153269263 diff --git a/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_3.csv b/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_3.csv new file mode 100644 index 0000000000..9e2bd88dd9 --- /dev/null +++ b/tests/framework/PostProcessors/Validation/gold/DSS/pp2_print_3.csv @@ -0,0 +1,101 @@ +pivot_parameter,dss_x2_x1,total_distance_x2_x1,process_time_x2_x1,standard_deviation_x2_x1,dss_y2_y1,total_distance_y2_y1,process_time_y2_y1,standard_deviation_y2_y1 +0.0,0.697504916097,44.0357167442,0.000187067290355,4.26023895104,2.11276592754e-05,89.5779339625,-0.000285845842716,6.37493074725 +0.005,0.0937961442649,44.0357167442,-0.0107945042615,4.26023895104,3.92865465678e-05,89.5779339625,-0.000364488540017,6.37493074725 +0.01,0.0146841058889,44.0357167442,-9.71177503994e-05,4.26023895104,6.67856771506e-05,89.5779339625,-0.000443156077267,6.37493074725 +0.015,0.00506653565941,44.0357167442,-5.33732447477e-05,4.26023895104,8.62016576422e-05,89.5779339625,-0.000512069162707,6.37493074725 +0.02,0.00264912003481,44.0357167442,-3.93028795981e-05,4.26023895104,9.26173409153e-05,89.5779339625,-0.000570402317613,6.37493074725 +0.025,0.00168680153944,44.0357167442,-3.26829677854e-05,4.26023895104,8.30889723401e-05,89.5779339625,-0.000618795490168,6.37493074725 +0.030000000000000002,0.00120431279303,44.0357167442,-2.90367763534e-05,4.26023895104,4.79002520117e-05,89.5779339625,-0.000658842799678,6.37493074725 +0.035,0.000924973573352,44.0357167442,-2.68683093569e-05,4.26023895104,6.63160867215e-05,89.5779339625,-0.000692611654596,6.37493074725 +0.04,0.00074556549366,44.0357167442,-2.55379784572e-05,4.26023895104,0.000106803672211,89.5779339625,-0.00072232082436,6.37493074725 +0.045,0.000620054135386,44.0357167442,-2.47300438834e-05,4.26023895104,0.000127260851072,89.5779339625,-0.000750198057986,6.37493074725 +0.049999999999999996,0.000524915785644,44.0357167442,-2.42749694187e-05,4.26023895104,0.000126106445899,89.5779339625,-0.000778489952812,6.37493074725 +0.05499999999999999,0.000446506998059,44.0357167442,-2.40785835079e-05,4.26023895104,9.45463572758e-05,89.5779339625,-0.000809598180607,6.37493074725 +0.05999999999999999,0.000375594130202,44.0357167442,-2.40903563519e-05,4.26023895104,1.65922809e-05,89.5779339625,-0.000846347883827,6.37493074725 +0.06499999999999999,0.000304218800638,44.0357167442,-2.42883489049e-05,4.26023895104,0.000135747532565,89.5779339625,-0.000892453698131,6.37493074725 +0.06999999999999999,0.000221835612996,44.0357167442,-2.4672418092e-05,4.26023895104,0.000413231845106,89.5779339625,-0.000953366778074,6.37493074725 +0.075,9.2770565207e-05,44.0357167442,-2.52624422277e-05,4.26023895104,0.00091376853062,89.5779339625,-0.001037969938,6.37493074725 +0.08,0.000173172894743,44.0357167442,-2.61007254317e-05,4.26023895104,0.00184345477911,89.5779339625,-0.00116240376062,6.37493074725 +0.085,0.000255676889715,44.0357167442,-2.72594468592e-05,4.26023895104,0.00369298428297,89.5779339625,-0.00136012060659,6.37493074725 +0.09000000000000001,0.000305994644935,44.0357167442,-2.88562660331e-05,4.26023895104,0.00786265864931,89.5779339625,-0.00171461681719,6.37493074725 +0.09500000000000001,0.000326642852658,44.0357167442,-3.10857518336e-05,4.26023895104,0.0196849658811,89.5779339625,-0.00251090325498,6.37493074725 +0.10000000000000002,0.000299811467444,44.0357167442,-3.42857835574e-05,4.26023895104,0.072195401223,89.5779339625,-0.00577866461621,6.37493074725 +0.10500000000000002,0.000134961152106,44.0357167442,-3.90918580476e-05,4.26023895104,59.6980859328,89.5779339625,0.00984455394909,6.37493074725 +0.11000000000000003,0.000386021399898,44.0357167442,-4.68508068181e-05,4.26023895104,0.14193230949,89.5779339625,0.00228496629479,6.37493074725 +0.11500000000000003,0.000689017368324,44.0357167442,-6.09976586018e-05,4.26023895104,0.0323262493585,89.5779339625,0.00117371403423,6.37493074725 +0.12000000000000004,0.00102175449744,44.0357167442,-9.36654095125e-05,4.26023895104,0.0132653728221,89.5779339625,0.000729645787486,6.37493074725 +0.12500000000000003,0.0013483939446,44.0357167442,-0.000240809435488,4.26023895104,0.00662492545004,89.5779339625,0.000490726533187,6.37493074725 +0.13000000000000003,0.00225972652341,44.0357167442,0.000312906657587,4.26023895104,0.00353345960159,89.5779339625,0.00033995371488,6.37493074725 +0.13500000000000004,0.00276334008842,44.0357167442,8.79609596538e-05,4.26023895104,0.00186443481341,89.5779339625,0.000233288254922,6.37493074725 +0.14000000000000004,0.00357504670606,44.0357167442,4.91331111265e-05,4.26023895104,0.000897577524816,89.5779339625,0.000149619168864,6.37493074725 +0.14500000000000005,0.00465976804457,44.0357167442,3.31771549351e-05,4.26023895104,0.000330318804864,89.5779339625,7.64550608065e-05,6.37493074725 +0.15000000000000005,0.00614778533549,44.0357167442,2.45300381279e-05,4.26023895104,1.29353018048e-05,89.5779339625,4.40631399263e-06,6.37493074725 +0.15500000000000005,0.00831850845749,44.0357167442,1.90996554934e-05,4.26023895104,0.000139727800254,89.5779339625,-7.58221086535e-05,6.37493074725 +0.16000000000000006,0.0118115724806,44.0357167442,1.53305942382e-05,4.26023895104,0.000181860188277,89.5779339625,-0.000176144980024,6.37493074725 +0.16500000000000006,0.018375321213,44.0357167442,1.24932460113e-05,4.26023895104,0.000150837393926,89.5779339625,-0.000315173730856,6.37493074725 +0.17000000000000007,0.0345105680007,44.0357167442,1.01920437362e-05,4.26023895104,7.50239026571e-05,89.5779339625,-0.000526715755,6.37493074725 +0.17500000000000007,0.106536282721,44.0357167442,8.18702485921e-06,4.26023895104,1.45928717769e-05,89.5779339625,-0.000881888450068,6.37493074725 +0.18000000000000008,42.5050393615,44.0357167442,6.31817273867e-06,4.26023895104,6.56593858581e-05,89.5779339625,-0.00156222652767,6.37493074725 +0.18500000000000008,0.0649333036591,44.0357167442,4.46936234261e-06,4.26023895104,0.000496398707045,89.5779339625,-0.00321143489458,6.37493074725 +0.19000000000000009,0.00826148646792,44.0357167442,2.54933415573e-06,4.26023895104,0.00261240983115,89.5779339625,-0.0109964997649,6.37493074725 +0.1950000000000001,0.000626779082105,44.0357167442,4.80492674955e-07,4.26023895104,0.0050883390726,89.5779339625,0.0177953503839,6.37493074725 +0.2000000000000001,0.00119382519224,44.0357167442,-1.80867751303e-06,4.26023895104,0.00192045995026,89.5779339625,0.00651698961225,6.37493074725 +0.2050000000000001,0.00165109291848,44.0357167442,-4.38977505641e-06,4.26023895104,0.00116369666109,89.5779339625,0.00460286823153,6.37493074725 +0.2100000000000001,0.00168763904999,44.0357167442,-7.34063222456e-06,4.26023895104,0.000334337764555,89.5779339625,0.00385576098808,6.37493074725 +0.2150000000000001,0.0015783384851,44.0357167442,-1.07526691661e-05,4.26023895104,0.00103512244089,89.5779339625,0.00347146350879,6.37493074725 +0.2200000000000001,0.001418432001,44.0357167442,-1.47408934766e-05,4.26023895104,0.00157196745902,89.5779339625,0.0032342436858,6.37493074725 +0.22500000000000012,0.00124384440593,44.0357167442,-1.94586942711e-05,4.26023895104,0.00206145450576,89.5779339625,0.00306143899918,6.37493074725 +0.23000000000000012,0.00106802325323,44.0357167442,-2.51211187804e-05,4.26023895104,0.00256464516031,89.5779339625,0.00291624283213,6.37493074725 +0.23500000000000013,0.000894848382723,44.0357167442,-3.20435749503e-05,4.26023895104,0.00311554115278,89.5779339625,0.00278230231857,6.37493074725 +0.24000000000000013,0.000723278600185,44.0357167442,-4.07100742261e-05,4.26023895104,0.00375191397058,89.5779339625,0.00265371902434,6.37493074725 +0.24500000000000013,0.00054800403086,44.0357167442,-5.19020566123e-05,4.26023895104,0.00452998537195,89.5779339625,0.00252998198122,6.37493074725 +0.2500000000000001,0.0003537970648,44.0357167442,-6.69627130596e-05,4.26023895104,0.0055431846461,89.5779339625,0.00241301574614,6.37493074725 +0.2550000000000001,8.68407622395e-05,44.0357167442,-8.840025254e-05,4.26023895104,0.00695954936342,89.5779339625,0.00230547016147,6.37493074725 +0.2600000000000001,0.000316952656444,44.0357167442,-0.000121477670975,4.26023895104,0.00911184615088,89.5779339625,0.00220985266387,6.37493074725 +0.2650000000000001,0.000390433716055,44.0357167442,-0.000179380133502,4.26023895104,0.0127519961552,89.5779339625,0.00212821322694,6.37493074725 +0.27000000000000013,0.000393465128533,44.0357167442,-0.000306996636892,4.26023895104,0.0199385942529,89.5779339625,0.00206215097769,6.37493074725 +0.27500000000000013,0.000259823603625,44.0357167442,-0.00081908905086,4.26023895104,0.0383712317313,89.5779339625,0.00201298017563,6.37493074725 +0.28000000000000014,0.000775077762552,44.0357167442,0.00173456837424,4.26023895104,0.122616509773,89.5779339625,0.00198196146425,6.37493074725 +0.28500000000000014,0.00023764621841,44.0357167442,0.000462059034537,4.26023895104,19.700138365,89.5779339625,0.00197055879032,6.37493074725 +0.29000000000000015,0.000493550598071,44.0357167442,0.00028067956066,4.26023895104,0.112162774452,89.5779339625,0.00198072105478,6.37493074725 +0.29500000000000015,0.000822464916217,44.0357167442,0.000208933559662,4.26023895104,0.0192211930105,89.5779339625,0.00201521644409,6.37493074725 +0.30000000000000016,0.00116169892401,44.0357167442,0.000171118821449,4.26023895104,0.0053257961665,89.5779339625,0.00207807654646,6.37493074725 +0.30500000000000016,0.00155629676066,44.0357167442,0.000148324911653,4.26023895104,0.00117886244913,89.5779339625,0.00217525091048,6.37493074725 +0.31000000000000016,0.0020436250356,44.0357167442,0.000133611868893,4.26023895104,0.000489612659742,89.5779339625,0.00231565489266,6.37493074725 +0.31500000000000017,0.00267369945956,44.0357167442,0.000123857659431,4.26023895104,0.00130280875937,89.5779339625,0.00251296636026,6.37493074725 +0.3200000000000002,0.00352482565735,44.0357167442,0.000117477508466,4.26023895104,0.00177496195624,89.5779339625,0.00278891875703,6.37493074725 +0.3250000000000002,0.00473050748682,44.0357167442,0.000113612883448,4.26023895104,0.0021113675454,89.5779339625,0.00317980679092,6.37493074725 +0.3300000000000002,0.00653681064575,44.0357167442,0.000111796354109,4.26023895104,0.00241562198867,89.5779339625,0.00375058898393,6.37493074725 +0.3350000000000002,0.00944099419118,44.0357167442,0.000111800971938,4.26023895104,0.00276359005011,89.5779339625,0.00462944472829,6.37493074725 +0.3400000000000002,0.0145776170637,44.0357167442,0.000113573416926,4.26023895104,0.00325296345912,89.5779339625,0.00610842452499,6.37493074725 +0.3450000000000002,0.0250252601294,44.0357167442,0.000117213412398,4.26023895104,0.00410752911143,89.5779339625,0.00902663680069,6.37493074725 +0.3500000000000002,0.0517716847166,44.0357167442,0.000122987924362,4.26023895104,0.00626092857003,89.5779339625,0.0171745788181,6.37493074725 +0.3550000000000002,0.160901321584,44.0357167442,0.000131384453022,4.26023895104,0.0367857434348,89.5779339625,0.144573548471,6.37493074725 +0.3600000000000002,2.71000601085,44.0357167442,0.000143225879407,4.26023895104,0.00166587610837,89.5779339625,-0.0235836339062,6.37493074725 +0.3650000000000002,0.621168188205,44.0357167442,0.000159904569424,4.26023895104,0.00236685788718,89.5779339625,-0.0112173400401,6.37493074725 +0.3700000000000002,0.101184406539,44.0357167442,0.00018388215854,4.26023895104,0.0021544142614,89.5779339625,-0.00752485588267,6.37493074725 +0.3750000000000002,0.0395445157335,44.0357167442,0.000219865709778,4.26023895104,0.00187023013084,89.5779339625,-0.00576836367287,6.37493074725 +0.3800000000000002,0.020731027085,44.0357167442,0.000278016443716,4.26023895104,0.00158224125788,89.5779339625,-0.00475289220685,6.37493074725 +0.38500000000000023,0.0124940531692,44.0357167442,0.000384919001233,4.26023895104,0.00125940365609,89.5779339625,-0.0040989157843,6.37493074725 +0.39000000000000024,0.00792622026028,44.0357167442,0.000638946067439,4.26023895104,0.000805222891586,89.5779339625,-0.00364823941549,6.37493074725 +0.39500000000000024,0.00367028294534,44.0357167442,0.00195379613823,4.26023895104,0.000642488192155,89.5779339625,-0.00332327129511,6.37493074725 +0.40000000000000024,0.00713198135694,44.0357167442,-0.00182237742406,4.26023895104,0.00131297211674,89.5779339625,-0.0030815746583,6.37493074725 +0.40500000000000025,0.00442217183681,44.0357167442,-0.000623365837177,4.26023895104,0.00186121660434,89.5779339625,-0.00289807337854,6.37493074725 +0.41000000000000025,0.00329145086517,44.0357167442,-0.000378356824786,4.26023895104,0.00243197347686,89.5779339625,-0.00275709110425,6.37493074725 +0.41500000000000026,0.0025350029359,44.0357167442,-0.000273627629424,4.26023895104,0.00309011646196,89.5779339625,-0.00264842209179,6.37493074725 +0.42000000000000026,0.00195762487678,44.0357167442,-0.000216008032518,4.26023895104,0.00390088290922,89.5779339625,-0.0025652410408,6.37493074725 +0.42500000000000027,0.00147553942647,44.0357167442,-0.000179884151406,4.26023895104,0.00495392742002,89.5779339625,-0.00250292540711,6.37493074725 +0.43000000000000027,0.00102970485609,44.0357167442,-0.000155370097544,4.26023895104,0.00639142693966,89.5779339625,-0.00245836338218,6.37493074725 +0.4350000000000003,0.000524377325876,44.0357167442,-0.000137847260035,4.26023895104,0.00846098113898,89.5779339625,-0.00242953730591,6.37493074725 +0.4400000000000003,0.000538920206172,44.0357167442,-0.000124872895722,4.26023895104,0.0116341321439,89.5779339625,-0.00241527384152,6.37493074725 +0.4450000000000003,0.00083332836303,44.0357167442,-0.000115037905335,4.26023895104,0.0169104377955,89.5779339625,-0.00241510351775,6.37493074725 +0.4500000000000003,0.000979990307551,44.0357167442,-0.000107476524761,4.26023895104,0.0267384670864,89.5779339625,-0.00242920045163,6.37493074725 +0.4550000000000003,0.00104034092623,44.0357167442,-0.000101631778891,4.26023895104,0.0485577816502,89.5779339625,-0.00245839075619,6.37493074725 +0.4600000000000003,0.00101105932075,44.0357167442,-9.7133762618e-05,4.26023895104,0.115008653783,89.5779339625,-0.00250423197698,6.37493074725 +0.4650000000000003,0.000835758543549,44.0357167442,-9.37324469875e-05,4.26023895104,0.558814625608,89.5779339625,-0.00256918057227,6.37493074725 +0.4700000000000003,0.000197511945031,44.0357167442,-9.12588907404e-05,4.26023895104,10.5622659818,89.5779339625,-0.0026568850777,6.37493074725 +0.4750000000000003,0.00120658782902,44.0357167442,-8.96022798672e-05,4.26023895104,0.248409416677,89.5779339625,-0.00277267748798,6.37493074725 +0.4800000000000003,0.00200560785636,44.0357167442,-8.86964203642e-05,4.26023895104,0.0696616165828,89.5779339625,-0.00292440131514,6.37493074725 +0.4850000000000003,0.00293042744372,44.0357167442,-8.85123865531e-05,4.26023895104,0.030694566771,89.5779339625,-0.00312384969114,6.37493074725 +0.4900000000000003,0.00351792539219,44.0357167442,-8.90557076899e-05,4.26023895104,0.0142117199018,89.5779339625,-0.00338938462777,6.37493074725 +0.49500000000000033,0.00355039112854,44.0357167442,-9.06229094189e-05,4.26023895104,0.00873543121424,89.5779339625,-0.00358403899994,6.37493074725 diff --git a/tests/framework/PostProcessors/Validation/test_validation_dss.xml b/tests/framework/PostProcessors/Validation/test_validation_dss.xml new file mode 100644 index 0000000000..10f1440a35 --- /dev/null +++ b/tests/framework/PostProcessors/Validation/test_validation_dss.xml @@ -0,0 +1,139 @@ + + + + framework/PostProcessors/Validation/test_validation_dss + yoshrk + 2021-03-16 + PostProcessors.Validation + + This test checks the DSS PostProcessor with DSS metric + + + no writing directly to files from postprocessors + + + + + DSS + mcRun1, mcRun2, PP2 + 1 + + + + + sigma,rho,beta,x1,y1,z1,time1,x0,y0,z0 + + + sigma,rho,beta,x2,y2,z2,time2,x0,y0,z0 + + + outMC1|x1,outMC1|y1 + outMC2|x2,outMC2|y2 + dss + time1 + time2 + DataSynthesis + 1,1 + 1,1 + + + + + + + + + + + x0,y0,z0 + OutputPlaceHolder + + + + dss_x2_x1,total_distance_x2_x1,process_time_x2_x1,standard_deviation_x2_x1, + dss_y2_y1,total_distance_y2_y1,process_time_y2_y1,standard_deviation_y2_y1 + + + pivot_parameter + + + + x0,y0,z0 + time1,x1,y1,z1 + + time1 + + + + x0,y0,z0 + time2,x2,y2,z2 + + time2 + + + + + + + csv + pp2_out + + + + + + + 4 + 1 + + + 4 + 1 + + + 4 + 1 + + + + + + + 10 + 1 + + + x0_distrib + + + y0_distrib + + + z0_distrib + + + + + + + inputPlaceHolder + PythonModule1 + MC_external + outMC1 + + + inputPlaceHolder + PythonModule2 + MC_external + outMC2 + + + outMC1 + outMC2 + pp2 + pp2_out + pp2_print + + + + diff --git a/tests/framework/PostProcessors/Validation/tests b/tests/framework/PostProcessors/Validation/tests index 42e5079e63..0420a95157 100644 --- a/tests/framework/PostProcessors/Validation/tests +++ b/tests/framework/PostProcessors/Validation/tests @@ -13,4 +13,11 @@ rel_err = 0.00001 zero_threshold = 1e-9 [../] + [./test_validation_dss] + type = 'RavenFramework' + input = 'test_validation_dss.xml' + csv = 'DSS/pp2_print_0.csv DSS/pp2_print_1.csv DSS/pp2_print_2.csv DSS/pp2_print_3.csv' + rel_err = 0.00001 + zero_threshold = 1e-9 + [../] []