43
44
45
47 USE intbufdef_mod
49
50
51
52#include "implicit_f.inc"
53
54
55
56#include "param_c.inc"
57#include "com04_c.inc"
58#include "lagmult.inc"
59#include "scr17_c.inc"
60
61
62
63 INTEGER NHF
64 INTEGER IADHF(*), IADLL(*), JLL(*), LLL(*),
65 . IPARI(NPARI,NINTER),IBCSLAG(5,*),
66 . GJBUFI(LKJNI,*),IBFV(NIFV,*),
67 . IBUFNC(*),IBUFNN(*),IBUFDL(*),IBUFSK(*),ITAB(*)
69 . vel(lfxvelr,*),mass(*),iner(*)
70 INTEGER NOM_OPT(LNOPT1,*),PTR_NOPT_INTER,PTR_NOPT_FXV,
71 . PTR_NOPT_BCS,PTR_NOPT_MPC,PTR_NOPT_GJOINT
72 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
73
74 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
75
76
77
78 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: LTSM
79 INTEGER IC, IK, J, JC, NCF, HIJ, ERR
80
81 ALLOCATE(ltsm(6,numnod), stat=err)
82 IF (err /= 0) THEN
83 CALL ancmsg(msgid=268,anmode=aninfo,msgtype=msgerror,
84 . c1='LTSM')
85 ENDIF
86 ncf = 0
87 ltsm = 0
88 nhf = 1
89 iadll(1) = 1
90 iadhf(1) = 1
91
92 IF (nbcslag > 0)
93 .
CALL lgmini_bc(iadll ,jll ,lll ,igrnod ,ibcslag,
94 . mass ,iner ,ncf ,nom_opt(1,ptr_nopt_bcs+1))
95 CALL lgmini_i2(iadll ,jll ,lll ,intbuf_tab ,ipari ,ncf,
96 . mass, itab ,nom_opt(1,ptr_nopt_inter+1))
97 IF (ngjoint > 0)
98 .
CALL lgmini_gj (iadll ,jll ,lll ,gjbufi ,ncf, mass,
99 . iner, itab ,nom_opt(1,ptr_nopt_gjoint+1))
100 IF (nummpc > 0)
101 .
CALL lgmini_mpc(iadll ,jll ,lll ,ibufnc ,ibufnn ,
102 . ibufdl ,ibufsk ,ncf, mass, iner, itab ,
103 . nom_opt(1,ptr_nopt_mpc+1))
104 IF (nfvlag > 0)
105 .
CALL lgmini_fxv(iadll ,jll ,lll ,ibfv ,vel ,
106 . ncf, mass, iner, itab,nom_opt(1,ptr_nopt_fxv+1))
107
108 DO ic=1,ncf
109 DO ik=iadll(ic),iadll(ic+1)-1
110 ltsm(jll(ik),lll(ik)) = 1
111 ENDDO
113 hij = 0
114 DO ik=iadll(
jc),iadll(
jc+1)-1
115 hij = hij + ltsm(jll(ik),lll(ik))
116 ENDDO
117 IF (hij > 0) nhf = nhf + 1
118 ENDDO
119 iadhf(ic+1) = nhf
120 DO ik=iadll(ic),iadll(ic+1)-1
121 ltsm(jll(ik),lll(ik)) = 0
122 ENDDO
123 ENDDO
124 nhf = nhf-1
125 IF (ALLOCATED(ltsm)) DEALLOCATE(ltsm)
126
127 RETURN
subroutine lgmini_bc(iadll, jll, lll, igrnod, ibcslag, mass, iner, nc, nom_opt)
subroutine lgmini_fxv(iadll, jll, lll, ibfv, vel, nc, mass, iner, itab, nom_opt)
subroutine lgmini_gj(iadll, jll, lll, gjbufi, nc, mass, iner, itab, nom_opt)
subroutine lgmini_i2(iadll, jll, lll, intbuf_tab, ipari, nc, mass, itab, nom_opt)
subroutine lgmini_mpc(iadll, jll, lll, ibufnc, ibufnn, ibufdl, ibufsk, nc, mass, iner, itab, nom_opt)
subroutine jc(p, t, a, b, cm, cn, tref, tm, epsm, sigmam, jc_yield, tan_jc)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)