31
32
33
34
35
36
37
38
39
41
42
43
44#include "implicit_f.inc"
45
46
47
48#include "vect01_c.inc"
49#include "com04_c.inc"
50
51
52
53 INTEGER, INTENT(IN) :: IXQ(NIXQ, NUMELQ), TRIMAT
54 my_real,
INTENT(IN) :: x(3,numnod)
55
56
57
58 INTEGER :: I, II, JJ
59 INTEGER :: NODE_ID
60 my_real :: reduc_factor(trimat), nodal_reduc_factor, yn, zn, valnode
61 INTEGER :: ITRIMAT
62 INTEGER :: NNUM
64
65
66
67
68
69 DO i = lft, llt
70 ii = i + nft
71
73 reduc_factor = ep30
74 nnum = 0
75 DO itrimat = 1, trimat
78 nnum = nnum + 1
79
80 DO jj = 1, 4
81 node_id = ixq(jj+1, ii)
82
83 yn = x(2, node_id) ; zn = x(3, node_id)
84
88 nodal_reduc_factor = one
90 nodal_reduc_factor =
93 ELSE IF (valnode -
alemuscl_buffer%VOLUME_FRACTION(ii,itrimat) < zero)
THEN
94 nodal_reduc_factor =
97 ENDIF
98 reduc_factor(itrimat) =
min(reduc_factor(itrimat), nodal_reduc_factor)
99 ENDDO
100 ELSE
101 reduc_factor(itrimat) = zero
102 ENDIF
103 ENDDO
104
105 DO itrimat = 1, trimat
107
110 ENDIF
111 ENDDO
112 ENDDO
113
type(alemuscl_param_) alemuscl_param
type(alemuscl_buffer_) alemuscl_buffer