]> https://gitweb.dealii.org/ - code-gallery.git/blob
9ca94f2336e42398d45ee6e7f4f1b559236dd022
[code-gallery.git] /
1
2 #GNUPLOT file to plot graphs of biomechanical brain tests in Budday et al 2017
3 # **** cycles must be separated in the .sol file by two blank lines ****
4 # UNITS CONSIDERED: g - mm - s
5
6 #To see color names:
7 # >> show palette colornames
8
9 #To see line style, line width, etc.:
10 # >> set terminal wxt enhanced dashed
11 # >> test
12
13 clear
14 set datafile separator ","
15 set term png size 400,300 enhanced font 'Verdana,12'
16
17
18 unset colorbox
19 set style line 1  lw 1.5  lc rgb "black"   dt 1
20 set style line 2  lw 1.5  lc rgb "blue"    dt 1
21 set style line 3  lw 1.5  lc rgb "red"     dt 1
22 set style line 4  lw 1.5  lc rgb "dark-turquoise"  dt 1
23 set style line 5  lw 1.5  lc rgb "dark-salmon"     dt 1
24
25 set style line 100 lt 1  lw 1  lc rgb "gray" dt 3
26 set style line 101 lt 1  lw 1  lc rgb "red"
27
28 set notitle
29 set grid xtics ytics ls 100
30
31 # -------------------- PROBLEM DATA --------------------------------------------------------------------------------------
32 #length of specimen along loading direction to compute stretch [mm]
33 length = 5.0
34
35 #area of loading surface to computre reaction force [mm²]
36 area = length * length                    #cube
37 #area = 3.1416 * (length/2) * (length/2)  #cylinder
38
39 #length to compute pressure gradient [mm]
40 radius = length/2
41
42 #pressure at drained boundary to compute pressure gradient [Pa]
43 atm_pressure = 0.0
44
45
46 #dynamic (shear) fluid viscosity [Pa·s]
47 mu = 0.89e-3
48 #effective fluid density [g/mm³]
49 rho = 0.997e-3
50 #kinematic fluid viscosity [mm²/s]
51 nu = mu/rho
52
53 #time step to compute numerical dissipation [s]
54 timestep = 1.0
55
56
57 # -------------------- Stress vs stretch ---------------------------------------------------------------------------------
58 stretch(x) = (length + x) / length
59 nominal(y) =  y / (area*1000)           #compression  [10⁻⁶ N / mm² = Pa]
60 #nominal(y) =  y / (area)           #tension
61
62 set xlabel 'stretch [-]' font 'Verdana,14'
63 set ylabel 'nominal stress [kPa]' font 'Verdana,14'
64 unset y2label
65 set key on box inside top left font 'Verdana,12' spacing 1.0 maxcols 1 width -0.2
66
67 #set xrange [] reverse                    #compression
68 set xrange [] noreverse          #tension
69 set autoscale xy
70
71 unset y2tics
72 set xtics autofreq rotate by 45 right
73 set ytics autofreq
74
75 set output "brain_cube_stress-stretch-poro-visco-SHEAR.png"
76 plot 'data-for-gnuplot.sol' index 0 using (stretch($5)):(nominal($13)) every 1  with lines ls 1 title '1^{st} cycle', \
77      'data-for-gnuplot.sol' index 1 using (stretch($5)):(nominal($13)) every 1  with lines ls 2 title '2^{nd} cycle', \
78      'data-for-gnuplot.sol' index 2 using (stretch($5)):(nominal($13)) every 1  with lines ls 3 title '3^{rd} cycle'
79
80 # -------------------- Accumulated exiting fluid vs time  --------------------------------------------------------------------------
81 set xrange [] noreverse
82 set yrange [] noreverse
83 set xtics 30 norotate nooffset
84 set ytics 100
85 set autoscale xy
86 set format x "%3.0f"
87 set format y "%3.0f"
88
89 set xlabel 'time [s]' font 'Verdana,14'
90 set ylabel sprintf("accumulated fluid\n outside the sample [mm^3]") font 'Verdana,14'
91
92 unset key
93 a=0
94 y_axis(y) = (a=a+y*timestep,a)
95
96 set output "brain_cube_fluid-time-poro-visco-SHEAR.png"
97 plot 'data-for-gnuplot.sol' index 0 using ($1):(y_axis($22)) every 1  with lines ls 1 title '1^{st} cycle', \
98      'data-for-gnuplot.sol' index 1 using ($1):(y_axis($22)) every 1  with lines ls 2 title '2^{nd} cycle', \
99      'data-for-gnuplot.sol' index 2 using ($1):(y_axis($22)) every 1  with lines ls 3 title '3^{rd} cycle'
100
101 # -------------------- Accumulated exiting fluid vs reaction pressure  ---------------------------------------------------------------
102 set xlabel 'fluid reaction pressure [kPa]' font 'Verdana,14'
103 set ylabel sprintf("accumulated fluid\n outside the sample [mm^3]") font 'Verdana,14'
104 set key on box outside above right font 'Verdana,12' spacing 1.0 maxcols 1 width -0.2
105
106 set format x "%3.1f"
107 set autoscale xy
108 set ytics 100
109 set xtics 0.5
110 a=0
111 y_axis(y) = (a=a+y*timestep,a)
112
113 set output "brain_cube_fluid-reac_p-poro-visco-SHEAR.png"
114 plot 'data-for-gnuplot.sol' index 0 using ($18/1000):(y_axis($22)) every 1  with lines ls 1 title '1^{st} cycle', \
115      'data-for-gnuplot.sol' index 1 using ($18/1000):(y_axis($22)) every 1  with lines ls 2 title '2^{nd} cycle', \
116      'data-for-gnuplot.sol' index 2 using ($18/1000):(y_axis($22)) every 1  with lines ls 3 title '3^{rd} cycle'
117
118 # -------------------- Pressure and displ. vs time -------------------------------------------------------------------------
119 set term png size 600,380 enhanced font 'Verdana,12'
120
121 set format x "%3.0f"
122 set format y "%3.1f"
123 set xtics 30 norotate nooffset
124
125 set xlabel 'time [s]' font 'Verdana,14'
126 set ylabel 'displacement [mm]' font 'Verdana,14'
127 set y2label 'pressure [kPa]' font 'Verdana,14'
128 set ytics 0.5 nomirror
129 set y2tics autofreq
130 set key width -5
131 set output "brain_cube_pres-displ-vs-time-poro-visco-SHEAR.png"
132 plot 'data-for-gnuplot.sol' using ($1):($8)/1000 every 1  with lines ls 5 axes x1y2 title 'pressure at central column', \
133      'data-for-gnuplot.sol' using ($1):($5) every 1  with lines ls 4 axes x1y1 title 'vertical displacement of top surface'

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.