Skip to content

Commit

Permalink
GSAGH-499: save task type
Browse files Browse the repository at this point in the history
  • Loading branch information
SandeepArup committed Jan 21, 2025
1 parent 88dfc68 commit af339b7
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 14 deletions.
24 changes: 13 additions & 11 deletions GsaGH/Components/4_Analysis/CreateAnalysisTask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ internal static readonly IReadOnlyDictionary<string, AnalysisTaskType> _solverTy
public const string defaultValueForNode = "all";

private readonly FootfallInputManager _footfallInputManager;
private AnalysisTaskType _type = AnalysisTaskType.Static;
private AnalysisTaskType _analysisTaskType = AnalysisTaskType.Static;
public const string _unableToConvertResponseDirectionInputMessage = "Unable to convert response direction input";
public const string _unableToConvertWeightOptionInputMessage = "Unable to convert frequency weighting curve input";
public const string _unableToConvertsExcitationForcesInputMessage
Expand All @@ -111,17 +111,18 @@ public CreateAnalysisTask() : base($"Create {GsaAnalysisTaskGoo.Name}",

public override bool Read(GH_IReader reader) {
_casesParamIndex = reader.GetInt32("_casesParamIndex");
_analysisTaskType = (AnalysisTaskType)reader.GetInt32("_analysisTaskType");
return base.Read(reader);
}

public override void SetSelected(int i, int j) {
_selectedItems[i] = _dropDownItems[i][j];
if (i == 0) {
AnalysisTaskType type = _solverTypes[_selectedItems[0]];
if (type == _type) {
if (type == _analysisTaskType) {
return;
}
_type = type;
_analysisTaskType = type;
UpdateDropdownItems();
}

Expand All @@ -131,7 +132,7 @@ public override void SetSelected(int i, int j) {
}

public override void VariableParameterMaintenance() {
switch (_type) {
switch (_analysisTaskType) {
case AnalysisTaskType.StaticPDelta:
SetInputAttributes(_casesParamIndex, _analysisCaseInputAttributes);
PDeltaCases selectedPDeltaCase = GetKeyFromMatchingValue(_selectedItems[1]);
Expand Down Expand Up @@ -168,6 +169,7 @@ private PDeltaCases GetKeyFromMatchingValue(string valueToMatch) {

public override bool Write(GH_IWriter writer) {
writer.SetInt32("_casesParamIndex", _casesParamIndex);
writer.SetInt32("_analysisTaskType", (int)_analysisTaskType);
return base.Write(writer);
}

Expand Down Expand Up @@ -203,15 +205,15 @@ protected override void SolveInternal(IGH_DataAccess da) {
int id = 0;
da.GetData(0, ref id);

string name = _type.ToString();
string name = _analysisTaskType.ToString();
da.GetData(1, ref name);

if (!GetAnalysisCases(da, out List<GsaAnalysisCase> cases)) {
return;
}

AnalysisTask task = null;
switch (_type) {
switch (_analysisTaskType) {
case AnalysisTaskType.Static:
task = AnalysisTaskFactory.CreateStaticAnalysisTask(name);
break;
Expand All @@ -232,7 +234,7 @@ protected override void SolveInternal(IGH_DataAccess da) {
}
break;
default:
this.AddRuntimeWarning(GetAnalysisCaseErrorMessage(_type));
this.AddRuntimeWarning(GetAnalysisCaseErrorMessage(_analysisTaskType));
break;
}

Expand All @@ -247,7 +249,7 @@ protected override void SolveInternal(IGH_DataAccess da) {

private bool GetAnalysisCases(IGH_DataAccess da, out List<GsaAnalysisCase> cases) {
cases = null;
switch (_type) {
switch (_analysisTaskType) {
case AnalysisTaskType.Static:
case AnalysisTaskType.StaticPDelta:
var ghTypes = new List<GH_ObjectWrapper>();
Expand Down Expand Up @@ -382,13 +384,13 @@ private bool CreateFootfallTask(IGH_DataAccess da, string name, out AnalysisTask
}

private static bool CreateModalDynamicTask(IGH_DataAccess da, string name, out AnalysisTask task) {
task = null;
GsaModalDynamicAnalysisGoo gsaModalDynamicAnalysisGoo = null;
if (da.GetData(2, ref gsaModalDynamicAnalysisGoo)) {
GsaModalDynamicAnalysis dynamicAnalysisParameter = gsaModalDynamicAnalysisGoo.Value;
task = AnalysisTaskFactory.CreateModalDynamicAnalysisTask(name, new ModalDynamicTaskParameter(dynamicAnalysisParameter.ModeCalculationStrategy, dynamicAnalysisParameter.MassOption, dynamicAnalysisParameter.AdditionalMassDerivedFromLoads, dynamicAnalysisParameter.ModalDamping));
return true;
}
task = null;
return false;
}

Expand Down Expand Up @@ -506,7 +508,7 @@ private static bool HasDirectionFromString(out ResponseDirection responseDirecti

private void UpdateParameters() {
UnregisterInputsOverTwo();
switch (_type) {
switch (_analysisTaskType) {
case AnalysisTaskType.Static:
_casesParamIndex = 2;
Params.RegisterInputParam(new Param_GenericObject());
Expand Down Expand Up @@ -567,7 +569,7 @@ private void UpdateDropdownItems() {
"Solver",
});

switch (_type) {
switch (_analysisTaskType) {
case AnalysisTaskType.StaticPDelta:
_spacerDescriptions.Add("P-delta Case");

Expand Down
8 changes: 5 additions & 3 deletions GsaGH/Helpers/TaskHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@ public static void ImportAnalysisTask(GsaAnalysisTask task, ref GsaModel model)
if (task != null && !existingTasks.Keys.Contains(task.Id)) {
int highestTask = existingTasks.Count;
var analysisCases = new Dictionary<int, AnalysisCase>();
foreach (GsaAnalysisCase analysisCase in task.Cases) {
analysisCases.Add(analysisCase.Id, new AnalysisCase(analysisCase.Name, analysisCase.Definition));
if (task.Cases != null) {
foreach (GsaAnalysisCase analysisCase in task.Cases) {
analysisCases.Add(analysisCase.Id, new AnalysisCase(analysisCase.Name, analysisCase.Definition));
}
}
if (task.ApiTask != null) {
if (analysisCases.Count == 0) {
Expand All @@ -41,7 +43,7 @@ public static void ImportAnalysisTask(GsaAnalysisTask task, ref GsaModel model)

public static void ImportAnalysisTask(GsaAnalysisTask task, Model model) {
var gsaModel = new GsaModel(model);
ImportAnalysisTask(task, ref gsaModel);
ImportAnalysisTask(task, ref gsaModel);
}
}
}

0 comments on commit af339b7

Please sign in to comment.