/// <summary>
        /// Get constant values
        /// </summary>
        public void CalculateCollocationPointsConstants()
        {
            foreach (var area in this.Areas)
            {
                double denominator1 = InitialCondition.denominator1(area.configurationData.GetDiffusionCoefficient(), area.configurationData.iterationProcess.TimeStep);
                double denominator2 = InitialCondition.denominator2(area.configurationData.GetDiffusionCoefficient(), area.configurationData.iterationProcess.TimeStep);

                foreach (var segment in area.Segments)
                {
                    Parallel.ForEach(segment.CollocationPoints, (collPoint) =>
                    {
                        foreach (var innerSurface in area.Surfaces)
                        {
                            foreach (var innerSurfaceIntegrationPoint in innerSurface.InitialConditionSurfaceIntegrationPoints)
                            {
                                if (area.configurationData.arePropertiesTimeDependent())
                                {
                                    denominator1 = InitialCondition.denominator1(area.configurationData.GetDiffusionCoefficient(innerSurfaceIntegrationPoint.TemperatureValue), area.configurationData.iterationProcess.TimeStep);
                                    denominator2 = InitialCondition.denominator2(area.configurationData.GetDiffusionCoefficient(innerSurfaceIntegrationPoint.TemperatureValue), area.configurationData.iterationProcess.TimeStep);
                                }

                                collPoint.SurfaceIntegrationPointsInitialConditionConstantValues.Add(InitialCondition.CalculateSiglePointFunctionValue(collPoint.RealPosition, denominator1, denominator2, innerSurfaceIntegrationPoint));
                            }
                        }
                    });
                }
            }
        }