Skip to content

Commit 71afa29

Browse files
committed
Add example (plastic zone)
1 parent 5cb00d3 commit 71afa29

File tree

10 files changed

+347
-0
lines changed

10 files changed

+347
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
*include, input=all.msh
2+
*include, input=x0.nam
3+
*include, input=fixy.nam
4+
*include, input=xL.nam
5+
*include, input=xLsquare.nam
6+
*include, input=xLcircle.nam
7+
*include, input=xLhcircle.nam
8+
*include, input=xLIprofile.nam
9+
*include, input=disp.nam
10+
** constraints
11+
*boundary
12+
Nx0,1
13+
Nfixy,2
14+
NxL,3
15+
16+
** **mean displacement of block
17+
** *node, nset=Nref1
18+
** 1, 0, 0, 0
19+
** *element, elset=Ecoup1,type=dcoup3d
20+
** 1,1
21+
** *distributing coupling, elset=Ecoup1
22+
** Nx0, 1
23+
** ** mean displacement of cylinder
24+
** *node, nset=Nref2
25+
** 2, 1, 0, 0
26+
** *element, elset=Ecoup2,type=dcoup3d
27+
** 2,1
28+
** *distributing coupling, elset=Ecoup2
29+
** Nnmid_cylinder, 1
30+
** ** mean displacement of hollow cylinder
31+
** *node, nset=Nref3
32+
** 3, 0, 0, 0
33+
** *element, elset=Ecoup3,type=dcoup3d
34+
** 3,1
35+
** *distributing coupling, elset=Ecoup3
36+
** Nnmid_hcylinder, 1
37+
** **mean displacement
38+
** *node, nset=Nref4
39+
** 4, 0, 0, 0
40+
** *element, elset=Ecoup4,type=dcoup3d
41+
** 4,1
42+
** *distributing coupling, elset=Ecoup4
43+
** Nnmid_Ibeam, 1
44+
45+
** material definition
46+
*material, name=steel
47+
*elastic
48+
210000,0.3
49+
*plastic
50+
200,0
51+
**1000,1
52+
*density
53+
7.85e-9
54+
** material assignment to bodies
55+
*solid section, elset=Eall, material=steel
56+
*step,nlgeom
57+
*static
58+
0.05,1,0.00000001,0.05
59+
*boundary
60+
Ndisp,3,3,20
61+
** Nref1,3,3,-3
62+
** Nref2,3,3,-3
63+
** Nref3,3,3,-3
64+
** Nref4,3,3,-3
65+
*node file
66+
U
67+
*el file
68+
S,PE
69+
*node print, nset=Nxlsquare,totals=only
70+
RF
71+
*node print, nset=Nxlcircle,totals=only
72+
RF
73+
*node print, nset=Nxlhcircle,totals=only
74+
RF
75+
*node print, nset=Nxliprofile,totals=only
76+
RF
77+
*end step
96.6 KB
Loading

NonLinear/Sections/Plastic/PE.gif

476 KB
Loading
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Properties of Cross Sections (elasto-plastic)
2+
Tested with CGX/CCX 2.10
3+
4+
+ Simply supported beam with a prescribed displacement in the center
5+
+ Parametric section shapes of identical area
6+
+ Symmetry reduction
7+
+ Elasto-plastic material without hardening (ideal plastic)
8+
+ Objective:
9+
+ Evolution of the plastic zone
10+
+ Force-displacement curves (TBD)
11+
+ Ultimate bending load - plastic section modulus (TBD)
12+
13+
14+
File | Contents
15+
:------------- | :-------------
16+
[par.pre.fbl](par.pre.fbl) | CGX script, pre-processing, parametrized with param.py
17+
[movie.fbl](movie.fbl) | CGX script, movie generation
18+
[Biegung.inp](Biegung.inp) | CCX input
19+
20+
21+
22+
## Pre-Processing
23+
24+
The problem is parametrized using [param.py](../../../Scripts/param.py).
25+
26+
The model contains several simply supported beams of equal section area but different section shape.
27+
28+
Objective is to visualize the evolution of the plastic zone and to determine the relative ultimate strength (full plastic section) with respect to the square section.
29+
30+
Starting from a given cross section area, the half span of the beam and a thickness, four section shapes of identical cross section area are generated.
31+
32+
The beams are supported vertically at all nodes at x=Length and z=0 and have a symmetry boundary at x=0.
33+
34+
One row of nodes per beam is fixed in y-direction. This is a bit over-constrained, but prevents lateral bending, which might happen due to the developing plastic hinges if just a single node per beam is constrained in y-direction.
35+
36+
The load is applied as a prescribed displacement of the nodes at x=0 (center between the supports) and at z=0 (through the section centroid).
37+
```
38+
> param.py par.pre.fbl
39+
> cgx -b pre.fbl
40+
```
41+
<img src="mesh.png" width="400" title="Mesh density is biased towards the center section at x=0">
42+
<img src="sets.png" width="400" title="">
43+
44+
## Solving
45+
The ideal-plastic material can create convergence problems. These are mitigated by load application via prescribed displacement. A maximum increment size of 5% of the step is set for smooth force-displacement curves and movies.
46+
```
47+
> ccx Biegung
48+
```
49+
<img src="Biegung.png" >
50+
## Post-Processing
51+
```
52+
> cgx -b movie.fbl
53+
```
54+
The plastic zone is marked using a two-step color scheme with the plastic proof strain of 0.2% marking the limit between the two colors. The right movie shows the longitudinal (bending) stress with color bar limits 5% above the yield limit.
55+
56+
<img src="PE.gif" width="400" title="Plastic zone (plastic strain > 0.2%)">
57+
<img src="SXX.gif" width="400" title="Bending stress">

NonLinear/Sections/Plastic/SXX.gif

807 KB
Loading
21.2 KB
Loading
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
read Biegung.frd new
2+
3+
view disp
4+
view elem
5+
rot -y
6+
rot l 110
7+
rot u 20
8+
9+
seta base all
10+
copy base new mir x
11+
comp new do
12+
ds 2 e 1
13+
plot fv base
14+
hcpy png
15+
sys mv hcpy_1.png S11-1.png
16+
17+
rot -y
18+
rot l 135
19+
rot u 20
20+
ds -1 e 1
21+
plot fv base
22+
mm 210
23+
steps 21
24+
zoom 3
25+
hcpy png
26+
sys mv hcpy_1.png PE.png
27+
28+
ds -0 e 1
29+
min 0 e l
30+
max 0.004 e l
31+
steps 2
32+
plot fv all
33+
34+
frame
35+
zoom 7
36+
tra r 20
37+
plot fv base
38+
scal d
39+
anim real
40+
movi frames auto
41+
ds 3 ah 1
42+
sys mv movie.gif PE.gif
43+
44+
mm 210 e l
45+
steps 21
46+
movi frames auto
47+
ds 2 ah 1
48+
sys mv movie.gif SXX.gif
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# <area=300>
2+
# <length=400>
3+
# <thickness = 4>
4+
# <dist = 40>
5+
# <divx = 20>
6+
7+
asgn n 005
8+
asgn e 005
9+
10+
# square
11+
# <l1=area**0.5>
12+
seto square
13+
pnt ! 0 0 0
14+
swep all new tra 0 <l1> 0 10
15+
swep all new tra 0 0 <l1> 10
16+
move square tra 0 <-l1/2.> <-l1/2.>
17+
setc
18+
seta fixy D001
19+
seto block
20+
swep square xLsquare tra <length> 0 0 <divx> a
21+
setc block
22+
23+
24+
# circle
25+
# <radius=(area/pi)**0.5>
26+
seto circle
27+
pnt pc 0 0 0
28+
pnt py 0 <radius> 0
29+
pnt pz 0 0 <radius>
30+
line l1 pc py 6
31+
line l2 pc pz 6
32+
line l3 py pz pc 8
33+
surf s1 l1 l2 l3
34+
copy circle new mir y
35+
copy circle new mir z
36+
move circle tra 0 <dist> 0
37+
setc
38+
seta fixy p pc
39+
seto cylinder
40+
swep circle xLcircle tra <length> 0 0 <divx> a
41+
setc cylinder
42+
43+
# Hollow circle
44+
# <ri=area/(2.*pi*thickness)-thickness*0.5>
45+
seto hcircle
46+
pnt pri 0 0 <ri> 0
47+
swep hcircle new tra 0 0 <thickness> 2
48+
swep hcircle new rot x 90 10
49+
copy hcircle new rot x 90
50+
copy hcircle new rot x 180
51+
move hcircle tra 0 <2.*dist> 0
52+
setc
53+
seta fixy p pri
54+
seto hcylinder
55+
swep hcircle xLhcircle tra <length> 0 0 <divx> a
56+
setc hcylinder
57+
58+
# I Profile made of three identical rectangles of given thickness
59+
# <l1=area/(3.*thickness)>
60+
seto Iprofile
61+
pnt pI0 0 0 0
62+
swep Iprofile pI1 tra 0 0 <l1/2.> 0
63+
swep Iprofile new tra 0 <thickness> 0
64+
seto f0
65+
swep pI1 new tra 0 0 <thickness>
66+
setc f0
67+
swep f0 f1 tra 0 <thickness> 0
68+
swep f1 new tra 0 <(l1-thickness)/2.> 0
69+
swep f0 new tra 0 <-(l1-thickness)/2.> 0
70+
copy Iprofile new mir z
71+
setc Iprofile
72+
move Iprofile tra 0 <3.*dist> 0
73+
seta fixy p pI0
74+
seto Ibeam
75+
swep Iprofile xLIprofile tra <length> 0 0 <divx> a
76+
setc Ibeam
77+
78+
# set the bias to the longitudinal lines
79+
# enquiring lines is only possible at their end points
80+
seta lines l all
81+
enq lines l0 rec 0 _ _ 0.1
82+
enq lines ll rec <length> _ _ 0.1
83+
seti lb l l0 ll
84+
bia lb 10
85+
86+
#Meshing
87+
elty all he8i
88+
mesh all
89+
merg n all
90+
send all abq
91+
92+
# # choose nodes of the middle length:
93+
# # --> square / block:
94+
# seta nblock n block
95+
# enq nblock nmid_block rec <length/2> _ _ 0.1
96+
# # --> circle / cylinder:
97+
# seta ncylinder n cylinder
98+
# enq ncylinder nmid_cylinder rec <length/2> _ _ 0.1
99+
# # --> hcircle / hcylinder:
100+
# seta nhcylinder n hcylinder
101+
# enq nhcylinder nmid_hcylinder rec <length/2> _ _ 0.1
102+
# # --> Iprofile / Ibeam:
103+
# seta nIbeam n Ibeam
104+
# enq nIbeam nmid_Ibeam rec <length/2> _ _ 0.1
105+
106+
# Mesh image
107+
rot -y
108+
rot l 110
109+
rot u 20
110+
frame
111+
zoom 2.5
112+
tra l <dist>
113+
view elem
114+
seta ! all
115+
hcpy png
116+
sys mv hcpy_1.png mesh.png
117+
118+
# sets
119+
seta nodes n all
120+
enq nodes xL rec <length> _ 0 0.01 a
121+
send xL abq nam
122+
123+
enq nodes x0 rec 0 _ _ 1 a
124+
send x0 abq nam
125+
126+
send fixy abq nam
127+
128+
enq x0 disp rec 0 _ 0 0.1
129+
send disp abq nam
130+
131+
send xLsquare abq nam
132+
send xLcircle abq nam
133+
send xLhcircle abq nam
134+
send xLIprofile abq nam
135+
136+
text x0 (red), y0 (green), disp (turq), xL (blue)
137+
rot x
138+
rot c -90
139+
rot l 5
140+
rot u 10
141+
frame
142+
zoom 2.5
143+
tra <dist> r
144+
plot n x0 r
145+
plus n fixy g
146+
plus n disp t
147+
plus n xL b
148+
hcpy png
149+
sys mv hcpy_2.png sets.png
150+
151+
152+
# send nmid_block abq nam
153+
# send nmid_cylinder abq nam
154+
# send nmid_hcylinder abq nam
155+
# send nmid_Ibeam abq nam
156+
157+
volu block
158+
volu cylinder
159+
volu hcylinder
160+
volu Ibeam
8.3 KB
Loading

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,8 @@ This page uses animated gifs. In Firefox, you might want to install the plugin [
161161
width="200"
162162
title="Buckling and modal analysis of a pre-loaded system">
163163
](Linear/L-Plate/)
164+
[<img
165+
src="NonLinear/Sections/Plastic/PE.gif"
166+
width="200"
167+
title="Different section shapes of identical area. Plastic zone">
168+
](NonLinear/Sections/Plastic)

0 commit comments

Comments
 (0)