36
37
38
39 USE ebcs_mod
40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "com04_c.inc"
48
49
50
52 TYPE(t_ebcs_tab), TARGET, INTENT(INOUT) :: EBCS_TAB
53
54
55
56 INTEGER I,TYP,NOD
57 CLASS(t_ebcs), POINTER :: EBCS
58
59 DO i=1,nebcs
60 IF(.NOT.ebcs_tab%need_to_compute(i)) cycle
61 typ = ebcs_tab%tab(i)%poly%type
62 nod = ebcs_tab%tab(i)%poly%nb_node
63
64 IF(typ == 2 .OR. typ == 3)THEN
65 ebcs => ebcs_tab%tab(i)%poly
66 IF(typ == 2)
CALL ebcclap1(v, a, ebcs%node_list, nod, ebcs%la, -one)
67 IF(typ == 3)
CALL ebcclap1(v, a, ebcs%node_list, nod, ebcs%la, one)
68 ELSE IF(typ == 4)THEN
69 select type (twf => ebcs_tab%tab(i)%poly)
70 type is(t_ebcs_vel)
71 CALL ebcvit4(v, a, twf%node_list, nod, fv, twf%reso, twf)
72 end select
73 ELSE IF (typ == 5)THEN
74 select type (twf => ebcs_tab%tab(i)%poly)
75 type is(t_ebcs_normv)
76 CALL ebcvit5(v, a, twf%node_list, nod, fv, twf%reso, twf%la, twf )
77 end select
78 ELSE IF (typ == 7)THEN
79 select type (twf => ebcs_tab%tab(i)%poly)
80 type is(t_ebcs_iniv)
81 CALL ebcvit7(v, a, twf%node_list, nod, twf%v0, twf%reso,twf)
82 end select
83 ENDIF
84
85 ENDDO
86 RETURN
subroutine ebcclap1(v, a, liste, nod, norm, fac)
subroutine ebcvit4(v, a, liste, nod, fv, reso, ebcs)
subroutine ebcvit5(v, a, liste, nod, fv, reso, la, ebcs)
subroutine ebcvit7(v, a, liste, nod, v0, reso, ebcs)