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

112 lines
5.1 KiB
C#
Raw Permalink 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;
using System.Windows.Forms;
namespace CPSO.PropertyViews
{
[Serializable]
public class ViewFieldStepControlParameter : ViewStepControlParameter
{
// Variables
private CaeModel.FieldStepControlParameter _parameter;
// Properties
[Browsable(false)]
public override string Name
{
get { return "Field"; }
}
//
[Category("Data")]
[OrderedDisplayName(0, 20, "Rnα")]
[Description("Convergence criterion for the ratio of the largest residual to the average force " +
"(default: 0.005). The average force is defined as the average over all increments " +
"in the present step of the instantaneous force. The instantaneous force in an increment " +
"is defined as the mean of the absolute value of the nodal force components within " +
"all elements.")]
[TypeConverter(typeof(StringDoubleConverter))]
[Id(1, 1)]
public double Rna { get { return _parameter.Rna; } set { _parameter.Rna = value; } }
//
[Category("Data")]
[OrderedDisplayName(1, 20, "Cnα")]
[Description("Convergence criterion for the ratio of the largest solution correction to the largest " +
"incremental solution value (default: 0.01).")]
[TypeConverter(typeof(StringDoubleConverter))]
[Id(2, 1)]
public double Cna { get { return _parameter.Cna; } set { _parameter.Cna = value; } }
//
[Category("Data")]
[OrderedDisplayName(2, 20, "q0α")]
[Description("Initial value at the start of a new step of the time average force (default: the time " +
"average force from the previous steps or 0.01 for the first step).")]
[TypeConverter(typeof(StringDoubleDefaultConverter))]
[Id(3, 1)]
public double Q0a { get { return _parameter.Q0a; } set { _parameter.Q0a = value; } }
//
[Category("Data")]
[OrderedDisplayName(3, 20, "quα")]
[Description("User-defined average force. If defined, the calculation of the average force is replaced " +
" by this value.")]
[TypeConverter(typeof(StringDoubleDefaultConverter))]
[Id(4, 1)]
public double Qua { get { return _parameter.Qua; } set { _parameter.Qua = value; } }
//
[Category("Data")]
[OrderedDisplayName(4, 20, "Rpα")]
[Description("Alternative residual convergence criterion to be used after IP iterations instead of " +
"Rnα (default: 0.02).")]
[TypeConverter(typeof(StringDoubleConverter))]
[Id(5, 1)]
public double Rpa { get { return _parameter.Rpa; } set { _parameter.Rpa = value; } }
//
[Category("Data")]
[OrderedDisplayName(5, 20, "εα")]
[Description("Criterion for zero flux relative to qα (default: 10⁻⁵).")]
[TypeConverter(typeof(StringDoubleConverter))]
[Id(6, 1)]
public double Ea { get { return _parameter.Ea; } set { _parameter.Ea = value; } }
//
[Category("Data")]
[OrderedDisplayName(6, 20, "Cεα")]
[Description("Convergence criterion for the ratio of the largest solution correction to the largest " +
"incremental solution value in case of zero flux (default: 10⁻³).")]
[TypeConverter(typeof(StringDoubleConverter))]
[Id(7, 1)]
public double Cea { get { return _parameter.Cea; } set { _parameter.Cea = value; } }
//
[Category("Data")]
[OrderedDisplayName(7, 20, "Rlα")]
[Description("Convergence criterion for the ratio of the largest residual to the average force " +
"for convergence in a single iteration (default: 10⁻⁸).")]
[TypeConverter(typeof(StringDoubleConverter))]
[Id(8, 1)]
public double Rla { get { return _parameter.Rla; } set { _parameter.Rla = value; } }
//
[Browsable(false)]
public override CaeModel.StepControlParameter Base
{
get { return _parameter; }
}
// Constructors
public ViewFieldStepControlParameter(CaeModel.FieldStepControlParameter parameter)
{
_parameter = parameter;
//
base.DynamicCustomTypeDescriptor = ProviderInstaller.Install(this);
}
// Methods
}
}