19 CHARACTER(LEN=WAC_VAR_LEN),
ALLOCATABLE ::
vname_wac(:)
21 CHARACTER(LEN=WAC_INFO_LEN),
ALLOCATABLE ::
vinfo_wac(:)
29 & (inst, varname, valeur, dim1, ierr, block_index)
32 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
33 INTEGER,
INTENT(IN) :: DIM1
34 DOUBLE PRECISION,
INTENT(OUT):: VALEUR(dim1)
35 INTEGER,
INTENT(OUT):: IERR
36 INTEGER,
OPTIONAL,
INTENT(IN) :: BLOCK_INDEX
40 IF(trim(varname).EQ.
'MODEL.X')
THEN 41 valeur(1:inst%MESH%X%DIM1) = inst%MESH%X%R(1:inst%MESH%X%DIM1)
42 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 43 valeur(1:inst%MESH%Y%DIM1) = inst%MESH%Y%R(1:inst%MESH%Y%DIM1)
44 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOM')
THEN 45 valeur(1:
SIZE(inst%ZF)) =
46 & inst%ZF(1:
SIZE(inst%ZF))
50 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
59 & (inst, varname, valeur, dim1, ierr, block_index)
62 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
63 INTEGER,
INTENT(IN) :: DIM1
64 DOUBLE PRECISION,
INTENT(IN) :: VALEUR(dim1)
65 INTEGER,
INTENT(OUT) :: IERR
66 INTEGER,
OPTIONAL,
INTENT(IN) :: BLOCK_INDEX
69 IF(trim(varname).EQ.
'MODEL.X')
THEN 70 inst%MESH%X%R(1:inst%MESH%X%DIM1) = valeur(1:inst%MESH%X%DIM1)
71 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 72 inst%MESH%Y%R(1:inst%MESH%Y%DIM1) = valeur(1:inst%MESH%Y%DIM1)
76 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
85 & (inst, varname, valeur, dim1, ierr)
88 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
89 INTEGER,
INTENT(IN) :: DIM1
90 INTEGER,
INTENT(OUT) :: VALEUR(dim1)
91 INTEGER,
INTENT(OUT) :: IERR
94 IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 95 valeur(1:
SIZE(inst%MESH%IKLE%I)) =
96 & inst%MESH%IKLE%I(1:
SIZE(inst%MESH%IKLE%I))
97 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 98 valeur(1:
SIZE(inst%MESH%NACHB%I)) =
99 & inst%MESH%NACHB%I(1:
SIZE(inst%MESH%NACHB%I))
100 ELSE IF(trim(varname).EQ.
'MODEL.KNOLG')
THEN 101 valeur(1:inst%MESH%KNOLG%DIM1) =
102 & inst%MESH%KNOLG%I(1:inst%MESH%KNOLG%DIM1)
106 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
115 & (inst, varname, valeur, dim1, ierr)
118 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
119 INTEGER,
INTENT(IN) :: DIM1
120 INTEGER,
INTENT(IN) :: VALEUR(dim1)
121 INTEGER,
INTENT(OUT) :: IERR
124 IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 125 inst%MESH%IKLE%I(1:
SIZE(inst%MESH%IKLE%I))
126 & = valeur(1:
SIZE(inst%MESH%IKLE%I))
127 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 128 inst%MESH%NACHB%I(1:
SIZE(inst%MESH%NACHB%I)) =
129 & valeur(1:
SIZE(inst%MESH%NACHB%I))
130 ELSE IF(trim(varname).EQ.
'MODEL.KNOLG')
THEN 131 inst%MESH%KNOLG%I(1:inst%MESH%KNOLG%DIM1) =
132 & valeur(1:inst%MESH%KNOLG%DIM1)
136 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
154 & (inst, varname, valeur, index1, index2, index3, ierr)
157 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
158 DOUBLE PRECISION,
INTENT(OUT):: VALEUR
159 INTEGER,
INTENT(IN) :: INDEX1
160 INTEGER,
INTENT(IN) :: INDEX2
161 INTEGER,
INTENT(IN) :: INDEX3
162 INTEGER,
INTENT(OUT):: IERR
167 IF(trim(varname).EQ.
'MODEL.X')
THEN 168 valeur = inst%MESH%X%R(index1)
169 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 170 valeur = inst%MESH%Y%R(index1)
171 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOM')
THEN 172 valeur = inst%ZF(index1)
176 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
194 & (inst, varname, valeur, index1, index2, index3, ierr)
197 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
198 DOUBLE PRECISION,
INTENT(IN) :: VALEUR
199 INTEGER,
INTENT(IN) :: INDEX1
200 INTEGER,
INTENT(IN) :: INDEX2
201 INTEGER,
INTENT(IN) :: INDEX3
202 INTEGER,
INTENT(OUT) :: IERR
205 IF(trim(varname).EQ.
'xxx')
THEN 207 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOM')
THEN 208 inst%ZF(index1) = valeur
212 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
230 & (inst, varname, valeur, index1, index2, index3, ierr)
233 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
234 INTEGER,
INTENT(OUT) :: VALEUR
235 INTEGER,
INTENT(IN) :: INDEX1
236 INTEGER,
INTENT(IN) :: INDEX2
237 INTEGER,
INTENT(IN) :: INDEX3
238 INTEGER,
INTENT(OUT) :: IERR
242 IF(trim(varname).EQ.
'MODEL.NPOIN')
THEN 243 valeur = inst%MESH%NPOIN
244 ELSE IF(trim(varname).EQ.
'MODEL.NELEM')
THEN 245 valeur = inst%MESH%NELEM
246 ELSE IF(trim(varname).EQ.
'MODEL.NPTFR')
THEN 247 valeur = inst%MESH%NPTFR
248 ELSE IF(trim(varname).EQ.
'MODEL.NTIMESTEPS')
THEN 250 ELSE IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 251 valeur = inst%MESH%IKLE%I((index2-1)*inst%MESH%IKLE%DIM1
253 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 254 valeur = inst%MESH%NACHB%I((index2-1)*inst%NBMAXNSHARE
256 ELSE IF(trim(varname).EQ.
'MODEL.KNOLG')
THEN 257 valeur = inst%MESH%KNOLG%I(index1)
261 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
279 & (inst, varname, valeur, index1, index2, index3, ierr)
282 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
283 INTEGER,
INTENT(IN) :: VALEUR
284 INTEGER,
INTENT(IN) :: INDEX1
285 INTEGER,
INTENT(IN) :: INDEX2
286 INTEGER,
INTENT(IN) :: INDEX3
287 INTEGER,
INTENT(OUT) :: IERR
290 IF(trim(varname).EQ.
'MODEL.NTIMESTEPS')
THEN 295 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
313 & (inst, varname, valeur, valuelen, index1, index2, ierr)
316 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
317 INTEGER,
INTENT(IN) :: VALUELEN
318 INTEGER,
INTENT(IN) :: INDEX1
319 INTEGER,
INTENT(IN) :: INDEX2
320 CHARACTER,
INTENT(OUT) :: VALEUR(valuelen)
321 INTEGER,
INTENT(OUT) :: IERR
327 IF(trim(varname).EQ.
'MODEL.RESULTFILE')
THEN 330 valeur(j:j) = inst%WAC_FILES(i)%NAME(j:j)
332 ELSE IF(trim(varname).EQ.
'MODEL.BCFILE')
THEN 335 valeur(j:j) = inst%WAC_FILES(i)%NAME(j:j)
337 ELSE IF(trim(varname).EQ.
'MODEL.GEOMETRYFILE')
THEN 340 valeur(j:j) = inst%WAC_FILES(i)%NAME(j:j)
345 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
363 & (inst, varname, valeur, valuelen, index1, index2, ierr)
366 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
367 INTEGER,
INTENT(IN) :: VALUELEN
368 INTEGER,
INTENT(IN) :: INDEX1
369 INTEGER,
INTENT(IN) :: INDEX2
370 CHARACTER,
INTENT(IN) :: VALEUR(valuelen)
371 INTEGER,
INTENT(OUT) :: IERR
376 IF(trim(varname).EQ.
'MODEL.RESULTFILE')
THEN 379 inst%WAC_FILES(i)%NAME(j:j) = valeur(j)
384 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
402 & (inst, varname, valeur, index1, index2, index3, ierr)
405 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
406 INTEGER,
INTENT(OUT) :: VALEUR
407 INTEGER,
INTENT(IN) :: INDEX1
408 INTEGER,
INTENT(IN) :: INDEX2
409 INTEGER,
INTENT(IN) :: INDEX3
410 INTEGER,
INTENT(OUT) :: IERR
414 IF(trim(varname).EQ.
'MODEL.DEBUG')
THEN 419 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
437 & (inst, varname, valeur, index1, index2, index3, ierr)
440 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
441 INTEGER,
INTENT(IN) :: VALEUR
442 INTEGER,
INTENT(IN) :: INDEX1
443 INTEGER,
INTENT(IN) :: INDEX2
444 INTEGER,
INTENT(IN) :: INDEX3
445 INTEGER,
INTENT(OUT) :: IERR
448 IF(trim(varname).EQ.
'MODEL.DEBUG')
THEN 453 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
470 & (inst, varname, dim1, dim2, dim3, ierr)
473 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
474 INTEGER,
INTENT(OUT) :: DIM1
475 INTEGER,
INTENT(OUT) :: DIM2
476 INTEGER,
INTENT(OUT) :: DIM3
477 INTEGER,
INTENT(OUT) :: IERR
484 IF(trim(varname).EQ.
'MODEL.X')
THEN 485 dim1 = inst%MESH%X%DIM1
486 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 487 dim1 = inst%MESH%Y%DIM1
488 ELSE IF(trim(varname).EQ.
'MODEL.RESULTFILE')
THEN 490 ELSE IF(trim(varname).EQ.
'MODEL.EQUATION')
THEN 492 ELSE IF(trim(varname).EQ.
'MODEL.GEOMETRYFILE')
THEN 494 ELSE IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 495 dim1 = inst%MESH%IKLE%DIM2
496 dim2 = inst%MESH%IKLE%DIM1
497 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 499 dim2 = inst%NBMAXNSHARE
500 ELSE IF(trim(varname).EQ.
'MODEL.KNOLG')
THEN 501 dim1 = inst%MESH%KNOLG%DIM1
502 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOM')
THEN 528 & (varname, vartype, readonly, ndim,ient,jent,kent,
529 & getpos,setpos,ierr)
531 CHARACTER(LEN=WAC_VAR_LEN),
INTENT(IN) :: VARNAME
532 CHARACTER(LEN=WAC_TYPE_LEN),
INTENT(OUT) :: VARTYPE
533 LOGICAL,
INTENT(OUT) :: READONLY
534 INTEGER,
INTENT(OUT) :: NDIM
535 INTEGER,
INTENT(OUT) :: IERR
536 INTEGER,
INTENT(OUT) :: IENT
537 INTEGER,
INTENT(OUT) :: JENT
538 INTEGER,
INTENT(OUT) :: KENT
539 INTEGER,
INTENT(OUT) :: GETPOS
540 INTEGER,
INTENT(OUT) :: SETPOS
552 IF(trim(varname).EQ.
'MODEL.BCFILE')
THEN 558 ELSE IF(trim(varname).EQ.
'MODEL.DEBUG')
THEN 564 ELSE IF(trim(varname).EQ.
'MODEL.IKLE')
THEN 570 ELSE IF(trim(varname).EQ.
'MODEL.NACHB')
THEN 576 ELSE IF(trim(varname).EQ.
'MODEL.KNOLG')
THEN 582 ELSE IF(trim(varname).EQ.
'MODEL.X')
THEN 589 ELSE IF(trim(varname).EQ.
'MODEL.Y')
THEN 596 ELSE IF(trim(varname).EQ.
'MODEL.RESULTFILE')
THEN 602 ELSE IF(trim(varname).EQ.
'MODEL.GEOMETRYFILE')
THEN 608 ELSE IF(trim(varname).EQ.
'MODEL.NPOIN')
THEN 613 ELSE IF(trim(varname).EQ.
'MODEL.NELEM')
THEN 618 ELSE IF(trim(varname).EQ.
'MODEL.NELMAX')
THEN 623 ELSE IF(trim(varname).EQ.
'MODEL.NPTFR')
THEN 628 ELSE IF(trim(varname).EQ.
'MODEL.NTIMESTEPS')
THEN 634 ELSE IF(trim(varname).EQ.
'MODEL.BOTTOM')
THEN 643 err_mess =
'UNKNOWN VARIABLE NAME : '//trim(varname)
660 & VARNAME, VARINFO, IERR)
662 INTEGER,
INTENT(IN) :: I
663 INTEGER,
INTENT(IN) :: VAR_LEN
664 INTEGER,
INTENT(IN) :: INFO_LEN
665 CHARACTER,
INTENT(OUT) :: VARNAME(var_len)
666 CHARACTER,
INTENT(OUT) :: VARINFO(info_len)
667 INTEGER,
INTENT(OUT) :: IERR
691 INTEGER,
INTENT(OUT) :: IERR
705 vinfo_wac(i) =
'BOUNDARY CONDITION FILE NAME' 711 vinfo_wac(i) =
'NAME OF THE GEOMERY FILE' 714 vinfo_wac(i) =
'CONNECTIVITY TABLE BETWEEN ELEMENT AND NODES' 717 vinfo_wac(i) =
'NUMBERS OF PROC CONTAINING A GIVEN POINT' 721 &
'GIVES THE INITIAL GLOBAL NUMBER OF A LOCAL POINT' 724 vinfo_wac(i) =
'NUMBER OF ELEMENT IN THE MESH' 727 vinfo_wac(i) =
'MAXIMUM NUMBER OF ELEMENTS ENVISAGED' 730 vinfo_wac(i) =
'NUMBER OF POINT IN THE MESH' 733 vinfo_wac(i) =
'NUMBER OF BOUNDARY POINTS' 742 vinfo_wac(i) =
'X COORDINATES FOR EACH POINT OF THE MESH' 745 vinfo_wac(i) =
'Y COORDINATES FOR EACH POINT OF THE MESH' 751 vinfo_wac(i) =
'NAME OF THE EQUATION USED IN THE CODE' subroutine set_integer_wac_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
integer, parameter run_set_config_pos
integer, parameter run_allocation_pos
integer, parameter run_read_case_pos
subroutine get_boolean_wac_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine set_integer_array_wac_d(INST, VARNAME, VALEUR, DIM1, IERR)
subroutine get_double_wac_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine set_double_wac_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine set_boolean_wac_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
integer, parameter wac_var_len
Size of the string containing the name of a variable.
subroutine get_var_size_wac_d(INST, VARNAME, DIM1, DIM2, DIM3, IERR)
subroutine get_double_array_wac_d(INST, VARNAME, VALEUR, DIM1, IERR, BLOCK_INDEX)
integer, parameter increase_nb_var_wac_error
subroutine set_double_array_wac_d(INST, VARNAME, VALEUR, DIM1, IERR, BLOCK_INDEX)
subroutine get_var_type_wac_d(VARNAME, VARTYPE, READONLY, NDIM, IENT, JENT, KENT, GETPOS, SETPOS, IERR)
character(len=wac_info_len), dimension(:), allocatable vinfo_wac
List of variable info.
subroutine get_integer_array_wac_d(INST, VARNAME, VALEUR, DIM1, IERR)
subroutine get_string_wac_d(INST, VARNAME, VALEUR, VALUELEN, INDEX1, INDEX2, IERR)
integer, parameter no_position
integer, parameter nb_var_wac
The maximum number of variable.
integer, parameter wac_info_len
Size of the string containing the information about a variable.
subroutine set_var_list_wac_d(IERR)
integer, parameter wac_type_len
Size of the string containing the type of a variable.
subroutine get_var_info_wac_d(I, VAR_LEN, INFO_LEN, VARNAME, VARINFO, IERR)
integer, parameter unknown_var_error
character(len=error_mess_len) err_mess
Error message.
subroutine get_integer_wac_d(INST, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
character(len=wac_var_len), dimension(:), allocatable vname_wac
List of variable names.
subroutine set_string_wac_d(INST, VARNAME, VALEUR, VALUELEN, INDEX1, INDEX2, IERR)