Is there native API to get step time in self define load plug-in ?
I have write a self define ACT plug and need to get the step time when write to solver file. I found a way, but it, but I am not sure is there any native API to get the step time ?
Here is the code:
class InvokeUIThread(): def __init__(self, ExtAPI, analysis): args = [None] * 7 args[0] = analysis ExtAPI.Application.InvokeUIThread(self.internalGetAnalysisData, args) self.args = args[1:] def internalGetAnalysisData(self,args): args[1] = args[0].Name args[2] = args[0].WorkingDir args[3] = args[0].GetResultsData() args[4] = args[0].GeoData args[5] = args[0].MeshData args[6] = args[0].StepsEndTime @property def AnalysisName(self): return self.args[0] @property def WorkingDir(self): return self.args[1] @property def GetResultsData(self): return self.args[2] @property def GeoData(self): return self.args[3] @property def MeshData(self): return self.args[4] @property def StepsEndTime(self): return self.args[5] def SolveCallBack(load, solverData, stream): CurrentStepNum = solverData.CurrentStep analysis = load.Analysis # times = analysis.StepsEndTime InvokeUIThread = InvokeUIThread(ExtAPI, analysis) times = InvokeUIThread.StepsEndTime CurrentStepTime = times[CurrentStepNum - 1]
Best Answer
-
I am not sure if this will help in what you are doing, but you can get step end times by step number by using the Analysis Settings object instead of the Analysis object itself.
0
Answers
-
@Mike.Thompson said:
I am not sure if this will help in what you are doing, but you can get step end times by step number by using the Analysis Settings object instead of the Analysis object itself.I have create a self define load, and write some APDL command to solver ds.dat file when create this file. And I need get the step time when getcommands callback action. But solverData seems don't provide this API.
stream.Write("LDREAD,TEMP,,,{0},,{1},rth".format(CurrentStepTime, rthFile.replace(".rth", "")))
0 -
@Mike.Thompson said:
I am not sure if this will help in what you are doing, but you can get step end times by step number by using the Analysis Settings object instead of the Analysis object itself.Using Analysis Settings objec to get the time, the result seems is Quantity object.
analysis.StepsEndTime [1, 2] st=analysis.AnalysisSettings st.TimeStep '1 [sec]' st.StepEndTime '1 [sec]' st.GetStepEndTime(1) '1 [sec]' st.GetTimeStep(1) '1 [sec]'
0