1 # Trabajo Práctico II de Análisis Numérico I
2 # Este programa resuelve un sistema de ecuaciones diferenciales
3 # resultante de un problema físico de oscilación de líquidos.
4 # Copyright (C) 2002 Leandro Lucarella
6 # Este programa es Software Libre; usted puede redistribuirlo
7 # y/o modificarlo bajo los términos de la "GNU General Public
8 # License" como lo publica la "FSF Free Software Foundation",
9 # o (a su elección) de cualquier versión posterior.
11 # Este programa es distribuido con la esperanza de que le será
12 # útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
13 # implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
14 # particular. Vea la "GNU General Public License" para más
17 # Usted debe haber recibido una copia de la "GNU General Public
18 # License" junto con este programa, si no, escriba a la "FSF
19 # Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
20 # Boston, MA 02111-1307, USA.
30 CPP_OPTS_DBG=-g3 -Wall
37 clean: clean-c clean-d clean-e clean-f clean-informe clean-77891
42 c++ $(CPP_OPTS) $(LIBS) -o 77891 77891.cpp
44 c++ $(CPP_OPTS_DBG) $(LIBS) -o 77891dbg 77891.cpp
46 rm -f *.o 77891 77891dbg
51 clean-c: clean-c1 clean-c2 clean-c3
54 ./77891 e n 2 440 1000 > c1e_k0.44.txt
55 c1e_k0.0044.txt: 77891
56 ./77891 e n 2 440 100000 > c1e_k0.0044.txt
57 c1e.eps: c1e_k0.44.txt c1e_k0.0044.txt c1e.gnuplot
60 ./77891 r n 2 440 1000 > c1r.txt
61 c1r.eps: c1r.txt c1r.gnuplot
64 ./77891 n n 2 440 1000 > c1n.txt
65 c1n.eps: c1n.txt c1n.gnuplot
67 c1: c1e.eps c1r.eps c1n.eps
71 c2e.txt: 77891 calcula_periodo
72 ./77891 e n 2 5000 100000 | ./calcula_periodo /dev/stdin > c2e.txt
73 c2r.txt: 77891 calcula_periodo
74 ./77891 r n 2 5000 100000 | ./calcula_periodo /dev/stdin > c2r.txt
75 c2n.txt: 77891 calcula_periodo
76 ./77891 n n 2 5000 100000 | ./calcula_periodo /dev/stdin > c2n.txt
77 c2.eps: c2e.txt c2r.txt c2n.txt periodo.gnuplot
78 sed "s/<P>/c/g" periodo.gnuplot | sed "s/<PUNTO_DEP>/sin/g" | \
79 sed "s/<PUNTO_FRIC>/sin/g" | sed "s/<PUNTO_FRIC_TIPO>//g" | \
96 clean-d: clean-d1 clean-d2 clean-d3 clean-d4
99 ./77891 e l 2 2500 1000000 > d1e.txt
100 d1e.eps: d1e.txt d1e.gnuplot
103 ./77891 r l 2 2500 1000 > d1r.txt
104 d1r.eps: d1r.txt d1r.gnuplot
107 ./77891 n l 2 2500 1250 > d1n_k2.0.txt
108 d1n_k0.0625.txt: 77891
109 ./77891 n l 2 2500 40000 > d1n_k0.0625.txt
110 d1n.eps: d1n_k2.0.txt d1n_k0.0625.txt d1n.gnuplot
112 d1: d1e.eps d1r.eps d1n.eps
114 rm -f d1*.txt d1*.eps
116 d2e.txt: 77891 calcula_periodo
117 ./77891 e l 2 5000 100000 | ./calcula_periodo /dev/stdin > d2e.txt
118 d2r.txt: 77891 calcula_periodo
119 ./77891 r l 2 5000 100000 | ./calcula_periodo /dev/stdin > d2r.txt
120 d2n.txt: 77891 calcula_periodo
121 ./77891 n l 2 5000 100000 | ./calcula_periodo /dev/stdin > d2n.txt
122 d2.eps: d2e.txt d2r.txt d2n.txt periodo.gnuplot
123 sed "s/<P>/d/g" periodo.gnuplot | sed "s/<PUNTO_DEP>/sin/g" | \
124 sed "s/<PUNTO_FRIC>/con/g" | sed "s/<PUNTO_FRIC_TIPO>/ laminar/g" | \
131 ./77891 e l 2 405 100000 > d3e.txt
132 d3e.max.txt: d3e.txt calcula_maxmin
133 ./calcula_maxmin max d3e.txt > d3e.max.txt
134 d3e.min.txt: d3e.txt calcula_maxmin
135 ./calcula_maxmin min d3e.txt > d3e.min.txt
137 ./77891 r l 2 405 1000 > d3r.txt
138 d3r.max.txt: d3r.txt calcula_maxmin
139 ./calcula_maxmin max d3r.txt > d3r.max.txt
140 d3r.min.txt: d3r.txt calcula_maxmin
141 ./calcula_maxmin min d3r.txt > d3r.min.txt
143 ./77891 n l 2 405 190 > d3n.txt
144 d3n.max.txt: d3n.txt calcula_maxmin
145 ./calcula_maxmin max d3n.txt > d3n.max.txt
146 d3n.min.txt: d3n.txt calcula_maxmin
147 ./calcula_maxmin min d3n.txt > d3n.min.txt
148 d3: d3e.max.txt d3e.min.txt d3r.max.txt d3r.min.txt d3n.max.txt d3n.min.txt
152 d4e.eps: d3e.max.txt d3e.min.txt d4e.gnuplot
154 d4r.eps: d3r.max.txt d3r.min.txt d4r.gnuplot
156 d4n.eps: d3n.max.txt d3n.min.txt d4n.gnuplot
158 d4: d4e.eps d4r.eps d4n.eps
160 rm -f d4*.eps fit.log
165 clean-e: clean-e1 clean-e2 clean-e3 clean-e4
168 ./77891 e t 2 1250 100000 > e1e.txt
169 e1e.eps: e1e.txt e1e.gnuplot
172 ./77891 r t 2 1250 400 > e1r.txt
173 e1r.eps: e1r.txt e1r.gnuplot
176 ./77891 n t 2 1250 625 > e1n.txt
177 e1n.eps: e1n.txt e1n.gnuplot
179 e1: e1e.eps e1r.eps e1n.eps
181 rm -f e1*.txt e1*.eps
183 e2e.txt: 77891 calcula_periodo
184 ./77891 e t 2 5000 100000 | ./calcula_periodo /dev/stdin > e2e.txt
185 e2r.txt: 77891 calcula_periodo
186 ./77891 r t 2 5000 100000 | ./calcula_periodo /dev/stdin > e2r.txt
187 e2n.txt: 77891 calcula_periodo
188 ./77891 n t 2 5000 100000 | ./calcula_periodo /dev/stdin > e2n.txt
189 e2.eps: e2e.txt e2r.txt e2n.txt periodo.gnuplot
190 sed "s/<P>/e/g" periodo.gnuplot | sed "s/<PUNTO_DEP>/sin/g" | \
191 sed "s/<PUNTO_FRIC>/con/g" | sed "s/<PUNTO_FRIC_TIPO>/ turbulenta/g" | \
198 ./77891 e t 2 405 100000 > e3e.txt
199 e3e.max.txt: e3e.txt calcula_maxmin
200 ./calcula_maxmin max e3e.txt > e3e.max.txt
201 e3e.min.txt: e3e.txt calcula_maxmin
202 ./calcula_maxmin min e3e.txt > e3e.min.txt
204 ./77891 r t 2 405 1000 > e3r.txt
205 e3r.max.txt: e3r.txt calcula_maxmin
206 ./calcula_maxmin max e3r.txt > e3r.max.txt
207 e3r.min.txt: e3r.txt calcula_maxmin
208 ./calcula_maxmin min e3r.txt > e3r.min.txt
210 ./77891 n t 2 405 190 > e3n.txt
211 e3n.max.txt: e3n.txt calcula_maxmin
212 ./calcula_maxmin max e3n.txt > e3n.max.txt
213 e3n.min.txt: e3n.txt calcula_maxmin
214 ./calcula_maxmin min e3n.txt > e3n.min.txt
215 e3: e3e.max.txt e3e.min.txt e3r.max.txt e3r.min.txt e3n.max.txt e3n.min.txt
220 ./77891 r t 2 50000 100000 > e4r.txt
221 e4r.max.txt: e4r.txt calcula_maxmin
222 ./calcula_maxmin max e4r.txt > e4r.max.txt
223 e4r.min.txt: e4r.txt calcula_maxmin
224 ./calcula_maxmin min e4r.txt > e4r.min.txt
225 e4r.eps: e4r.max.txt e4r.min.txt e4r.gnuplot
228 ./77891 n t 2 50000 25000 > e4n.txt
229 e4n.max.txt: e4n.txt calcula_maxmin
230 ./calcula_maxmin max e4n.txt > e4n.max.txt
231 e4n.min.txt: e4n.txt calcula_maxmin
232 ./calcula_maxmin min e4n.txt > e4n.min.txt
233 e4n.eps: e4n.max.txt e4n.min.txt e4n.gnuplot
237 rm -f e4*.txt e4*.eps
242 clean-f: clean-f1 clean-f2 clean-f3 clean-f4
245 ./77891 e d 0.03 5000 100000 > f1e.txt
246 f1e.eps: f1e.txt f1e.gnuplot
249 ./77891 r d 0.03 5000 1000 > f1r.txt
250 f1r.eps: f1r.txt f1r.gnuplot
253 ./77891 n d 0.03 5000 2500 > f1n.txt
254 f1n.eps: f1n.txt f1n.gnuplot
256 f1: f1e.eps f1r.eps f1n.eps
258 rm -f f1*.txt f1*.eps
260 f2e.txt: 77891 calcula_periodo
261 ./77891 e d 0.03 40000 100000 | ./calcula_periodo /dev/stdin > f2e.txt
262 f2r.txt: 77891 calcula_periodo
263 ./77891 r d 0.03 40000 100000 | ./calcula_periodo /dev/stdin > f2r.txt
264 f2n.txt: 77891 calcula_periodo
265 ./77891 n d 0.03 40000 100000 | ./calcula_periodo /dev/stdin > f2n.txt
266 f2.eps: f2e.txt f2r.txt f2n.txt periodo.gnuplot
267 sed "s/<P>/f/g" periodo.gnuplot | sed "s/<PUNTO_DEP>/con/g" | \
268 sed "s/<PUNTO_FRIC>/con/g" | sed "s/<PUNTO_FRIC_TIPO>/ turbulenta/g" | \
275 ./77891 e d 0.03 3400 340000 > f3e.txt
276 f3e.max.txt: f3e.txt calcula_maxmin
277 ./calcula_maxmin max f3e.txt > f3e.max.txt
278 f3e.min.txt: f3e.txt calcula_maxmin
279 ./calcula_maxmin min f3e.txt > f3e.min.txt
281 ./77891 r d 0.03 3400 3400 > f3r.txt
282 f3r.max.txt: f3r.txt calcula_maxmin
283 ./calcula_maxmin max f3r.txt > f3r.max.txt
284 f3r.min.txt: f3r.txt calcula_maxmin
285 ./calcula_maxmin min f3r.txt > f3r.min.txt
287 ./77891 n d 0.03 3400 1700 > f3n.txt
288 f3n.max.txt: f3n.txt calcula_maxmin
289 ./calcula_maxmin max f3n.txt > f3n.max.txt
290 f3n.min.txt: f3n.txt calcula_maxmin
291 ./calcula_maxmin min f3n.txt > f3n.min.txt
292 f3: f3e.max.txt f3e.min.txt f3r.max.txt f3r.min.txt f3n.max.txt f3n.min.txt
297 ./77891 r d 0.03 350000 100000 > f4r.txt
298 f4r.max.txt: f4r.txt calcula_maxmin
299 ./calcula_maxmin max f4r.txt > f4r.max.txt
300 f4r.min.txt: f4r.txt calcula_maxmin
301 ./calcula_maxmin min f4r.txt > f4r.min.txt
302 f4r.eps: f4r.max.txt f4r.min.txt f4r.gnuplot
305 ./77891 n d 0.03 350000 175000 > f4n.txt
306 f4n.max.txt: f4n.txt calcula_maxmin
307 ./calcula_maxmin max f4n.txt > f4n.max.txt
308 f4n.min.txt: f4n.txt calcula_maxmin
309 ./calcula_maxmin min f4n.txt > f4n.min.txt
310 f4n.eps: f4n.max.txt f4n.min.txt f4n.gnuplot
314 rm -f f4*.txt f4*.eps
318 informe.ps: informe.lyx c1 c2 c3 d1 d2 d4 e1 e2 e4 f1 f2 f4
319 lyx -e ps informe.lyx
321 informe.pdf: informe.lyx c1 c2 c3 d1 d2 d4 e1 e2 e4 f1 f2 f4
322 lyx -e pdf informe.lyx
324 informe.tex: informe.lyx c1 c2 c3 d1 d2 d4 e1 e2 e4 f1 f2 f4
325 lyx -e latex informe.lyx
326 informe: informe.ps informe.pdf informe.tex
328 rm -f informe.ps informe.tex informe.pdf