libsim  Versione7.2.3

◆ vol7d_varvect_alloc()

subroutine vol7d_varvect_class::vol7d_varvect_alloc ( type(vol7d_varvect), intent(inout)  this,
integer, intent(in), optional  nvarr,
integer, intent(in), optional  nvard,
integer, intent(in), optional  nvari,
integer, intent(in), optional  nvarb,
integer, intent(in), optional  nvarc,
logical, intent(in), optional  ini 
)

Metodo per allocare i vettori di variabili richiesti.

Se uno dei parametri nvar* non è presente o è <= 0 non viene allocato niente per quel tipo di variabile. Il metodo può essere chiamato più volte per allocare successivamente diversi tipi di variabili.

Parametri
[in,out]thisoggetto in cui allocare i vettori
[in]nvarrnumero di variabili con dati reali
[in]nvardnumero di variabili con dati a doppia precisione
[in]nvarinumero di variabili con dati interi
[in]nvarbnumero di variabili con dati byte
[in]nvarcnumero di variabili con dati carattere
[in]inise fornito e vale .TRUE., viene chiamato il costruttore vol7d_var_class::init (senza parametri opzionali) per ognuna delle variabili allocate in ciascun vettore

Definizione alla linea 105 del file vol7d_varvect_class.f90.

105 TYPE(vol7d_varvect),INTENT(INOUT) :: this
106 INTEGER,INTENT(in),OPTIONAL :: nvarr
107 INTEGER,INTENT(in),OPTIONAL :: nvard
108 INTEGER,INTENT(in),OPTIONAL :: nvari
109 INTEGER,INTENT(in),OPTIONAL :: nvarb
110 INTEGER,INTENT(in),OPTIONAL :: nvarc
111 LOGICAL,INTENT(in),OPTIONAL :: ini
112 
113 INTEGER :: i
114 LOGICAL :: linit
115 
116 IF (PRESENT(ini)) THEN
117  linit = ini
118 ELSE
119  linit = .false.
120 ENDIF
121 
122 IF (PRESENT(nvarr)) THEN
123  IF (nvarr > 0) THEN
124  IF (ASSOCIATED(this%r)) DEALLOCATE(this%r)
125  ALLOCATE(this%r(nvarr))
126  IF (linit) THEN
127  DO i = 1, nvarr
128  CALL init(this%r(i))
129  ENDDO
130  ENDIF
131  ENDIF
132 ENDIF
133 IF (PRESENT(nvard)) THEN
134  IF (nvard > 0) THEN
135  IF (ASSOCIATED(this%d)) DEALLOCATE(this%d)
136  ALLOCATE(this%d(nvard))
137  IF (linit) THEN
138  DO i = 1, nvard
139  CALL init(this%d(i))
140  ENDDO
141  ENDIF
142  ENDIF
143 ENDIF
144 IF (PRESENT(nvari)) THEN
145  IF (nvari > 0) THEN
146  IF (ASSOCIATED(this%i)) DEALLOCATE(this%i)
147  ALLOCATE(this%i(nvari))
148  IF (linit) THEN
149  DO i = 1, nvari
150  CALL init(this%i(i))
151  ENDDO
152  ENDIF
153  ENDIF
154 ENDIF
155 IF (PRESENT(nvarb)) THEN
156  IF (nvarb > 0) THEN
157  IF (ASSOCIATED(this%b)) DEALLOCATE(this%b)
158  ALLOCATE(this%b(nvarb))
159  IF (linit) THEN
160  DO i = 1, nvarb
161  CALL init(this%b(i))
162  ENDDO
163  ENDIF
164  ENDIF
165 ENDIF
166 IF (PRESENT(nvarc)) THEN
167  IF (nvarc > 0) THEN
168  IF (ASSOCIATED(this%c)) DEALLOCATE(this%c)
169  ALLOCATE(this%c(nvarc))
170  IF (linit) THEN
171  DO i = 1, nvarc
172  CALL init(this%c(i))
173  ENDDO
174  ENDIF
175  ENDIF
176 ENDIF
177 

Generated with Doxygen.