libsim Versione 7.2.0
pentolone.F03
1module pentolone
2
3USE alchimia
5IMPLICIT NONE
6
7contains
8
9subroutine register_pentolone(vfn)
10
11 type(fndsv),intent(inout) :: vfn
12
13 call fnregister(vfn,bolli_def())
14 call fnregister(vfn,mescola_def())
15 call fnregister(vfn,friggi_def())
16 call fnregister(vfn,gira_def())
17
18end subroutine register_pentolone
19
20
21subroutine bolli(mybin,mybout,bin,bout,in,out)
22 CHARACTER(len=10),intent(in) :: mybin(:)
23 CHARACTER(len=10),intent(in) :: mybout(:)
24 CHARACTER(len=10),intent(in) :: bin(:)
25 CHARACTER(len=10),intent(in) :: bout(:)
26 real, intent(in) :: in(:,:)
27 real, intent(out) :: out(:,:)
28 integer :: i
29
30 do i=1,size(bin)
31 if (index_c(mybin,bin(i)) == 0) print *,"not in bin : ",bin(i)
32 end do
33 do i=1,size(bout)
34 if (index_c(mybout,bout(i)) == 0) print *,"not in bout: ",bout(i)
35 end do
36
37 out=1.
38
39end subroutine bolli
40
41type(fnds) function bolli_def()
42
43!!$ call init(bolli_def,"bolli",&
44!!$ (/"pollo ","gommosa "/),&
45!!$ (/"brodo "/),0,bolli)
46!!$
47 call init(bolli_def,"bolli",&
48 [character(len=10) :: "pollo","gommosa"],&
49 [character(len=10) :: "brodo","lesso"],0,func=bolli)
50 ![character(len=10) :: "brodo"],0)
51
52end function bolli_def
53
54
55subroutine mescola(mybin,mybout,bin,bout,in,out)
56 CHARACTER(len=10),intent(in) :: mybin(:)
57 CHARACTER(len=10),intent(in) :: mybout(:)
58 CHARACTER(len=10),intent(in) :: bin(:)
59 CHARACTER(len=10),intent(in) :: bout(:)
60 real, intent(in) :: in(:,:)
61 real, intent(out) :: out(:,:)
62 integer :: i
63
64 do i=1,size(bin)
65 if (index_c(mybin,bin(i)) == 0) print *,"not in bin : ",bin(i)
66 end do
67 do i=1,size(bout)
68 if (index_c(mybout,bout(i)) == 0) print *,"not in bout: ",bout(i)
69 end do
70
71 out=2.
72
73end subroutine mescola
74
75
76type(fnds) function mescola_def()
77
78 call init(mescola_def,"mescola",&
79 [character(len=10) :: "mais","sale","acqua"],&
80 [character(len=10) :: "polenta","sudore"],0,func=mescola)
81!!$
82!!$ call init(mescola_def,"mescola",&
83!!$ (/"mais ","sale ","acqua "/),&
84!!$ (/"polenta "/),0)
85
86end function mescola_def
87
88
89subroutine friggi(mybin,mybout,bin,bout,in,out)
90 CHARACTER(len=10),intent(in) :: mybin(:)
91 CHARACTER(len=10),intent(in) :: mybout(:)
92 CHARACTER(len=10),intent(in) :: bin(:)
93 CHARACTER(len=10),intent(in) :: bout(:)
94 real, intent(in) :: in(:,:)
95 real, intent(out) :: out(:,:)
96 integer :: i
97
98 do i=1,size(bin)
99 if (index_c(mybin,bin(i)) == 0) print *,"not in bin : ",bin(i)
100 end do
101 do i=1,size(bout)
102 if (index_c(mybout,bout(i)) == 0) print *,"not in bout: ",bout(i)
103 end do
104
105 out=3.
106
107end subroutine friggi
108
109
110type(fnds) function friggi_def()
111
112 call init(friggi_def,"friggi",&
113 [character(len=10) :: "olio","polenta"],&
114 [character(len=10) :: "pole.frit."],0,func=friggi)
115!!$
116!!$ call init(friggi_def,"friggi",&
117!!$ (/"olio ","polenta "/),&
118!!$ (/"pole.frit."/),0)
119
120end function friggi_def
121
122
123
124subroutine gira(mybin,mybout,bin,bout,in,out)
125 CHARACTER(len=10),intent(in) :: mybin(:)
126 CHARACTER(len=10),intent(in) :: mybout(:)
127 CHARACTER(len=10),intent(in) :: bin(:)
128 CHARACTER(len=10),intent(in) :: bout(:)
129 real, intent(in) :: in(:,:)
130 real, intent(out) :: out(:,:)
131 integer :: i
132
133 do i=1,size(bin)
134 if (index_c(mybin,bin(i)) == 0) print *,"not in bin : ",bin(i)
135 end do
136 do i=1,size(bout)
137 if (index_c(mybout,bout(i)) == 0) print *,"not in bout: ",bout(i)
138 end do
139
140 out=4.
141
142end subroutine gira
143
144
145type(fnds) function gira_def()
146 call init(gira_def,"gira",&
147 [character(len=10) :: "mais","sale"],&
148 [character(len=10) :: "broda"],0,func=gira)
149!!$
150!!$ call init(gira_def,"gira",&
151!!$ (/"mais ","sale "/),&
152!!$ (/"broda "/),0)
153
154
155end function gira_def
156
157
158end module pentolone
This module defines objects and methods for generating derivative variables.
Definition: alchimia.F03:214
This module defines usefull general purpose function and subroutine.

Generated with Doxygen.