12subroutine register_forno(vfn)
14 type(fndsv),
intent(inout) :: vfn
16 call fnregister(vfn,inforna_def())
17 call fnregister(vfn,rosola_def())
18 call fnregister(vfn,ripassa_def())
19 call fnregister(vfn,brucia_def())
21end subroutine register_forno
24subroutine inforna(mybin,mybout,bin,bout,in,out)
25 CHARACTER(len=10),
intent(in) :: mybin(:)
26 CHARACTER(len=10),
intent(in) :: mybout(:)
27 CHARACTER(len=10),
intent(in) :: bin(:)
28 CHARACTER(len=10),
intent(in) :: bout(:)
29 real,
intent(in) :: in(:,:)
30 real,
intent(out) :: out(:,:)
34 if (index_c(mybin,bin(i)) == 0) print *,
"not in bin : ",bin(i)
37 if (index_c(mybout,bout(i)) == 0) print *,
"not in bout: ",bout(i)
43type(fnds) function inforna_def()
44 call init(inforna_def,
"inforna",&
45 [
character(len=10) ::
"farina",
"lievito",
"acqua",
"sale"],&
46 [
character(len=10) ::
"pane"],0,func=inforna)
47end function inforna_def
51subroutine rosola(mybin,mybout,bin,bout,in,out)
52 CHARACTER(len=10),
intent(in) :: mybin(:)
53 CHARACTER(len=10),
intent(in) :: mybout(:)
54 CHARACTER(len=10),
intent(in) :: bin(:)
55 CHARACTER(len=10),
intent(in) :: bout(:)
56 real,
intent(in) :: in(:,:)
57 real,
intent(out) :: out(:,:)
61 if (index_c(mybin,bin(i)) == 0) print *,
"not in bin : ",bin(i)
64 if (index_c(mybout,bout(i)) == 0) print *,
"not in bout: ",bout(i)
71type(fnds) function rosola_def()
72 call init(rosola_def,
"rosola",&
73 [
character(len=10) ::
"patate",
"sale"],&
74 [
character(len=10) ::
"patatine"],0,func=rosola)
75end function rosola_def
78subroutine ripassa(mybin,mybout,bin,bout,in,out)
79 CHARACTER(len=10),
intent(in) :: mybin(:)
80 CHARACTER(len=10),
intent(in) :: mybout(:)
81 CHARACTER(len=10),
intent(in) :: bin(:)
82 CHARACTER(len=10),
intent(in) :: bout(:)
83 real,
intent(in) :: in(:,:)
84 real,
intent(out) :: out(:,:)
88 if (index_c(mybin,bin(i)) == 0) print *,
"not in bin : ",bin(i)
91 if (index_c(mybout,bout(i)) == 0) print *,
"not in bout: ",bout(i)
98type(fnds) function ripassa_def()
99 call init(ripassa_def,
"ripassa",&
100 [
character(len=10) ::
"patatine",
"pole.frit."],&
101 [
character(len=10) ::
"pole.pata."],0,func=ripassa)
102end function ripassa_def
105subroutine brucia(mybin,mybout,bin,bout,in,out)
106 CHARACTER(len=10),
intent(in) :: mybin(:)
107 CHARACTER(len=10),
intent(in) :: mybout(:)
108 CHARACTER(len=10),
intent(in) :: bin(:)
109 CHARACTER(len=10),
intent(in) :: bout(:)
110 real,
intent(in) :: in(:,:)
111 real,
intent(out) :: out(:,:)
115 if (index_c(mybin,bin(i)) == 0) print *,
"not in bin : ",bin(i)
118 if (index_c(mybout,bout(i)) == 0) print *,
"not in bout: ",bout(i)
125type(fnds) function brucia_def()
126 call init(brucia_def,
"brucia",&
127 [
character(len=10) ::
"patate",
"sale"],&
128 [
character(len=10) ::
"carboncini"],0,func=brucia)
129end function brucia_def
This module defines objects and methods for generating derivative variables.
This module defines usefull general purpose function and subroutine.