# 2 step calculation

i have asked these topic some time ago:

step 1 static calculation

step 2 static calculation with the internal stress from step 1

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 !?

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

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.

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 ?

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.

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

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

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.

1 Like

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?

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

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.

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.

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

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

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

and

CalculiX-Examples/Kasten.inp at master Â· mkraska/CalculiX-Examples Â· GitHub

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:

thnx a lot again

wbr dichtstoff