31 SUBROUTINE w_drape(DRAPE,INDX, CEP,P,NUMEL,NUMEL_L,NELDRP_L,LEN_IA,LEN_AM)
36#include "implicit_f.inc"
45 INTEGER CEP(*), P, NUMEL, NUMEL_L, ,LEN_IA
46 TYPE(
drape_),
DIMENSION(NUMELC_DRAPE + NUMELTG_DRAPE):: DRAPE
47 INTEGER,
DIMENSION(NUMEL) :: INDX
54 INTEGER I, EL, J,,NDIM,IDX,NUMELDRP_L,NDIM_SLICE,
55 . NDIM_INDX_PLY,K,II,IS,NEL,NSLICE,NELDRP_L,
56 my_real,
DIMENSION(:,:),
ALLOCATABLE :: rtmp
57 my_real,
DIMENSION(:) ,
ALLOCATABLE :: thk
58 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ITMP
59 INTEGER,
DIMENSION(:) ,
ALLOCATABLE :: NPTDRP_ELT,ISLICE,INDX_PLY,
65 ALLOCATE(npt_elt(numel_l),nptdrp_elt(numel_l), index(numel_l),thk(numel_l))
83 neldrp_l = neldrp_l + 1
85 npt_drp = drape(ii)%NPLY_DRAPE
87 nptdrp_elt(neldrp_l) = npt_drp
88 npt_elt(neldrp_l ) = npt
89 thk(neldrp_l) = drape(ii)%THICK
91 nslice = drape(ii)%DRAPE_PLY(j)%NSLICE
94 ndim_slice = ndim_slice + npt_drp
95 ndim_indx_ply = ndim_indx_ply + npt
101 ALLOCATE(itmp(ndim,2),rtmp(ndim,2),islice(ndim_slice),indx_ply(ndim_indx_ply))
113 neldrp_l = neldrp_l + 1
114 npt_drp = drape(ii)%NPLY_DRAPE
117 nslice = drape(ii)%DRAPE_PLY(j)%NSLICE
118 islice(ndim_slice + j) = nslice
120 itmp(ndim + is,1) = drape(ii)%DRAPE_PLY(j)%IDRAPE(is,1)
121 itmp(ndim + is,2) = drape(ii)%DRAPE_PLY(j)%IDRAPE(is,2)
122 rtmp(ndim + is,1) = drape(ii)%DRAPE_PLY(j)%RDRAPE(is,1)
123 rtmp(ndim + is,2) = drape(ii)%DRAPE_PLY(j
127 ndim_slice = ndim_slice + npt_drp
129 indx_ply(ndim_indx_ply + j) = drape(ii)%INDX_PLY(j)
131 ndim_indx_ply = ndim_indx_ply + npt
147 len_am = len_am + 2*ndim + neldrp_l
148 len_ia = len_ia + 2*ndim + numel_l + 2*neldrp_l
149 . + ndim_slice + ndim_indx_ply + 3
150 DEALLOCATE(itmp,rtmp,islice,indx_ply,npt_elt,nptdrp_elt, index,thk)
subroutine w_drape(drape, indx, cep, p, numel, numel_l, neldrp_l, len_ia, len_am)