libsim Versione 7.1.11

◆ vol7d_varvect_alloc()

subroutine 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 104 del file vol7d_varvect_class.f90.

105TYPE(vol7d_varvect),INTENT(INOUT) :: this
106INTEGER,INTENT(in),OPTIONAL :: nvarr
107INTEGER,INTENT(in),OPTIONAL :: nvard
108INTEGER,INTENT(in),OPTIONAL :: nvari
109INTEGER,INTENT(in),OPTIONAL :: nvarb
110INTEGER,INTENT(in),OPTIONAL :: nvarc
111LOGICAL,INTENT(in),OPTIONAL :: ini
112
113INTEGER :: i
114LOGICAL :: linit
115
116IF (PRESENT(ini)) THEN
117 linit = ini
118ELSE
119 linit = .false.
120ENDIF
121
122IF (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
132ENDIF
133IF (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
143ENDIF
144IF (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
154ENDIF
155IF (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
165ENDIF
166IF (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
176ENDIF
177

Generated with Doxygen.