Files
wg_cpso/CPSO/Forms/51_Step/Controls/ViewTimeIncrementationStepControlParameter.cs
2026-03-25 18:20:24 +08:00

175 lines
7.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
}