Skip to content

Commit

Permalink
Thermal strain example added
Browse files Browse the repository at this point in the history
  • Loading branch information
mkraska committed Jun 11, 2016
1 parent df3481f commit 9d0442a
Show file tree
Hide file tree
Showing 14 changed files with 210 additions and 0 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,3 +130,8 @@ Under Windows, I recommend the [bConverged](http://bconverged.com/) build. It ha
width="200"
title="Modal analysis of a plate with reinforced rim">
](Linear/Mesh1/)
[<img
src="Thermal/Thermal shock/Refs/end_of_excitation.png"
width="200"
title="Deflection due to non-homogeneous thermal strain">
](Thermal/Thermal shock/)
74 changes: 74 additions & 0 deletions Thermal/Thermal shock/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Thermal Strain
Tested with CGX/CCX 2.10

+ Transient coupled thermo-mechanical analysis
+ Stress due to non-homogeneous temperature
+ Time history plot

File | Contents
:------------- | :-------------
[pre.fbl](pre.fbl) | CGX script, pre-processing
[solve.inp](solve.inp) | CCX input
[post.fbl](post.fbl) | CGX script, post-processing, images and plots
[anim.fbl](anim.fbl) | CGX script, movie
[history.gnu](history.gnu)| Gnuplot script for the time history plot

The model represents a cantilever plate. The upper face is exposed to a heat
impulse (excitation), defined by a time-dependent heat flux density.

A cross-thickness temperature gradient develops and remains for the duration of
the excitation time.

Corresponding to the temperature gradient, a strain gradient develops. which leads to
a curvature (bending) of the plate.

<img src="Refs/start.png" width="260" title="Deflection and temperature profile, initial state">
<img src="Refs/end_of_excitation.png" width="260" title="Deflection and temperature profile at the end of the excitation">
<img src="Refs/end.png" width="260" title="Deflection and temperature profile at the end of the simulation">

<img src="Refs/hist.png" title="Time history plot of the excitation and the tip deflection">


## Pre-Processing
```
> cgx -b pre.fbl
```
The geometry consists of a single brick with a structured hex mesh (C3D8I elements).
The element size is biased (smaller at the support) because of the higher
longitudinal temperature gradients.

A set with a single node at the tip is defined for history plot generation.

<img src="Refs/mesh.png" width="400" title="Excitation surface (yellow), support and heat sink (red), history plot node (blue)">

## Solving

The analysis is done with the `*coupled temperature-displacement` procedure using
fixed time increments. During the excitation (approx. half of the total time), the convergence
is slightly slower than afterwards.
```
> ccx solve
> ../../monitor.py solve
```

![solve.png](solve.png)


## Post-Processing

Create a time history animation of the deformed shape colored by the temperature:
```
> cgx -b anim.fbl
```
<img src="movie.gif" width="400" title="Animation of the temperature history">

```
> cgx -b plots.fbl
```
creates
1. a time history plot of the deflection of the plate tip
2. a time history plot of the excitation function
3. a custom plot with both curves
4. Images of initial and final state and of the state at the end of the excitation.

Images from 3. and 4. are found at the top of this page.
Binary file added Thermal/Thermal shock/Refs/end.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Thermal/Thermal shock/Refs/end_of_excitation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Thermal/Thermal shock/Refs/hist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Thermal/Thermal shock/Refs/mesh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Thermal/Thermal shock/Refs/start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions Thermal/Thermal shock/anim.fbl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
read solve.frd new
rot x
frame
rot c 40
rot d 60
view elem
zoom 1.3
# animation of the deformed geometry coloured by the temperature
view disp
scal d 1000
anim real
movi frames auto
ds 2 ah 1
12 changes: 12 additions & 0 deletions Thermal/Thermal shock/history.gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
set term pngcairo enhanced
set out "Refs/hist.png"
set key top right
set grid
set xlabel "Time in s"
set ylabel "Intensity in %"
set yrange [-10:110]
set y2label "Deflection in {/Symbol m}m"
set y2range [-5:50]
set y2tics
plot "excite.out" using 2:($3*100) axes x1y1 title "Excitation" w l,\
"graph_0.out" using 3:($5*1000) axes x1y2 title "Tip deflection" w l lt 3
Binary file added Thermal/Thermal shock/movie.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions Thermal/Thermal shock/post.fbl
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
read solve.frd new
read solve.inp nom
#max 2.5 f
rot x
frame
rot c 40
rot d 60
view elem
zoom 1.3
min 0 f l
max 2 f l

# create screen shots
view disp
scal d 1000

ds 2 e 1
hcpy png
sys mv hcpy_1.png Refs/start.png

ds 71 e 1
hcpy png
sys mv hcpy_2.png Refs/end_of_excitation.png

ds 149 e 1
hcpy png
sys mv hcpy_3.png Refs/end.png

# time history plots
graph * amp
graph Nhist time DISP D1
41 changes: 41 additions & 0 deletions Thermal/Thermal shock/pre.fbl
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

# dependent variables
valu th 2
valu wi 20
valu le 100

# Part th x wi x le et
pnt p1 0 0 0
swep all new tra 0 0 le 40
bia L001 4
swep all new tra th 0 0 4
swep all new tra 0 wi 0 8

# meshing
elty all he8i
mesh all
send all abq

# distributed flux (excitation)
seta nodes n all
enq nodes excite rec 0 _ _ 0.1
comp excite do
send excite abq dflux 50
# temperature constraint
enq nodes fix rec _ _ 0 0.1
send fix abq spc 123t
# node for displacement history plot
enq nodes hist rec 0 wi le 0.01
send hist abq nam

rot x
frame
rot c 40
rot d 60
view elem
zoom 1.3
plot f excite
plus n fix
plus na hist b
hcpy png
sys mv hcpy_1.png Refs/mesh.png
34 changes: 34 additions & 0 deletions Thermal/Thermal shock/solve.inp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
*include, input=all.msh
*include, input=hist.nam
** heat sink with T=0
*boundary
*include, input=fix_123t.bou
** material definition
*material, name=steel
*elastic
210000,0.333333333,0
*density
7.85e-9
*expansion
12e-6
*conductivity
50.,0
*specific heat
5e8,0
*solid section, elset=Eall, material=steel
** initial temperature
*initial conditions, type=temperature
Nall,0
*step
*COUPLED TEMPERATURE-DISPLACEMENT, direct
0.01,0.5
*amplitude, name=excite
0,0, 0.02,0, 0.04,1, 0.24,1
0.26,0
*dflux,amplitude=excite
*include, input=excite.dfl
*node file
NT,U
*el file
S
*end step
Binary file added Thermal/Thermal shock/solve.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9d0442a

Please sign in to comment.