# 2 step calculation

**URL:** <https://calculix.discourse.group/t/2-step-calculation/756>\
**Category:** Uncategorized\
**Created:** [October 25, 2021, 10:15pm UTC](https://calculix.discourse.group/t/2-step-calculation/756 "2021-10-25T22:15:30Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![dichtstoff](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@dichtstoff](https://calculix.discourse.group/u/dichtstoff)\
**Post date:** [October 25, 2021, 10:15pm UTC](https://calculix.discourse.group/t/2-step-calculation/756/1 "2021-10-25T22:15:30Z")

</div>

i need your help again,  
i have asked these topic some time ago:

step 1 static calculation

to add load 1

step 2 static calculation with the internal stress from step 1

to add load 2

now it looks like these, but these is not working:

\*INITIAL CONDITIONS,TYPE=TEMPERATURE

\*STEP  
\*STATIC  
\*TEMPERATURE  
\*END STEP

\*STEP  
\*STATIC  
\*TEMPERATURE  
\*END STEP

is these possible without ?  
\*AMPLITUDE

what i have to change / add to my script !?

thnx in advance for your help

here is the answer from my last (simular) request but i don’t get it:

I think your options are:

A) 2 steps with 1 increment (time step) each: Useful if you need to turn constraints on or off and pretty simple to set up - you’ve already done it.  
But I’m not sure why you want to remove constraints. For mechanical constraints, that will also release any loads that were reacted by them so it’ll spring back to its un-prestresssed state or fail.  
For temperature constraints, it’ll remove the thermal stress. All that remains is permanent changes like plastic deformation. I’ve attached an example with 2 steps and thermal prestress.  
The solution shows first the thermal load alone, then a pressure load being applied on top of it.

B) 1 step with 2 or more increments: I find this conceptually more elegant.  
You have to define the loads or constraints as functions of time with \*AMPLITUDE.  
It can just be 2 (time,value) pairs for each thing that changes.  
But a limitation is that you can’t turn off constraints between increments.

C) 1 step with 1 increment: If you don’t need to see the results from the prestress and the order of loading isn’t important,  
then you can use this and just put the pre-stress and additional loads on together. That’s the usual way for thermal stress analysis.  
If the problem is linear, then it’s all you need because of the superposition principle.

D) \*RESTART is for closing CCX and coming back to it another day to pick up where it left off.  
Unless you particularly want to be able to save it to a file that you can reuse, there’s no need for this.

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [October 25, 2021, 10:25pm UTC](https://calculix.discourse.group/t/2-step-calculation/756/2 "2021-10-25T22:25:21Z")

</div>

So you want to run purely mechanical analysis, without temperature DOFs but with prescribed temperatures, right ? What is the goal of your analysis, what kind of process or operating condition do you want to simulate (unless it’s just a theoretical study) ?

Why do you say that it doesn’t work - are there any errors ? Is Nlgeom turned on ?

---

<div class="post-metadata">

**Author:** ![dichtstoff](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@dichtstoff](https://calculix.discourse.group/u/dichtstoff)\
**Post date:** [October 26, 2021, 7:22am UTC](https://calculix.discourse.group/t/2-step-calculation/756/3 "2021-10-26T07:22:54Z")

</div>

I want to calc. “the ultimate load-bearing capacity of a steel beam / grider according to yield-zone theory”.  
So the best way in my opinion would be to create a beam with solid elements and apply residual stress with an initial bow imperfection.

The inital bow imperfecion with a precalculation of buckling modes or equivalent load for the geometry  
and for residual stress with \*INITIAL CONDITIONS card.

I have fixed the bow imperfection with a precalculation and send the deformed meshed.  
I have no idea how to apply in a simple way the resudual stress and mix it with my deformed mesh.

So i want to apply the residual stress with \*TEMPERATURE and connect it with my deformed mesh.  
And maybe later to fix a solution with \*INITIAL CONDITIONS card.

How to apply residual stress with \*TEMPERATURE and connect them with my deformed mesh!?

So i would like to start with a first step apply the \*TEMPERATURE calc. on my pre-deformed mesh,  
and in a second step to calc. my model with nonlinear material and displacement.

---

<div class="post-metadata">

**Author:** ![dichtstoff](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@dichtstoff](https://calculix.discourse.group/u/dichtstoff)\
**Post date:** [October 26, 2021, 8:15am UTC](https://calculix.discourse.group/t/2-step-calculation/756/4 "2021-10-26T08:15:25Z")

</div>

here is my first example:  
single 1 step displacement +4.97e  
single 2 step displacement -1.00e

and together:  
1 step displacement +4.97e  
2 step displacement +1.31e ???

wbr

\*HEADING  
Model: 2-step

\*NODE, NSET=Nall  
1,6.000000000000e+001,6.000000000000e+001,0.000000000000e+000  
2,6.000000000000e+001,0.000000000000e+000,0.000000000000e+000  
3,6.000000000000e+001,0.000000000000e+000,1.800000000000e+002  
4,6.000000000000e+001,6.000000000000e+001,1.800000000000e+002  
5,0.000000000000e+000,6.000000000000e+001,0.000000000000e+000  
6,0.000000000000e+000,0.000000000000e+000,0.000000000000e+000  
7,0.000000000000e+000,0.000000000000e+000,1.800000000000e+002  
8,0.000000000000e+000,6.000000000000e+001,1.800000000000e+002  
9,6.000000000000e+001,0.000000000000e+000,3.600000000000e+002  
10,6.000000000000e+001,6.000000000000e+001,3.600000000000e+002  
11,0.000000000000e+000,0.000000000000e+000,3.600000000000e+002  
12,0.000000000000e+000,6.000000000000e+001,3.600000000000e+002

\*ELEMENT, TYPE=C3D8, ELSET=Eall  
1, 1, 2, 3, 4, 5, 6, 7, 8  
2, 4, 3, 9, 10, 8, 7, 11, 12

\*NSET,NSET=NA001  
1, 2, 5, 6,

\*NSET,NSET=NA002  
9, 10, 11, 12,

\*MATERIAL, Name=steel

\*ELASTIC  
210000,0.3

\*DENSITY  
7.85E-9

\*EXPANSION,ZERO=0  
1.2E-5

\*SOLID SECTION, Elset=Eall, Material=steel

\*STEP

\*STATIC

\*INITIAL CONDITIONS,TYPE=TEMPERATURE  
Nall,0

\*BOUNDARY  
NA001,1,3,0

\*\*\*\*4.97e DISP  
\*TEMPERATURE  
NALL, 1000

\*NODE FILE  
U

\*EL FILE  
S

\*END STEP

\*STEP

\*STATIC

\*\*\*\*-1.00e DISP  
\*BOUNDARY  
NA002,3,3,1

\*NODE FILE  
U

\*EL FILE  
S

\*END STEP

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [October 27, 2021, 8:37am UTC](https://calculix.discourse.group/t/2-step-calculation/756/5 "2021-10-27T08:37:30Z")

</div>

To import stresses from the previous simulation as initial (residual) stresses, maybe you could simply save them to dat file (\*EL PRINT) first and then copy this output to \*INITIAL CONDITIONS, TYPE=STRESS in the second stage of the analysis. The syntax should be the same.

---

<div class="post-metadata">

**Author:** ![dichtstoff](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@dichtstoff](https://calculix.discourse.group/u/dichtstoff)\
**Post date:** [October 27, 2021, 10:13am UTC](https://calculix.discourse.group/t/2-step-calculation/756/6 "2021-10-27T10:13:15Z")

</div>

thanx,  
these sounds perfect for me.  
I’ll try these out,

i have one more question please:  
i have these 2-step calculation,  
where i add displacement +1 units in the first the step  
and add displacement +4 units, but the result from displacement is from the previous set.  
is there a posibility to have the result from step 0, absolut displacement? +1 +4 = 5,0 units !?  
Or only possible with \*Amplitude?

\*HEADING  
Model: 2-step  
\*NODE, NSET=Nall  
1,6.000000000000e+001,6.000000000000e+001,0.000000000000e+000  
2,6.000000000000e+001,0.000000000000e+000,0.000000000000e+000  
3,6.000000000000e+001,0.000000000000e+000,1.800000000000e+002  
4,6.000000000000e+001,6.000000000000e+001,1.800000000000e+002  
5,0.000000000000e+000,6.000000000000e+001,0.000000000000e+000  
6,0.000000000000e+000,0.000000000000e+000,0.000000000000e+000  
7,0.000000000000e+000,0.000000000000e+000,1.800000000000e+002  
8,0.000000000000e+000,6.000000000000e+001,1.800000000000e+002  
9,6.000000000000e+001,0.000000000000e+000,3.600000000000e+002  
10,6.000000000000e+001,6.000000000000e+001,3.600000000000e+002  
11,0.000000000000e+000,0.000000000000e+000,3.600000000000e+002  
12,0.000000000000e+000,6.000000000000e+001,3.600000000000e+002  
\*ELEMENT, TYPE=C3D8, ELSET=Eall  
1, 1, 2, 3, 4, 5, 6, 7, 8  
2, 4, 3, 9, 10, 8, 7, 11, 12  
\*NSET,NSET=NA001  
1, 2, 5, 6,  
\*NSET,NSET=NA002  
9, 10, 11, 12,  
\*MATERIAL, Name=steel  
\*ELASTIC  
210000,0.3  
\*DENSITY  
7.85E-9  
\*EXPANSION,ZERO=0  
1.2E-5  
\*SOLID SECTION, Elset=Eall, Material=steel  
\*STEP  
\*STATIC  
\*BOUNDARY  
NA001,1,3,0  
NA002,3,3,1  
\*NODE FILE  
U  
\*EL FILE  
S  
\*END STEP

* * *

\*STEP  
\*STATIC  
\*BOUNDARY  
NA002,3,3,4  
\*NODE FILE  
U  
\*EL FILE  
S  
\*END STEP

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [October 27, 2021, 11:28am UTC](https://calculix.discourse.group/t/2-step-calculation/756/7 "2021-10-27T11:28:10Z")

</div>

Prescribed displacements don’t add up like that. From the documentation: _Specifying a displacement in the same node and direction for which a displacement was defined in a previous step replaces this value._

So if you want to achieve a total motion of 5 units over two steps, you can specify a magnitude of 1 in the first step and 5 in the second step. This way selected nodes will move by additional 4 units in the second step to achieve a total displacement of 5. You can test this for example using a simple truss with a pulled end.

---

<div class="post-metadata">

**Author:** ![dichtstoff](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@dichtstoff](https://calculix.discourse.group/u/dichtstoff)\
**Post date:** [October 27, 2021, 12:54pm UTC](https://calculix.discourse.group/t/2-step-calculation/756/8 "2021-10-27T12:54:58Z")

</div>

if i understand correct,  
after each step the calc. starts like from the first step, (without results from the prevoius steps?)  
but maybe with different conditions, if use \*BOUNDARY with OP !?

how can i fix, that for example i start 1 calculation, freeze my results,  
put on different loads or boundaries and start 2 calculation? and add the result to the first calc.?  
these is only possible with the AMPLITUDE card?

thnx for your help and patience, but these is really difficult for me.  
i really appreciate it.

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [October 27, 2021, 5:18pm UTC](https://calculix.discourse.group/t/2-step-calculation/756/9 "2021-10-27T17:18:34Z")

</div>

Check this recent thread:

> [@2-step simulation with history results](https://calculix.discourse.group/t/2-step-simulation-with-history-results/716/3):
>
> Hi Thanks, it sounds great. The problem is after I get the results in the first step, I don’t know how to put them into the second step. Do you have any guidance or references about the procedure? You are very much appreciated!

The solution evolves throughout the analysis if static (not perturbative) steps are used. You can simulate the whole history of loading this way. For example:

- step 1 - bolt preload
- step 2 - loading
- step 3 - unloading

So the state of the model is carried over to subsequent steps.

---

<div class="post-metadata">

**Author:** ![dichtstoff](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@dichtstoff](https://calculix.discourse.group/u/dichtstoff)\
**Post date:** [October 28, 2021, 11:25am UTC](https://calculix.discourse.group/t/2-step-calculation/756/10 "2021-10-28T11:25:13Z")

</div>

Is there a posibilty,  
to have a very simple test case?  
wbr

Ok, i found two simular examples.  
I will check these out:

[CalculiX-Examples/static.inp at master · mkraska/CalculiX-Examples · GitHub](https://github.com/mkraska/CalculiX-Examples/blob/master/Pillow/static.inp)

and

[CalculiX-Examples/Kasten.inp at master · mkraska/CalculiX-Examples · GitHub](https://github.com/mkraska/CalculiX-Examples/blob/master/Kasten/Kasten.inp)

---

<div class="post-metadata">

**Author:** ![dichtstoff](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@dichtstoff](https://calculix.discourse.group/u/dichtstoff)\
**Post date:** [October 31, 2021, 6:42pm UTC](https://calculix.discourse.group/t/2-step-calculation/756/11 "2021-10-31T18:42:10Z")

</div>

Hello Calc\_em,

thnx a lot.  
I have finished my example.  
it works fine with the two step calc. and \*TEMPERATURE

please feel free to have a look:

> **[Ihr persönlicher Freigabelink | GMX Cloud](https://c.gmx.net/@324820432001700943/c_i7kTnkR2uFf15P9r2CMQ)**
>
> Mit diesem Link erhalten Sie Zugriff auf die mit Ihnen geteilten Daten.

thnx a lot again

wbr dichtstoff
