Example #1
0
        private void addOutputSensitivities(VariationData variationData, SimulationResults simulationResults, SensitivityAnalysisRunResult sensitivityRunResult, SensitivityAnalysis sensitivityAnalysis)
        {
            variationData.AllVariations.Each(variation =>
            {
                //one variation corresponds to one row in the simulation table (e.g. one IndividualId)
                //this is the variation of one parameter compared to the base simulation
                var resultsForVariation = simulationResults.ResultsFor(variation.VariationId);

                //Retrieve this parameter
                var sensitivityParameter = sensitivityAnalysis.SensitivityParameterByName(variation.ParameterName);
                var parameterPath        = sensitivityParameter.ParameterSelection.Path;

                //For all output, we add the sensitivity
                resultsForVariation.AllValues.Each(outputValue =>
                {
                    var outputParameterSensitivity = calculateOutputParameterSensitivity(outputValue, variation, parameterPath);
                    sensitivityRunResult.AddOutputParameterSensitivity(outputParameterSensitivity);
                });
            });
        }