32 . NUMELS, NUMELQ, NUMELTG,
33 . NEBCS, CEP, NUMEL, PROC,
34 . IEBCS_NELEM_L, IEBCS_TYPE, IEBCS_LISTELEM_L, IEBCS_LISTFAC_L,IEBCS_LISTDP0_L, LENGTH, N2D,
35 . MULTI_FVM_IS_USED,FLAG,EBCS_TAB)
44#include "implicit_f.inc"
52 INTEGER,
INTENT(IN),
TARGET :: IXS(NIXS, NUMELS), IXQ(NIXQ, NUMELQ), IXTG(NIXTG, NUMELTG),
53 . NUMELS, NUMELQ, NUMELTG
54 INTEGER,
INTENT(IN) :: NEBCS, CEP(*), NUMEL, PROC, N2D
55 INTEGER,
INTENT(INOUT) :: LENGTH, IEBCS_NELEM_L(NEBCS), IEBCS_TYPE(NEBCS),
56 . iebcs_listelem_l(*), iebcs_listfac_l(*)
57 my_real,
INTENT(INOUT) :: iebcs_listdp0_l(*)
58 LOGICAL,
INTENT(IN) :: MULTI_FVM_IS_USED
59 INTEGER,
INTENT(IN) :: FLAG
60 TYPE(t_ebcs_tab),
TARGET,
INTENT(IN) :: EBCS_TAB
64 INTEGER :: I, KK, TYP, JBUF, K1, K2, K3, NSEG, NSEG_L, IELEM, ELEM_ID, ISEG
66 INTEGER,
DIMENSION(:),
ALLOCATABLE :: LOCALID
67 INTEGER,
DIMENSION(:, :),
POINTER :: IX
72 ALLOCATE(localid(numel))
74 ix => ixs(1:nixs, 1:numels)
75 ELSEIF(numelq /= 0)
THEN
76 ix => ixq(1:nixq, 1:numelq)
77 ELSEIF (numeltg /= 0 .AND. multi_fvm_is_used)
THEN
78 ix => ixtg(1:nixtg, 1:numeltg)
84 IF (cep(i) == proc)
THEN
95 typ = ebcs_tab%tab(i)%poly%type
97 nseg = ebcs_tab%tab(i)%poly%nb_elem
100 IF (ebcs_tab%tab(i)%poly%has_ielem )
THEN
104 ielem = ebcs_tab%tab(i)%poly%ielem(iseg)
106 IF(ebcs_tab%tab(i)%poly%has_dp0) dp0 = ebcs_tab%tab(i)%poly%dp0(iseg)
109 IF (cep(ielem) == proc)
THEN
112 iebcs_listelem_l(length + nseg_l) = localid(ielem)
113 iebcs_listfac_l(length + nseg_l) = ebcs_tab%tab(i)%poly%iface(iseg)
114 iebcs_listdp0_l(length + nseg_l) = dp0
122 iebcs_nelem_l(i) = nseg_l
123 length = length + nseg_l
subroutine c_iebcs(ixs, ixq, ixtg, numels, numelq, numeltg, nebcs, cep, numel, proc, iebcs_nelem_l, iebcs_type, iebcs_listelem_l, iebcs_listfac_l, iebcs_listdp0_l, length, n2d, multi_fvm_is_used, flag, ebcs_tab)