Files
wg_cpso/CaeModel/FileInOut/Output/Calculix/Keywords/Step/CalStaticStep.cs

58 lines
2.3 KiB
C#
Raw Normal View History

2026-03-25 18:20:24 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CaeModel;
using CaeMesh;
using CaeGlobals;
namespace FileInOut.Output.Calculix
{
[Serializable]
internal class CalStaticStep : CalStep
{
// Variables
private StaticStep _step;
// Properties
// Constructor
public CalStaticStep(StaticStep step)
{
_step = step;
OutputSolver = true;
OutputNoAnalysis = true;
}
// Methods
public override string GetKeywordString()
{
string solver = !OutputSolver || _step.SolverType == SolverTypeEnum.Default ?
"" : ", Solver=" + _step.SolverType.GetDisplayedName();
string direct = _step.IncrementationType == IncrementationTypeEnum.Direct ? ", Direct" : "";
return string.Format("*Static{0}{1}{2}", solver, direct, Environment.NewLine);
}
public override string GetDataString()
{
string data = "";
if (_step.IncrementationType != IncrementationTypeEnum.Default)
{
string minMax = "";
if (_step.IncrementationType == IncrementationTypeEnum.Automatic)
minMax = string.Format(", {0}, {1}", _step.MinTimeIncrement.ToCalculiX16String(),
_step.MaxTimeIncrement.ToCalculiX16String());
//
data = string.Format("{0}, {1}{2}{3}", _step.InitialTimeIncrement.ToCalculiX16String(),
_step.TimePeriod.ToCalculiX16String(), minMax, Environment.NewLine);
}
//
if (OutputNoAnalysis && !_step.RunAnalysis) data += "*No Analysis" + Environment.NewLine;
return data;
}
}
}