175 lines
7.7 KiB
C#
175 lines
7.7 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using DynamicTypeDescriptor;
|
||
using System.ComponentModel;
|
||
using CaeGlobals;
|
||
|
||
namespace CPSO.PropertyViews
|
||
{
|
||
[Serializable]
|
||
public class ViewTimeIncrementationStepControlParameter : ViewStepControlParameter
|
||
{
|
||
// Variables
|
||
private CaeModel.TimeIncrementationStepControlParameter _parameter;
|
||
|
||
|
||
// Properties
|
||
[Browsable(false)]
|
||
public override string Name
|
||
{
|
||
get { return "Time Incrementation"; }
|
||
}
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(0, 20, "I0")]
|
||
[Description("Iteration after which a check is made whether the residuals increase in two consecutive " +
|
||
"iterations (default: 4). If so, the increment is reattempted with Df times its size.")]
|
||
[TypeConverter(typeof(StringIntegerConverter))]
|
||
[Id(1, 1)]
|
||
public int I0 { get { return _parameter.I0; } set { _parameter.I0 = value; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(1, 20, "IR")]
|
||
[Description("Iteration after which a logarithmic convergence check is performed in each iteration " +
|
||
"(default: 8). If more than IC iterations are needed, the increment is reattempted with " +
|
||
"DC its size.")]
|
||
[TypeConverter(typeof(StringIntegerConverter))]
|
||
[Id(2, 1)]
|
||
public int IR { get { return _parameter.IR; } set { _parameter.IR = value; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(2, 20, "IP")]
|
||
[Description("Iteration after which the residual tolerance Rpα is used instead of Rnα (default: 9).")]
|
||
[TypeConverter(typeof(StringIntegerConverter))]
|
||
[Id(3, 1)]
|
||
public int IP { get { return _parameter.IP; } set { _parameter.IP = value; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(3, 20, "IC")]
|
||
[Description("Maximum number of iterations allowed (default: 16).")]
|
||
[TypeConverter(typeof(StringIntegerConverter))]
|
||
[Id(4, 1)]
|
||
public int IC { get { return _parameter.IC; } set { _parameter.IC = value; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(4, 20, "IL")]
|
||
[Description("Number of iterations after which the size of the subsequent increment will be reduced " +
|
||
"(default: 10).")]
|
||
[TypeConverter(typeof(StringIntegerConverter))]
|
||
[Id(5, 1)]
|
||
public int IL { get { return _parameter.IL; } set { _parameter.IL = value; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(5, 20, "IG")]
|
||
[Description("Maximum number of iterations allowed in two consecutive increments for the size of the " +
|
||
"next increment to be increased (default: 4).")]
|
||
[TypeConverter(typeof(StringIntegerConverter))]
|
||
[Id(6, 1)]
|
||
public int IG { get { return _parameter.IG; } set { _parameter.IG = value; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(6, 20, "IS")]
|
||
[Description("Currently not used.")]
|
||
[Id(7, 1)]
|
||
public string IS { get { return "Currently not used"; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(7, 20, "IA")]
|
||
[Description("Maximum number of cutbacks per increment (default: 5). A cutback is a reattempted " +
|
||
"increment.")]
|
||
[TypeConverter(typeof(StringIntegerConverter))]
|
||
[Id(8, 1)]
|
||
public int IA { get { return _parameter.IA; } set { _parameter.IA = value; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(8, 20, "IJ")]
|
||
[Description("Currently not used.")]
|
||
[Id(9, 1)]
|
||
public string IJ { get { return "Currently not used"; } }
|
||
//
|
||
[Category("Integer")]
|
||
[OrderedDisplayName(9, 20, "IT")]
|
||
[Description("Currently not used.")]
|
||
[Id(10, 1)]
|
||
public string IT { get { return "Currently not used"; } }
|
||
//
|
||
[Category("Double")]
|
||
[OrderedDisplayName(0, 20, "Df")]
|
||
[Description("Cutback factor if the solution seems to diverge (default: 0.25).")]
|
||
[TypeConverter(typeof(StringDoubleConverter))]
|
||
[Id(1, 2)]
|
||
public double Df { get { return _parameter.Df; } set { _parameter.Df = value; } }
|
||
//
|
||
[Category("Double")]
|
||
[OrderedDisplayName(1, 20, "DC")]
|
||
[Description("Cutback factor if the logarithmic extrapolation predicts too many iterations " +
|
||
"(default: 0.5).")]
|
||
[TypeConverter(typeof(StringDoubleConverter))]
|
||
[Id(2, 2)]
|
||
public double DC { get { return _parameter.DC; } set { _parameter.DC = value; } }
|
||
//
|
||
[Category("Double")]
|
||
[OrderedDisplayName(2, 20, "DB")]
|
||
[Description("Cutback factor for the next increment if more than IL iterations were needed " +
|
||
"in the current increment (default: 0.75).")]
|
||
[TypeConverter(typeof(StringDoubleConverter))]
|
||
[Id(3, 2)]
|
||
public double DB { get { return _parameter.DB; } set { _parameter.DB = value; } }
|
||
//
|
||
[Category("Double")]
|
||
[OrderedDisplayName(3, 20, "DA")]
|
||
[Description("Cutback factor if the temperature change in two subsequent increments exceeds " +
|
||
" DELTMX (default: 0.85).")]
|
||
[TypeConverter(typeof(StringDoubleConverter))]
|
||
[Id(4, 2)]
|
||
public double DA { get { return _parameter.DA; } set { _parameter.DA = value; } }
|
||
//
|
||
[Category("Double")]
|
||
[OrderedDisplayName(4, 20, "DS")]
|
||
[Description("Currently not used.")]
|
||
[Id(5, 2)]
|
||
public string DS { get { return "Currently not used"; } }
|
||
//
|
||
[Category("Double")]
|
||
[OrderedDisplayName(5, 20, "DH")]
|
||
[Description("Currently not used.")]
|
||
[Id(6, 2)]
|
||
public string DH { get { return "Currently not used"; } }
|
||
//
|
||
[Category("Double")]
|
||
[OrderedDisplayName(6, 20, "DD")]
|
||
[Description("Factor by which the next increment will be increased if less than IG iterations " +
|
||
"are needed in two consecutive increments (default: 1.5).")]
|
||
[TypeConverter(typeof(StringDoubleConverter))]
|
||
[Id(7, 2)]
|
||
public double DD { get { return _parameter.DD; } set { _parameter.DD = value; } }
|
||
//
|
||
[Category("Double")]
|
||
[OrderedDisplayName(7, 20, "WG")]
|
||
[Description("Currently not used.")]
|
||
[Id(8, 2)]
|
||
public string WG { get { return "Currently not used"; } }
|
||
//
|
||
[Browsable(false)]
|
||
public override CaeModel.StepControlParameter Base
|
||
{
|
||
get { return _parameter; }
|
||
}
|
||
|
||
|
||
// Constructors
|
||
public ViewTimeIncrementationStepControlParameter(CaeModel.TimeIncrementationStepControlParameter parameter)
|
||
{
|
||
_parameter = parameter;
|
||
//
|
||
base.DynamicCustomTypeDescriptor = ProviderInstaller.Install(this);
|
||
}
|
||
|
||
|
||
// Methods
|
||
}
|
||
}
|