Hi
Thank you for your reply and your suggestions. I prefer to adopt Python.
I created two following different tests:
-------------------------test1----------------------------------------------------
import oofempy
dr=oofempy.OOFEMTXTDataReader("TwoStepCasting_01.in")
problem=oofempy.InstanciateProblem(dr, oofempy.problemMode.processor, False, None, False)
problem.init()
problem.solveYourself()
problem.terminateAnalysis()
-------------------------test2------------------------------------------------------
import oofempy
dr=oofempy.OOFEMTXTDataReader("TwoStepCasting_01.in")
problem=oofempy.InstanciateProblem(dr, oofempy.problemMode.processor, False, None, False)
problem.init()
problem.postInitialize()
activeMStep = problem.giveMetaStep(1)
problem.initMetaStepAttributes(activeMStep)
domain = problem.giveDomain(1)
num_steps = problem.giveNumberOfSteps()
for timeStep in range(num_steps):
problem.preInitializeNextStep()
problem.giveNextStep()
currentStep = problem.giveCurrentStep()
problem.initializeYourself(currentStep)
problem.solveYourselfAt(currentStep)
problem.updateYourself(currentStep)
problem.terminate(currentStep)
problem.terminateAnalysis()
----------------------------------------------------
test1 is run without any warnings and errors while test2 encounters the following warnings and errors:
Warning:Unread token(s) detected in the following record
"transienttransport nsteps 10 deltat 7200...":
[miniter][5]
In oofem::OOFEMTXTInputRecord::finish (D:\oofem\oofem\src\oofemlib\oofemtxtinputrecord.C:536)
_______________________________________________________
Warning:Check failed in TwoStepCasting_01.out: tstep 10, node 1, dof 10, mode 1:
value is 5.82552904e+01, but should be 5.72302290e+01 ( error is 1.025061e+00 but tolerance is 1.000000e-06 )
In oofem::NodeErrorCheckingRule::check (D:\oofem\oofem\src\oofemlib\errorcheckingexportmodule.C:138)
_______________________________________________________
_______________________________________________________
Warning:Check failed in TwoStepCasting_01.out: tstep 10, node 6, dof 10, mode 1:
value is 1.00000000e+01, but should be 3.96247063e+01 ( error is 2.962471e+01 but tolerance is 1.000000e-06 )
In oofem::NodeErrorCheckingRule::check (D:\oofem\oofem\src\oofemlib\errorcheckingexportmodule.C:138)
_______________________________________________________
_______________________________________________________
Warning:Check failed in TwoStepCasting_01.out: tstep 10, element 1, gpnum 3, ist 39, component 1:
value is 5.06685768e-01, but should be 5.05586458e-01 ( error is 1.099310e-03 but tolerance is 1.000000e-06 )
In oofem::ElementErrorCheckingRule::check (D:\oofem\oofem\src\oofemlib\errorcheckingexportmodule.C:206)
_______________________________________________________
_______________________________________________________
Warning:Check failed in TwoStepCasting_01.out: tstep 10, element 2, gpnum 3, ist 39, component 1:
value is 3.24560198e-01, but should be 3.50943937e-01 ( error is 2.638374e-02 but tolerance is 1.000000e-06 )
In oofem::ElementErrorCheckingRule::check (D:\oofem\oofem\src\oofemlib\errorcheckingexportmodule.C:206)
_______________________________________________________
Traceback (most recent call last):
File "D:\OOFEM_thermal\test2.py", line 22, in <module>
problem.terminate(currentStep)
RuntimeError: Rule not passed, exiting with error
In oofem::ErrorCheckingExportModule::doOutput (D:\oofem\oofem\src\oofemlib\errorcheckingexportmodule.C:485)
--------------------------------------------------------------------------------------
I have chosen an example (TwoStepCasting) in which there are two elements and the second element is activated at time step 10. I think in test2 something goes wrong at time step 10.
I attached the files.
Post's attachmentsTwoStepCasting_01.zip 1.92 kb, 6 downloads since 2023-06-14
You don't have the permssions to download the attachments of this post.