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