# 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