Index: trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/AircraftLift.cs
===================================================================
--- trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/AircraftLift.cs	(revision 16565)
+++ trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/AircraftLift.cs	(revision 17092)
@@ -23,9 +23,10 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Common;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
   public class AircraftLift : ArtificialRegressionDataDescriptor {
-    public override string Name { get { return "Aircraft Lift Coefficient C_L = C_La (a - a0) + C_Ld_e d_e S_HT / S_ref"; } }
+    public override string Name { get { return "Aircraft Lift Coefficient C_L = C_Lα (α + α0) + C_Lδ_e δ_e S_HT / S_ref"; } }
 
     public override string Description {
@@ -35,18 +36,18 @@
           "modeling generalized separable systems\", Expert Systems with Applications, Volume 109, 2018, " +
           "Pages 25-34 https://doi.org/10.1016/j.eswa.2018.05.021. " + Environment.NewLine +
-          "Function: C_L = C_La (a - a0) + C_Ld_e d_e S_HT / S_ref" + Environment.NewLine +
-          "with C_La ∈ [0.4, 0.8]," + Environment.NewLine +
-          "a ∈ [5°, 10°]," + Environment.NewLine +
-          "C_Ld_e ∈ [0.4, 0.8]," + Environment.NewLine +
-          "d_e ∈ [5°, 10°]," + Environment.NewLine +
+          "Function: C_L = C_Lα (α - α0) + C_Lδ_e δ_e S_HT / S_ref" + Environment.NewLine +
+          "the lift coefficient of the main airfoil C_Lα ∈ [0.4, 0.8]," + Environment.NewLine +
+          "tha angle of attack α ∈ [5°, 10°]," + Environment.NewLine +
+          "the lift coefficient of the horizontal tail C_Lδ_e ∈ [0.4, 0.8]," + Environment.NewLine +
+          "δ_e ∈ [5°, 10°]," + Environment.NewLine +
           "S_HT ∈ [1m², 1.5m²]," + Environment.NewLine +
           "S_ref ∈ [5m², 7m²]," + Environment.NewLine +
-          "a0 is set to -2°";
+          "the zero-lift angle of attack α0 is set to -2°";
       }
     }
 
     protected override string TargetVariable { get { return "C_L"; } }
-    protected override string[] VariableNames { get { return new string[] { "C_La", "a", "a0", "C_Ld_e", "d_e", "S_HT", "C_L" }; } }
-    protected override string[] AllowedInputVariables { get { return new string[] { "C_La", "a", "a0", "C_Ld_e", "d_e", "S_HT" }; } }
+    protected override string[] VariableNames { get { return new string[] { "C_Lα", "α", "α0", "C_Lδ_e", "δ_e", "S_HT", "C_L", "C_L_noise" }; } }
+    protected override string[] AllowedInputVariables { get { return new string[] { "C_Lα", "α", "α0", "C_Lδ_e", "δ_e", "S_HT" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
     protected override int TrainingPartitionEnd { get { return 100; } }
@@ -73,5 +74,6 @@
       var S_ref = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 5.0, 7.0).ToList();
 
-      List<double> C_L = new List<double>();
+      var C_L = new List<double>();
+      var C_L_noise = new List<double>();
       data.Add(C_La);
       data.Add(a);
@@ -81,11 +83,16 @@
       data.Add(S_ref);
       data.Add(C_L);
+      data.Add(C_L_noise);
 
       double a0 = -2.0;
 
       for (int i = 0; i < C_La.Count; i++) {
-        double C_Li = C_La[i] * (a[i] - a0) + C_Ld_e[i] * d_e[i] * S_HT[i] / S_ref[i];
+        double C_Li = C_La[i] * (a[i] + a0) + C_Ld_e[i] * d_e[i] * S_HT[i] / S_ref[i];
         C_L.Add(C_Li);
       }
+
+
+      var sigma_noise = 0.05 * C_L.StandardDeviationPop();
+      C_L_noise.AddRange(C_L.Select(md => md + NormalDistributedRandom.NextDouble(rand, 0, sigma_noise)));
 
       return data;
Index: trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/FluidDynamics.cs
===================================================================
--- trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/FluidDynamics.cs	(revision 16565)
+++ trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/FluidDynamics.cs	(revision 17092)
@@ -23,9 +23,10 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Common;
 using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
   public class FluidDynamics : ArtificialRegressionDataDescriptor {
-    public override string Name { get { return "Flow Psi = V_inf r sin(th) (1 - R²/r²) + G/(2 π) ln(r/R)"; } }
+    public override string Name { get { return "Spinning cylinder flow Ψ = V_∞ r sin(θ) (1 - R²/r²) + Γ/(2 π) ln(r/R)"; } }
 
     public override string Description {
@@ -35,16 +36,17 @@
           "modeling generalized separable systems\", Expert Systems with Applications, Volume 109, 2018, " +
           "Pages 25-34 https://doi.org/10.1016/j.eswa.2018.05.021. " + Environment.NewLine +
-          "Function: Psi = V_inf r sin(th) (1 - R²/r²) + G/(2 π) ln(r/R)" + Environment.NewLine +
-          "with V_inf ∈ [60 m/s, 65 m/s]," + Environment.NewLine +
-          "th ∈ [30°, 40°]," + Environment.NewLine +
-          "r ∈ [0.2m, 0.5m]," + Environment.NewLine +
-          "R ∈ [0.5m, 0.8m]," + Environment.NewLine +
-          "G ∈ [5 m²/s, 10 m²/s]";
+          "Function: Ψ = V_∞ r sin(θ) (1 - R²/r²) + Γ/(2 π) ln(r/R)" + Environment.NewLine +
+          "with uniform stream velocity V_∞ ∈ [60 m/s, 65 m/s]," + Environment.NewLine +
+          "angle for polar coordinate vector field θ ∈ [30°, 40°]," + Environment.NewLine +
+          "radius for polar coordinate vector field r ∈ [0.5m, 0.8m]," + Environment.NewLine +
+          "radius of cylinder R ∈ [0.2m, 0.5m]," + Environment.NewLine +
+          "vortex strength (induced by spinning) Γ ∈ [5 m²/s, 10 m²/s]" + Environment.NewLine +
+          "Note: the definition deviates from the definition used in the source above because here we have r > R meaning we want to calculate the flow _outside_ of the cylinder.";
       }
     }
 
-    protected override string TargetVariable { get { return "Psi"; } }
-    protected override string[] VariableNames { get { return new string[] { "V_inf", "th", "r", "R", "G", "Psi" }; } }
-    protected override string[] AllowedInputVariables { get { return new string[] { "V_inf", "th", "r", "R", "G" }; } }
+    protected override string TargetVariable { get { return "Ψ"; } }
+    protected override string[] VariableNames { get { return new string[] { "V_∞", "θ", "r", "R", "Γ", "Ψ", "Ψ_noise" }; } }
+    protected override string[] AllowedInputVariables { get { return new string[] { "V_∞", "θ", "r", "R", "Γ" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
     protected override int TrainingPartitionEnd { get { return 100; } }
@@ -66,9 +68,11 @@
       var V_inf = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 60.0, 65.0).ToList();
       var th = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 30.0, 40.0).ToList();
-      var r = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0.2, 0.5).ToList();
-      var R = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0.5, 0.8).ToList();
+      var r = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0.5, 0.8).ToList();
+      var R = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0.2, 0.5).ToList();
       var G = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 5, 10).ToList();
 
-      List<double> Psi = new List<double>();
+      var Psi = new List<double>();
+      var Psi_noise = new List<double>();
+
       data.Add(V_inf);
       data.Add(th);
@@ -77,4 +81,5 @@
       data.Add(G);
       data.Add(Psi);
+      data.Add(Psi_noise);
 
       for (int i = 0; i < V_inf.Count; i++) {
@@ -85,4 +90,7 @@
       }
 
+      var sigma_noise = 0.05 * Psi.StandardDeviationPop();
+      Psi_noise.AddRange(Psi.Select(md => md + NormalDistributedRandom.NextDouble(rand, 0, sigma_noise)));
+
       return data;
     }
Index: trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/RocketFuelFlow.cs
===================================================================
--- trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/RocketFuelFlow.cs	(revision 16565)
+++ trunk/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Physics/RocketFuelFlow.cs	(revision 17092)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Common;
 using HeuristicLab.Random;
 
@@ -36,14 +37,14 @@
           "Pages 25-34 https://doi.org/10.1016/j.eswa.2018.05.021. " + Environment.NewLine +
           "Function: m_dot = p0 A / sqrt(T0) * sqrt(γ/R (2/(γ+1))^((γ+1) / (γ-1)))" + Environment.NewLine +
-          "with p0 ∈ [4e5 Pa, 6e5 Pa]," + Environment.NewLine +
-          "A ∈ [0.5m², 1.5m²]," + Environment.NewLine +
-          "T0 ∈ [250°K, 260°K]," + Environment.NewLine +
-          "γ=1.4 and R=287 J/(kg*K)" + Environment.NewLine +
-          "The factor sqrt(γ/R (2/(γ+1))^((γ+1) / (γ-1))) is constant as γ and R are constants.";
+          "with total pressure p0 ∈ [4e5 Pa, 6e5 Pa]," + Environment.NewLine +
+          "cross-sectional area of the nozzle A ∈ [0.5m², 1.5m²]," + Environment.NewLine +
+          "total temperature T0 ∈ [250°K, 260°K]," + Environment.NewLine +
+          "specific heat capacity γ = 1.4 and gas constant R = 287 J/(kg*K)" + Environment.NewLine +
+          "The factor sqrt(γ/R (2/(γ+1))^((γ+1) / (γ-1))) is constant because γ and R are constants.";
       }
     }
 
     protected override string TargetVariable { get { return "m_dot"; } }
-    protected override string[] VariableNames { get { return new string[] { "p0", "A", "T0", "m_dot" }; } }
+    protected override string[] VariableNames { get { return new string[] { "p0", "A", "T0", "m_dot", "m_dot_noise" }; } }
     protected override string[] AllowedInputVariables { get { return new string[] { "p0", "A", "T0" }; } }
     protected override int TrainingPartitionStart { get { return 0; } }
@@ -68,9 +69,11 @@
       var T0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 250.0, 260.0).ToList();
 
-      List<double> m_dot = new List<double>();
+      var m_dot = new List<double>();
+      var m_dot_noise = new List<double>();
       data.Add(p0);
       data.Add(A);
       data.Add(T0);
       data.Add(m_dot);
+      data.Add(m_dot_noise);
       double R = 287.0;
       double γ = 1.4;
@@ -81,4 +84,6 @@
       }
 
+      var sigma_noise = 0.05 * m_dot.StandardDeviationPop();
+      m_dot_noise.AddRange(m_dot.Select(md => md + NormalDistributedRandom.NextDouble(rand, 0, sigma_noise)));
       return data;
     }
