34 SUBROUTINE dyna_ini(NODFT ,NODLT ,D_AL ,NM_A ,NM_B ,
44#include "implicit_f.inc"
57 . d_al,nm_a ,nm_b,v(3,*),vr(3,*)
61 INTEGER N, ,IER2,IER3,IER4
65 ALLOCATE(dy_dam(3,numnod),dy_dam0(3,numnod),stat=ier1)
69 IF(
ALLOCATED(dy_d))
DEALLOCATE(dy_d)
70 ALLOCATE(dy_d(3,numnod),stat=ier1)
71 IF(
ALLOCATED(dy_v))
DEALLOCATE(dy_v)
72 ALLOCATE(dy_v(3,numnod),stat=ier2)
73 IF(
ALLOCATED(dy_a))
THEN
76 ALLOCATE(dy_a(3,numnod),stat=ier3)
79 IF ((ier1+ier2+ier3)/=0)
THEN
80 CALL ancmsg(msgid=19,anmode=aninfo,
81 . c1=
'FOR IMPLICIT DYNAMIC')
96 ALLOCATE(dy_damr(3,numnod),dy_damr0(3,numnod),stat=ier4)
100 IF(
ALLOCATED(dy_dr))
DEALLOCATE(dy_dr)
101 ALLOCATE(dy_dr(3,numnod),stat=ier1)
102 IF(
ALLOCATED(dy_vr))
DEALLOCATE(dy_vr)
103 ALLOCATE(dy_vr(3,numnod),stat=ier2)
104 IF(
ALLOCATED(dy_ar))
THEN
107 ALLOCATE(dy_ar(3,numnod),stat=ier3)
111 IF ((ier1+ier2+ier3)/=0)
THEN
112 CALL ancmsg(msgid=19,anmode=aninfo,
113 . c1=
'FOR IMPLICIT DYNAMIC')
133 dy_b = fourth*(one-d_al)*(one-d_al)
152#include
"implicit_f.inc"
156#include "com01_c.inc"
193#include "implicit_f.inc"
197#include "com01_c.inc"
198#include "com08_c.inc"
199#include "impl1_c.inc"
200#include "impl2_c.inc"
201#include "com04_c.inc"
205 INTEGER NODFT,NODLT,NDT
208 . d(3,*),dr(3,*),v(3,*),vr(3,*)
214 . adt,adt1,bdt,bdti,dt3
216 IF (imconv<=-2.AND..NOT.(ninvel>0.AND.ncycle==0))
THEN
219 bdt = one/(half-dy_g+dy_b)/dt3
222 dy_a(1,i)=bdt*dy_v(1,i)-bdti*dy_d(1,i)
223 dy_a(2,i)=bdt*dy_v(2,i)-bdti*dy_d(2,i)
224 dy_a(3,i)=bdt*dy_v(3,i)-bdti*dy_d(3,i)
228 dy_ar(1,i)=bdt*dy_vr(1,i)-bdti*dy_dr(1,i)
229 dy_ar(2,i)=bdt*dy_vr(2,i)-bdti*dy_dr(2,i)
230 dy_ar(3,i)=bdt*dy_vr(3,i)-bdti*dy_dr(3,i)
234 bdti = one/dt2/dt2/dy_b
236 dy_a(1,i)=bdti*(d(1,i)-dy_d(1,i))
237 dy_a(2,i)=bdti*(d(2,i)-dy_d(2,i))
238 dy_a(3,i)=bdti*(d(3,i)-dy_d(3,i))
242 dy_ar(1,i)=bdti*(dr(1,i)-dy_dr(1,i))
243 dy_ar(2,i)=bdti*(dr(2,i)-dy_dr(2,i))
244 dy_ar(3,i)=bdti*(dr(3,i)-dy_dr(3,i))
255 bdt = (half-dy_b)*dt3*dt3
257 v(1,i)=dy_v(1,i)+adt1*dy_a(1,i)
258 v(2,i)=dy_v(2,i)+adt1*dy_a(2,i)
259 v(3,i)=dy_v(3,i)+adt1*dy_a(3,i)
261 dy_v(1,i)=v(1,i)+adt*dy_a(1,i)
262 dy_v(2,i)=v(2,i)+adt*dy_a(2,i)
263 dy_v(3,i)=v(3,i)+adt*dy_a(3,i)
265 dy_d(1,i)=dt3*v(1,i)+bdt*dy_a(1,i)
266 dy_d(2,i)=dt3*v(2,i)+bdt*dy_a(2,i)
267 dy_d(3,i)=dt3*v(3,i)+bdt*dy_a(3,i)
271 vr(1,i)=dy_vr(1,i)+adt1
272 vr(2,i)=dy_vr(2,i)+adt1*dy_ar(2,i)
273 vr(3,i)=dy_vr(3,i)+adt1*dy_ar(3,i)
275 dy_vr(1,i)=vr(1,i)+adt*dy_ar(1,i)
276 dy_vr(2,i)=vr(2,i)+adt*dy_ar(2,i)
277 dy_vr(3,i)=vr(3,i)+adt*dy_ar(3,i)
279 dy_dr(1,i)=dt3*vr(1,i)+bdt*dy_ar(1,i)
281 dy_dr(3,i)=dt3*vr(3,i)+bdt*dy_ar(3,i)
298!||====================================================================
300 . DIAG_K ,MS ,IN ,D_AL ,WEIGHT,
309#include "implicit_f.inc"
313#include "com01_c.inc"
314#include "com08_c.inc"
315#include "impl1_c.inc"
316#include "impl2_c.inc"
320 INTEGER NODFT,NODLT,IDDL(*) ,NDOF(*),WEIGHT(*),IADK(*)
323 . diag_k(*),ms(*),in(*),d_al,lt_k(*)
334 dy_b = fourth*(one-d_al)*(one-d_al)
338 s = (one+d_al)*dy_b*dt2
339 bdt = (one/dt2+(one+d_al)*dampa_imp*dy_g)/s
340 nd = iadk(nddl_l+1)-iadk(1)
341 s0 = (one+d_al)*dampb_imp*dy_g/s
344 diag_k(i)=diag_k(i)+s0*diag_k(i)
347 lt_k(i) = lt_k(i)+s0*lt_k(i)
351 s = (one+d_al)*dy_b*dt2*dt2
352 IF (iqstat>0.AND.(ilintf==0.OR.ilintf==ncycle))
THEN
353 s = s *scal_dtq*scal_dtq
361 mkf = abs(ms(i))*bdt*weight(i)
364 diag_k(nd)=diag_k(nd)+mkf
369 mkf = abs(ms(i))*bdt*weight(i)
370 mkm = abs(in(i))*bdt*weight(i)
374 diag_k(nd)=diag_k(nd)+mkf
376 diag_k(nd)=diag_k(nd)+mkm
400#include "implicit_f.inc"
404#include "com01_c.inc"
405#include "com04_c.inc"
406#include "impl1_c.inc"
412 . dy_ac(3,*),dy_acr(3,*),ms(*),in(*),fint(3,*),mint(3,*),
422 dy_ac(1,i)=-abs(ms(i))*dy_a(1,i)
423 dy_ac(2,i)=-abs(ms(i))*dy_a(2,i)
424 dy_ac(3,i)=-abs(ms(i))*dy_a(3,i)
428 dy_acr(1,i)=-abs(in(i))*dy_ar(1,i)
429 dy_acr(2,i)=-abs(in(i))*dy_ar(2,i)
430 dy_acr(3,i)=-abs(in(i))*dy_ar(3,i)
436 fint(1,i)=fint(1,i)-dy_dam(1,i)
437 fint(2,i)=fint(2,i)-dy_dam(2,i)
438 fint(3,i)=fint(3,i)-dy_dam(3,i)
442 mint(1,i)=mint(1,i)-dy_damr(1,i)
443 mint(2,i)=mint(2,i)-dy_damr(2,i)
444 mint(3,i)=mint(3,i)-dy_damr(3,i)
466#include "implicit_f.inc"
470#include "impl2_c.inc"
487 IF (hht_a==zero)
RETURN
492 dy_r0(i) = b*dy_r0(i)
514#include
"implicit_f.inc"
518#include "impl2_c.inc"
529 IF (HHT_A==zero)
RETURN
556#include "implicit_f.inc"
560#include "com01_c.inc"
561#include
"com04_c.inc"
562#include "com08_c.inc"
563#include "impl1_c.inc"
567 INTEGER NDDL,INLOC(*) ,IDDL(*) ,NDOF(*),IKC(*)
574 INTEGER I,J,N,,ND,NKC,IER1
579 IF(ncycle==1.AND.inconv==1)
THEN
580 ALLOCATE(d_n_1(3*numnod),stat=ier1)
581 IF (iroddl/=0)
ALLOCATE(dr_n_1(3*numnod),stat=ier1
583 CALL ancmsg(msgid=19,anmode=aninfo,
584 . c1=
'FOR IMPLICIT QUASI-STATIC')
591 IF(ncycle == 1)
ALLOCATE(qs_d(nddl),qs_u(nddl),stat=ier1)
593 CALL ancmsg(msgid=19,anmode=aninfo,
594 . c1=
'FOR IMPLICIT QUASI-STATIC')
600 b = fourth*(one+zep05)*(one+zep05)
601 s = (one-zep05)*b*dt2*dt2
604 IF (iroddl == 0)
THEN
658#include
"implicit_f.inc"
673 qs_u(i) = qs_u(i)+u(i)
678!||====================================================================
693#include "implicit_f.inc"
709 DEALLOCATE(qs_u,qs_d)
723!||
spmd_sumf_a ../engine/source/mpi/
implicit/imp_spmd.f
730!|| skew_mod ../common_source/modules/skew_mod.f90
734 2 V ,X ,SKEWS ,AR ,VR ,
735 3 SENSOR_TAB,WEIGHT ,WFEXC ,IADS_F ,
736 4 FSKY ,IGRV ,AGRV ,MS ,IN ,
737 5 LGRAV ,ITASK ,NRBYAC ,IRBYAC ,NPBY ,
738 6 RBY ,FR_ELEM ,IAD_ELEM,NDDL ,NNZK ,
739 7 IDIV ,H3D_DATA,CPTREAC ,FTHREAC,NODREAC,
740 8 NSENSOR ,TH_SURF ,DPL0CLD,
741 9 VEL0CLD ,D ,DR ,NUMNOD ,NSURF ,
742 A NFUNCT ,NCONLD ,NGRAV ,NINVEL ,STF ,NUMSKW ,
748 use python_funct_mod,
only: python_
757#include "implicit_f.inc"
761#include "com01_c.inc"
762#include "com08_c.inc"
763#include "impl1_c.inc"
764#include "param_c.inc"
765#include "timeri_c.inc"
766#include "impl2_c.inc"
770 type(python_),
intent(inout) :: python
771 INTEGER ,
INTENT(IN) :: NSENSOR,NUMNOD,NSURF,NFUNCT,NCONLD,NGRAV,NINVEL
772 INTEGER,
INTENT(IN) :: STF
773 INTEGER,
INTENT(IN) :: SNPC
774 INTEGER,
INTENT(IN) :: NUMSKW
775 INTEGER ITASK,NPC(SNPC), IBCL(*), NPBY(NNPBY,*), IADS_F(*),
776 . IGRV(*),WEIGHT(*),LGRAV(*),IDIV,
778 INTEGER FR_ELEM(*),IAD_ELEM(2,*),NRBYAC,IRBYAC(*),NDDL ,NNZK
780 . X(3,*) ,V(3,*) ,VR(3,*),MS(*) ,AGRV(*),
781 . TF(*) ,FORC(*) ,RBY(NRBY,*),IN(*),
782 . A(3,*) ,AR(3,*),WFEXC,FSKY(*),FTHREAC(6,*)
783 TYPE(H3D_DATABASE) :: H3D_DATA
784 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) :: SENSOR_TAB
785 TYPE (TH_SURF_) ,
INTENT(INOUT) :: TH_SURF
786 TYPE (SKEW_),
INTENT(INOUT) :: SKEWS
787 my_real,
INTENT(IN) ::
788 . dpl0cld(6,nconld),vel0cld(6,nconld),
789 . d(3,numnod),dr(3,numnod)
790 DOUBLE PRECISION,
INTENT(INOUT) :: WFEXT
794 INTEGER I,J,N, NCL_MAX,LBAND,NTMP,NODFT,NODLT,IER1,IER2
796 . TMP,ADT,BDT,BDTI,DUMMY_FEXT(3,1)
804 ALLOCATE(dy_diak0(nddl),dy_ltk0(nnzk),stat=ier1)
808 IF ((ier1+ier2)/=0)
THEN
809 CALL ancmsg(msgid=19,anmode=aninfo,
810 . c1=
'FOR IMPLICIT DYNAMIC')
814 IF (hht_a/=zero)
THEN
815 ALLOCATE(dy_r0(nddl),dy_r1(nddl),stat=ier1)
818 CALL ancmsg(msgid=19,anmode=aninfo,
819 . c1=
'FOR IMPLICIT DYNAMIC')
826 bdt = (half-dy_b)*dt0_imp
827 bdti =one/(bdt-adt*dt0_imp)
833 v(1,n) = bdti*(dy_v(1,n)*bdt-dy_d(1,n)*adt)
834 v(2,n) = bdti*(dy_v(2,n)*bdt-dy_d(2,n)*adt)
835 v(3,n) = bdti*(dy_v(3,n)*bdt-dy_d(3,n)*adt)
843 vr(1,n) = bdti*(dy_vr(1,n)*bdt-dy_dr(1,n)*adt)
844 vr(2,n) = bdti*(dy_vr(2,n)*bdt-dy_dr(2,n)*adt)
845 vr(3,n) = bdti*(dy_vr(3,n)*bdt-dy_dr(3,n)*adt)
850 IF (tt==dt2.OR.impl_s0==0)
THEN
853 IF (tt==dt2) tt = zero
856 CALL force_imp(ibcl ,forc ,snpc ,npc ,tf ,
857 2 dy_a ,v ,x ,skews ,
858 3 dy_ar ,vr ,nsensor ,sensor_tab ,wfexc ,
859 4 iads_f ,fsky ,dummy_fext ,h3d_data ,cptreac ,
860 5 fthreac ,nodreac ,th_surf ,
861 6 dpl0cld ,vel0cld ,d ,dr ,nconld ,
862 7 numnod ,nfunct ,stf ,wfext)
864 DO i=iad_elem(1,1),iad_elem(1,nspmd+1)-1
866 tmp = abs(dy_a(1,j))+abs(dy_a(2,j))+abs(dy_a(3,j))+
867 . abs(dy_ar(1,j))+abs(dy_ar(2,j))+abs(dy_ar(3,j))
868 IF (tmp>zero) ncl_max = ncl_max + 1
876 lband = iad_elem(1,nspmd+1)-iad_elem(1,1)
882 CALL spmd_sumf_a(dy_a,dy_ar,iad_elem,fr_elem,ntmp,lband)
888 2 v ,x ,skews%SKEW ,ms,wfexc,
889 3 nsensor,sensor_tab,weight,lgrav,itask,
890 4 nrbyac,irbyac,npby ,rby, python)
896 dy_a(1,n) = (dy_a(1,n) + a(1,n))* tmp
905 dy_ar(1,n) = (dy_ar(1,n) + ar(1,n))* tmp
906 dy_ar(2,n) = (dy_ar(2,n) + ar(2,n))* tmp
907 dy_ar(3,n) = (dy_ar(3,n) + ar(3,n))* tmp
911 IF (tt==zero) tt = dt2
916 bdt = (half-dy_b)*dt2*dt2
918 dy_v(1,n)=v(1,n)+adt*dy_a(1,n)
919 dy_v(2,n)=v(2,n)+adt*dy_a(2,n)
920 dy_v(3,n)=v(3,n)+adt*dy_a(3,n)
922 dy_d(1,n)=dt2*v(1,n)+bdt*dy_a(1,n)
923 dy_d(2,n)=dt2*v(2,n)+bdt*dy_a(2,n)
924 dy_d(3,n)=dt2*v(3,n)+bdt*dy_a(3,n)
928 dy_vr(1,n)=vr(1,n)+adt*dy_ar(1,n)
929 dy_vr(2,n)=vr(2,n)+adt*dy_ar(2,n)
930 dy_vr(3,n)=vr(3,n)+adt*dy_ar(3,n)
932 dy_dr(1,n)=dt2*vr(1,n)+bdt*dy_ar(1,n)
933 dy_dr(2,n)=dt2*vr(2,n)+bdt*dy_ar(2,n)
934 dy_dr(3,n)=dt2*vr(3,n)+bdt*dy_ar(3,n)
941 bdti = one/dt2/dt2/dy_b
944 dy_a(1,n) = -bdti*dy_d(1,n)
945 dy_a(2,n) = -bdti*dy_d(2,n)
946 dy_a(3,n) = -bdti*dy_d(3,n)
950 dy_ar(1,n) = -bdti*dy_dr(1,n)
951 dy_ar(2,n) = -bdti*dy_dr(2,n)
952 dy_ar(3,n) = -bdti*dy_dr(3,n)
958 dy_a(1,n) = -bdti*v(1,n)
959 dy_a(2,n) = -bdti*v(2,n)
960 dy_a(3,n) = -bdti*v(3,n)
964 dy_ar(1,n) = -bdti*vr(1,n)
965 dy_ar(2,n) = -bdti*vr(2,n)
966 dy_ar(3,n) = -bdti*vr
991 2 V ,X ,SKEWS ,AR ,VR ,
992 3 SENSOR_TAB,WEIGHT,WFEXT ,IADS_F ,
993 4 FSKY ,IGRV ,AGRV ,MS ,IN ,
994 5 LGRAV ,ITASK ,NRBYAC,IRBYAC ,NPBY ,
995 6 RBY ,IBFV ,VEL ,D ,DR ,
996 7 IKC ,IDDL ,IFRAME,XFRAME ,NDOF ,
997 8 H3D_DATA,CPTREAC,FTHREAC,NODREAC,NSENSOR,
999 A VEL0CLD, NUMNOD,NSURF,NFUNCT,NCONLD,
1000 B NGRAV,NFXVEL,STF,NUMSKW,python)
1009 use python_funct_mod,
only: python_
1013#include "implicit_f.inc"
1017#include "com01_c.inc"
1018#include "com08_c.inc"
1019#include "param_c.inc"
1020#include "timeri_c.inc"
1021#include "impl1_c.inc"
1025 type(python_),
intent(inout) :: python
1026 INTEGER ,
INTENT(IN) :: NSENSOR,NUMNOD,NSURF,NFUNCT,NCONLD,NGRAV,NFXVEL
1027 INTEGER ,
INTENT(IN) :: STF
1028 INTEGER ,
INTENT(IN) :: SNPC
1029 INTEGER ,
INTENT(IN) :: NUMSKW
1030 INTEGER ITASK,NPC(SNPC), IBCL(*), NPBY(NNPBY,*), IADS_F(*),
1032 . iframe(liskn,*),ibfv(*),ikc(*) ,iddl(*),ndof(*),
1033 . cptreac,nodreac(*)
1034 INTEGER NRBYAC,IRBYAC(*)
1035 my_real X(3,*) ,V(3,*) ,VR(3,*),MS(*) ,AGRV(*),
1036 . TF(*) ,FORC(*) ,RBY(NRBY,*),IN(*),
1037 . A(3,*) ,AR(3,*),FSKY(*),
1038 . VEL(LFXVELR,*), D(3,*), DR(3,*),XFRAME(NXFRAME,*),
1040 TYPE(H3D_DATABASE) :: H3D_DATA
1041 TYPE (SENSOR_STR_) ,
DIMENSION(NSENSOR) :: SENSOR_TAB
1042 TYPE () ,
INTENT(INOUT) :: TH_SURF
1043 TYPE(SKEW_),
INTENT(INOUT) :: SKEWS
1044 my_real,
INTENT(IN) :: DPL0CLD(6,NCONLD),VEL0CLD(6,NCONLD)
1045 DOUBLE PRECISION,
INTENt(INOUT) :: WFEXT
1049 INTEGER N,IBID,IW ,I,J,ND,J1
1050 my_real wfexc,dummy_fext(3,1)
1056 CALL force_imp( ibcl ,forc ,snpc ,npc ,tf ,
1058 3 ar ,vr ,nsensor ,sensor_tab ,wfexc ,
1059 4 iads_f ,fsky ,dummy_fext ,h3d_data ,cptreac ,
1060 5 fthreac ,nodreac ,th_surf ,
1061 6 dpl0cld ,vel0cld ,d ,dr ,nconld ,
1062 7 numnod ,nfunct ,stf ,wfext)
1064 wfext = wfext + wfexc*dt2
1068 2 v ,x ,skews%SKEW ,ms,wfexc,
1069 3 nsensor,sensor_tab,weight,lgrav,itask,
1070 5 nrbyac,irbyac,npby ,rby , python)
1071 wfext = wfext + wfexc*dt2
1074 CALL wfv_imp(ibfv ,npc ,tf ,vel ,sensor_tab,
1075 1 d ,dr ,ikc ,iddl ,nsensor ,
1076 2 skews%SKEW ,iframe ,xframe ,dy_a ,dy_ar ,
1077 3 x ,ndof ,ms ,in ,weight,
1079 wfext = wfext + wfexc
1088 . wfexc = wfexc +d(j,i)*(dy_dam(j,i)+dy_dam0(j,i))*half
1092 dy_dam0(1,i) = dy_dam(1,i)
1093 dy_dam0(2,i) = dy_dam(2,i)
1094 dy_dam0(3,i) = dy_dam(3,i)
1102 . wfexc = wfexc +dr(j,i)*(dy_damr(j,i)+dy_damr0(j,i))*half
1106 dy_damr0(1,i) = dy_damr(1,i)
1107 dy_damr0(2,i) = dy_damr(2,i)
1108 dy_damr0(3,i) = dy_damr(3,i)
1111 dy_edamp = dy_edamp + wfexc
1121!||--- called by -------------
1125 . IKC ,DIAG_K ,MS ,IN ,WEIGHT)
1129#include "implicit_f.inc"
1133#include "com01_c.inc"
1134#include "com08_c.inc"
1135#include "impl2_c.inc"
1139 INTEGER NODFT,NODLT,IDDL(*) ,NDOF(*),WEIGHT(*),INLOC(*),IKC(
1144 INTEGER I,J,ND,,NKC,ID
1146 . BDT, MKF,MKM,S,S0,D_AL,DY_G,DY_B,FAC,MM
1148 IF (SCAL_DTQ==one)
RETURN
1151 dy_b = fourth*(one-d_al)*(one-d_al)
1152 s = (one+d_al)*dy_b*dt2*dt2
1153 fac = one/scal_dtq/scal_dtq
1154 bdt = -one/s + fac/s
1159 mkf = abs(ms(i))*bdt*weight(i)
1160 mkm = abs(in(i))*bdt*weight(i)
1170 diag_k(id)=diag_k(id)+mm
1179 mkf = abs(ms(i))*bdt
1180 mkm = abs(in(i))*bdt
1190 diag_k(id)=diag_k(id)+mm
1210 . WEIGHT,ICODR ,ISKEW ,SKEW )
1218#include "implicit_f.inc"
1222#include "com01_c.inc"
1223#include "com08_c.inc"
1224#include
"param_c.inc"
1228 INTEGER NBY(*), WEIGHT(*),ICODR(*),ISKEW(*)
1230 . AM(3,*),IN(*),VR(3,*),RBY0(*),SKEW(LSKEW,*)
1234 INTEGER M, NSN, I, N, J, K, LCOD, ISK
1235 my_real WA1, WA2, WA3, DD, VI(3),II1,,II3,II4,II5,II6,II7,II8,II9,
1236 . vid(3),rbyd(9),vj(3),rbz(9),
1237 . det, il1,il2,il3,il4,il5,il6,il7,il8,il9,
1245 am(1,m) = am(1,m) * weight(m)
1246 am(2,m) = am(2,m) * weight(m)
1247 am(3,m) = am(3,m) * weight(m)
1250 am(1,m) = am(1,m) + abs(in(m))*dy_ar(1,m)
1251 am(2,m) = am(2,m) + abs(in(m))*dy_ar(2,m)
1252 am(3,m) = am(3,m) + abs(in(m))*dy_ar(3,m)
1257 rby(10) =
max(rby(10),in(m))
1258 rby(11) =
max(rby(11),in(m))
1259 rby(12) =
max(rby(12),in(m))
1265 vi(1)=rby(1)*vr(1,m)+rby(2)*vr
1266 vi(2)=rby(4)*vr(1,m)+rby(5)*vr(2,m)+rby(6)*vr(3,m)
1267 vi(3)=rby(7)*vr(1,m)+rby(8)*vr(2,m)+rby(9)*vr(3,m)
1281 rby(17)=rby(1)*ii1 + rby(4)*ii4 + rby(7)*ii7
1282 rby(18)=rby(1)*ii2 + rby(4)*ii5 + rby(7)*ii8
1283 rby(19)=rby(1)*ii3 + rby(4)*ii6 + rby(7)*ii9
1284 rby(20)=rby(2)*ii1 + rby(5)*ii4 + rby(8)*ii7
1285 rby(21)=rby(2)*ii2 + rby(5)*ii5 + rby(8)*ii8
1286 rby(22)=rby(2)*ii3 + rby(5)*ii6 + rby(8)*ii9
1287 rby(23)=rby(3)*ii1 + rby(6)*ii4 + rby(9)*ii7
1288 rby(24)=rby(3)*ii2 + rby(6)*ii5 + rby(9)*ii8
1289 rby(25)=rby(3)*ii3 + rby(6)*ii6 + rby(9)*ii9
1291 wa1=rby(17)*vr(1,m)+rby(18)*vr(2,m)+rby(19)*vr(3,m)
1292 wa2=rby(20)*vr(1,m)+rby(21)*vr(2,m)+rby(22)*vr(3,m)
1293 wa3=rby(23)*vr(1,m)+rby(24)*vr(2,m)+rby(25)*vr(3,m)
1295 am(1,m)=am(1,m)-(wa2*vr(3,m)-wa3*vr(2,m))*weight(m)
1296 am(2,m)=am(2,m)-(wa3*vr(1,m)-wa1*vr(3,m))*weight(m)
1297 am(3,m)=am(3,m)-(wa1*vr(2,m)-wa2*vr(1,m))*weight(m)
1313 det=one/(rby(17)*rby(21)-rby(18)*rby(20))
1316 am(1,m)=( rby(21)*wa1-rby(20)*wa2)*det
1317 am(2,m)=(-rby(18)*wa1+rby(17)*wa2)*det
1320 det=one/(rby(17)*rby(25)-rby(19)*rby(23))
1323 am(1,m)=( rby(25)*wa1-rby(23)*wa2)*det
1325 am(3,m)=(-rby(19)*wa1+rby(17)*wa2)*det
1327 am(1,m)=-dy_ar(1,m)/rby(17)
1331 det=one/(rby(21)*rby(25)-rby(22)*rby(24))
1335 am(2,m)=( rby(25)*wa1-rby(24)*wa2)*det
1336 am(3,m)=(-rby(22)*wa1+rby(21)*wa2)*det
1339 am(2,m)=-dy_ar(2,m)/rby(21)
1344 am(3,m)=-dy_ar(3,m)/rby(25)
1362 am(1,m)=skew(1,isk)*wa1+skew(2,isk)*wa2+skew(3,isk)*wa3
1363 am(2,m)=skew(4,isk)*wa1+skew(5,isk)*wa2+skew(6,isk)*wa3
1364 am(3,m)=skew(7,isk)*wa1+skew(8,isk)*wa2+skew(9,isk)*wa3
1384 ii1=rby(17)*skew(1,isk)+rby(18)*skew(2,isk)+rby(19)*skew(3,isk)
1385 ii2=rby(17)*skew(4,isk)+rby(18)*skew(5,isk)+rby(19)*skew(6,isk)
1386 ii4=rby(20)*skew(1,isk)+rby(21)*skew
1387 ii5=rby(20)*skew(4,isk)+rby(21)*skew(5,isk)+rby(22)*skew(6,isk)
1388 ii7=rby(23)*skew(1,isk)+rby(24)*skew(2,isk)+rby(25)*skew(3,isk)
1389 ii8=rby(23)*skew(4,isk)+rby(24)*skew(5,isk)+rby(25)*skew(6,isk)
1390 il1=skew(1,isk)*ii1+skew(2,isk)*ii4+skew(3,isk)*ii7
1391 il2=skew(1,isk)*ii2+skew(2,isk)*ii5+skew(3,isk)*ii8
1392 il4=skew(4,isk)*ii1+skew(5,isk)*ii4+skew(6,isk)*ii7
1393 il5=skew(4,isk)*ii2+skew(5,isk)*ii5+skew(6,isk)*ii8
1395 det=one/(il1*il5-il2*il4)
1398 am(1,m)=( il5*wa1-il4*wa2)*det
1399 am(2,m)=(-il2*wa1+il1*wa2)*det
1402 ii1=rby(17)*skew(1,isk)+rby(18)*skew(2,isk)+rby(19)*skew(3,isk)
1403 ii3=rby(17)*skew(7,isk)+rby(18)*skew(8,isk)+rby(19)*skew(9,isk)
1404 ii4=rby(20)*skew(1,isk)+rby(21)*skew(2,isk)+rby(22)*skew(3,isk)
1405 ii6=rby(20)*skew(7,isk)+rby(21)*skew(8,isk)+rby(22)*skew(9,isk)
1406 ii7=rby(23)*skew(1,isk)+rby(24)*skew(2,isk)+rby
1407 ii9=rby(23)*skew(7,isk)+rby(24)*skew(8,isk)+rby(25)*skew(9,isk)
1408 il1=skew(1,isk)*ii1+skew(2,isk)*ii4
1409 il3=skew(1,isk)*ii3+skew(2,isk)*ii6+skew(3,isk)*ii9
1410 il7=skew(7,isk)*ii1+skew(8,isk)*ii4+skew(9,isk)*ii7
1411 il9=skew(7,isk)*ii3+skew(8,isk)*ii6+skew(9,isk)*ii9
1413 det=one/(il1*il9-il3*il7)
1416 am(1,m)=( il9*wa1-il7*wa2)*det
1418 am(3,m)=(-il3*wa1+il1*wa2)*det
1420 ii1=rby(17)*skew(1,isk)+rby(18)*skew(2,isk)+rby(19)*skew(3,isk)
1421 ii4=rby(20)*skew(1,isk)+rby(21)*skew(2,isk)+rby(22)*skew(3,isk)
1422 ii7=rby(23)*skew(1,isk)+rby(24)*skew(2,isk)+rby(25)*skew(3,isk)
1423 il1=skew(1,isk)*ii1+skew(2,isk)*ii4+skew(3,isk)*ii7
1425 am(1,m)=-dy_ar(1,m)/il1
1429 ii2=rby(17)*skew(4,isk)+rby(18)*skew(5,isk)+rby(19)*skew(6,isk)
1430 ii3=rby(17)*skew(7,isk)+rby(18)*skew(8,isk)+rby(19)*skew(9,isk)
1431 ii5=rby(20)*skew(4,isk)+rby(21)*skew(5,isk)+rby(22)*skew(6,isk)
1432 ii6=rby(20)*skew(7,isk)+rby(21)*skew(8,isk)+rby(22)*skew(9,isk)
1433 ii8=rby(23)*skew(4,isk)+rby(24)*skew(5,isk)+rby(25)*skew(6,isk)
1434 ii9=rby(23)*skew(7,isk)+rby(24)*skew(8,isk)+rby(25)*skew(9,isk)
1435 il5=skew(4,isk)*ii2+skew(5,isk)*ii5+skew(6,isk)*ii8
1436 il6=skew(4,isk)*ii3+skew(5,isk)*ii6+skew(6,isk)*ii9
1437 il8=skew(7,isk)*ii2+skew(8,isk)*ii5+skew(9,isk)*ii8
1438 il9=skew(7,isk)*ii3+skew(8,isk)*ii6+skew(9,isk)*ii9
1440 det=one/(il5*il9-il6*il8)
1444 am(2,m)=( il9*wa1-il8*wa2)*det
1445 am(3,m)=(-il6*wa1+il5*wa2)*det
1447 ii2=rby(17)*skew(4,isk)+rby(18)*skew(5,isk)+rby(19)*skew(6,isk)
1448 ii5=rby(20)*skew(4,isk)+rby(21)*skew(5,isk)+rby(22)*skew(6,isk)
1449 ii8=rby(23)*skew(4,isk)+rby(24)*skew(5,isk)+rby(25)*skew(6,isk)
1450 il5=skew(4,isk)*ii2+skew(5,isk)*ii5+skew(6,isk)*ii8
1453 am(2,m)=-dy_ar(2,m)/il5
1456 ii3=rby(17)*skew(7,isk)+rby(18)*skew(8,isk)+rby(19)*skew(9,isk)
1457 ii6=rby(20)*skew(7,isk)+rby(21)*skew(8,isk)+rby(22)*skew(9,isk)
1458 ii9=rby(23)*skew(7,isk)+rby(24)*skew(8,isk)+rby(25)*skew(9,isk)
1459 il9=skew(7,isk)*ii3+skew(8,isk)*ii6+skew(9,isk)*ii9
1463 am(3,m)=-dy_ar(3,m)/il9
1473 am(1,m)=skew(1,isk)*wa1+skew(4,isk)*wa2+skew(7,isk)*wa3
1474 am(2,m)=skew(2,isk)*wa1+skew(5,isk)*wa2+skew(8,isk)*wa3
1475 am(3,m)=skew(3,isk)*wa1+skew(6,isk)*wa2+skew(9,isk)*wa3
1484 am(1,m)=rby(1)*wa1+rby(2)*wa2+rby(3)*wa3
1485 am(2,m)=rby(4)*wa1+rby(5)*wa2+rby(6)*wa3
1486 am(3,m)=rby(7)*wa1+rby(8)*wa2+rby(9)*wa3
1488 vi(1)=rby(1)*vr(1,m)+rby(2)*vr(2,m)+rby(3)*vr(3,m)
1489 vi(2)=rby(4)*vr(1,m)+rby(5)*vr(2,m)+rby(6)*vr(3,m)
1490 vi(3)=rby(7)*vr(1,m)+rby(8)*vr(2,m)+rby(9)*vr(3,m)
1496 am(1,m) = am(1,m) - (rby(11)-rby(12))*vi(2)*vi(3)*weight(m)
1497 am(2,m) = am(2,m) - (rby(12)-rby(10))*vi(3)*vi(1)*weight(m)
1498 am(3,m) = am(3,m) - (rby(10)-rby(11))*vi(1)*vi(2)*weight(m)
1503 wa1 = am(1,m)*rby(10)
1504 wa2 = am(2,m)*rby(11)
1505 wa3 = am(3,m)*rby(12)
1507 am(1,m)=rby(1)*wa1+rby(4)*wa2+rby(7)*wa3
1508 am(2,m)=rby(2)*wa1+rby(5)*wa2+rby(8)*wa3
1509 am(3,m)=rby(3)*wa1+rby(6)*wa2+rby(9)*wa3
1527#include "implicit_f.inc"
1531#include
"com01_c.inc"
1532#include "com08_c.inc"
1533#include "impl1_c.inc"
1538 INTEGER NODFT,NODLT,IDIV
1540 . d(3,*),dr(3,*),ms(*) ,in(*)
1549 IF (idy_damp==0)
THEN
1565 d(1,i)=dy_d(1,i)*em3
1566 d(2,i)=dy_d(2,i)*em3
1567 d(3,i)=dy_d(3,i)*em3
1571 dr(1,i)=dy_dr(1,i)*em3
1572 dr(2,i)=dy_dr(2,i)*em3
1573 dr(3,i)=dy_dr(3,i)*em3
1576 adt = (one-dy_g)*dt2
1577 bdt = (half-dy_b)*dt2*dt2
1581 dy_v(1,i)=dy_v(1,i)-tmp*dy_dam(1,i)
1582 dy_v(2,i)=dy_v(2,i)-tmp*dy_dam(2,i)
1583 dy_v(3,i)=dy_v(3,i)-tmp*dy_dam(3,i)
1586 dy_d(1,i)=dy_d(1,i)-tmp1*dy_dam(1,i)
1587 dy_d(2,i)=dy_d(2,i)-tmp1*dy_dam(2,i)
1588 dy_d(3,i)=dy_d(3,i)-tmp1*dy_dam(3,i)
1595 dy_vr(1,i)=dy_vr(1,i)-tmp*dy_damr(1,i)
1596 dy_vr(2,i)=dy_vr(2,i)-tmp*dy_damr(2,i)
1597 dy_vr(3,i)=dy_vr(3,i)-tmp*dy_damr(3,i)
1600 dy_dr(1,i)=dy_dr(1,i)-tmp1*dy_damr(1,i)
1601 dy_dr(2,i)=dy_dr(2,i)-tmp1*dy_damr(2,i)
1602 dy_dr(3,i)=dy_dr(3,i)-tmp1*dy_damr(3,i)
1619 . EN_I ,EFAC ,ITASK)
1627#include "implicit_f.inc"
1628#include "comlock.inc"
1632#include "com01_c.inc"
1633#include "impl2_c.inc"
1638 INTEGER NODFT,NODLT,WEIGHT(*),ITASK
1640 . MS(*) ,IN(*),EFAC,EN_I
1646 . dt05,vx,vy,vz,mas,en_k
1648 IF (itask==0) r_n2 = zero
1656 vx = dy_v(1,i) - dt05*dy_a(1,i)
1657 vy = dy_v(2,i) - dt05*dy_a(2,i)
1658 vz = dy_v(3,i) - dt05*dy_a(3,i)
1659 en_k= en_k+ ( vx*vx + vy*vy + vz*vz)*half*mas
1664 vx = dy_vr(1,i) - dt05*dy_ar(1,i)
1665 vy = dy_vr(2,i) - dt05*dy_ar(2,i)
1666 vz = dy_vr(3,i) - dt05*dy_ar(3,i)
1667 en_k=en_k + (vx*vx + vy*vy + vz*vz)*half*mas
1671#include "lockon.inc"
1673#include "lockoff.inc"
1681 efac = r_n2/
max(em20,en_i)
1682 efac =
min(one,efac)
1705#include "implicit_f.inc"
1709#include "impl1_c.inc"
1710#include "com01_c.inc"
1715 INTEGER NDDL ,NNZK ,IADK(*) ,JDIK(*)
1723 IF (ISMDISP>0.AND.(NCYCLE>1.OR.INCONV/=1)) return
1727 CALL cp_real(nddl,diag_k,dy_diak0)
1728 CALL cp_real(nnzk,lt_k,dy_ltk0)
1752 . DIAG_K ,IADK ,JDIK ,LT_K ,WEIGHT ,
1753 1 RBY ,X ,SKEW ,LPBY ,NPBY ,
1754 2 NRBYAC ,IRBYAC ,NINT2 ,IINT2 ,IPARI ,
1755 3 INTBUF_TAB ,IRBE3 ,LRBE3 ,FRBE3 ,
1756 4 IRBE2 ,LRBE2 ,V ,VR ,NDDL ,
1757 5 FR_ELEM,IAD_ELEM,MS ,IN )
1766#include "implicit_f.inc"
1770#include "com01_c.inc"
1771#include "com04_c.inc"
1772#include "param_c.inc"
1773#include "impl2_c.inc"
1777 INTEGER NODFT,NODLT,IDDL(
1779INTEGER NINT2 ,IINT2(*),LPBY(*),NPBY(NNPBY,*),
1780 . IPARI(NPARI,*), NRBYAC,IRBYAC(*)
1781 INTEGER WEIGHT(*),IRBE3(*),LRBE3(*),IRBE2(*),LRBE2(*)
1784 . DIAG_K(*),V(3,*),VR(3,*),LT_K(*),FRBE3(*),
1785 . RBY(NRBY,*) ,X(3,*) ,SKEW(*),MS(*),IN(*)
1786 TYPE(intbuf_struct_) INTBUF_TAB(*)
1790 INTEGER I,J,ND,NNZ,NKC,N,ID,JR,JI,JB,K1
1792 . U(NDDL),W(NDDL),ADT1,MKF,MKM,TMP
1794 CALL IMP_SETB(V ,VR ,IDDL ,NDOF ,U )
1807 mkf = abs(ms(i))*weight(i)
1810 tmp=dampa_imp*mkf*v(j,i)+dampb_imp*w(id)
1818 mkf = abs(ms(i))*weight(i)
1819 mkm = abs(in(i))*weight(i)
1824 tmp=dampa_imp*mkm*vr(jr,i)+dampb_imp*w(id)
1828 tmp=dampa_imp*mkf*v(j,i)+dampb_imp*w(id)
1838 CALL i2_impr1(ipari(1,n),intbuf_tab(n) ,
1839 . x ,ndof ,iddl ,w )
1843 1 irbe2 ,lrbe2 ,x ,skew ,ndof ,
1848 1 irbe3 ,lrbe3 ,frbe3 ,x ,skew ,
1849 2 ndof ,iddl ,w ,weight)
1853 k1=irbyac(i+nrbykin)+1
1854 CALL rby_impr1(x, rby(1,n),lpby(k1),npby(1,n),
1860 CALL i2_impr2(ipari(1,n),intbuf_tab(n) ,dy_dam ,dy_damr,
1861 . x ,ndof ,iddl ,w )
1865 1 irbe3 ,lrbe3 ,frbe3 ,x ,skew ,
1866 2 ndof ,iddl ,w ,weight,dy_dam ,
1871 k1=irbyac(i+nrbykin)+1
1872 CALL rby_impr2(x, rby(1,n),lpby(k1),npby(1,n),
1873 1 ndof ,iddl ,w ,dy_dam ,dy_damr)
1890 nd = iad_elem(1,nspmd+1)-iad_elem(1,1)
1896 CALL spmd_sumf_a(dy_dam,dy_damr,iad_elem,fr_elem,jr,nd)
1916#include "implicit_f.inc"
1957 . DIAG_K ,IADK ,JDIK ,LT_K ,WEIGHT ,
1958 1 RBY ,X ,SKEW ,LPBY ,NPBY ,
1959 2 NRBYAC ,IRBYAC ,NINT2 ,IINT2 ,IPARI ,
1960 3 INTBUF_TAB ,IRBE3 ,LRBE3 ,FRBE3 ,
1961 4 IRBE2 ,LRBE2 ,V ,VR ,NDDL ,
1962 5 FR_ELEM,IAD_ELEM,MS ,IN )
1971#include "implicit_f.inc"
1975#include "com01_c.inc"
1976#include "com04_c.inc"
1977#include "param_c.inc"
1981 INTEGER NODFT,NODLT,IDDL(*) ,(*),IADK(*),
1982 . IKC(*),JDIK(*),NDDL ,FR_ELEM(*),IAD_ELEM(2,*)
1983 INTEGER NINT2 ,IINT2(*),LPBY(*),NPBY(NNPBY,*),
1984 . IPARI(NPARI,*), NRBYAC,IRBYAC(*)
1985 INTEGER WEIGHT(*),IRBE3(*),LRBE3(*),(*),LRBE2(*)
1988 . DIAG_K(*),V(3,*),VR(3,*),LT_K(*),FRBE3(*),
1989 . RBY(NRBY,*) ,X(3,*) ,SKEW(*),MS(*),IN(*)
1991 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
1995 INTEGER I,J,ND,NNZ,NKC,N,ID,JR,JI,JB,K1
1997 . u(nddl),w(nddl),adt1,mkf,mkm,tmp
1999 CALL imp_setb(dy_d ,dy_dr ,iddl ,ndof ,u )
2003 nnz=iadk(nddl+1)-iadk(1)
2005 1 nddl ,nnz ,iadk,jdik ,diag_k,
2012 CALL i2_impr1(ipari(1,n),intbuf_tab(n) ,
2013 . x ,ndof ,iddl ,w )
2017 1 irbe2 ,lrbe2 ,x ,skew ,ndof ,
2022 1 irbe3 ,lrbe3 ,frbe3 ,x ,skew ,
2023 2 ndof ,iddl ,w ,weight)
2027 k1=irbyac(i+nrbykin)+1
2028 CALL rby_impr1(x, rby(1,n),lpby(k1),npby(1,n),
2034 CALL i2_impr2(ipari(1,n),intbuf_tab(n) ,dy_a ,dy_ar,
2035 . x ,ndof ,iddl ,w )
2039 1 irbe3 ,lrbe3 ,frbe3 ,x ,skew ,
2040 2 ndof ,iddl ,w ,weight,dy_a ,
2045 k1=irbyac(i+nrbykin)+1
2046 CALL rby_impr2(x, rby(1,n),lpby(k1),npby(1,n),
2047 1 ndof ,iddl ,w ,dy_a ,dy_ar)
2057 dy_a(j,i)=-tmp*w(id)
2066 DO j =1,
min(3,ndof(i))
2068 dy_a(j,i)=-tmp*w(id)
2076 dy_ar(j-3,i)=-tmp*w(id)
2083 nd = iad_elem(1,nspmd
2089 CALL spmd_sumf_a(dy_a,dy_ar,iad_elem,fr_elem,jr,nd)
2111#include "implicit_f.inc"
2115#include "impl2_c.inc"
2119 INTEGER NDDL0 ,NDDL,IKC(*)
2130 IF (hht_a==zero)
RETURN
2137 lb(i) = lb(i)+ db(i)
subroutine force_imp(ib, fac, snpc, npc, tf, a, v, x, skews, ar, vr, nsensor, sensor_tab, wfexc, iadc, fsky, fext, h3d_data, cptreac, fthreac, nodreac, th_surf, dpl0cld, vel0cld, d, dr, nconld, numnod, nfunct, stf, wfext)
subroutine wfv_imp(ibfv, npc, tf, vel, sensor_tab, ud, rd, ifix, iddl, nsensor, skew, iframe, xframe, a, ar, x, ndof, ms, in, weight, rby, dw)
subroutine gravit_imp(igrv, agrv, npc, tf, a, v, x, skew, ms, wfextt, nsensor, sensor_tab, weight, ib, itask, nrbyac, irbyac, npby, rby, python)
subroutine i2_impr1(ipari, intbuf_tab, x, ndof, iddl, b)
subroutine i2_impr2(ipari, intbuf_tab, a, ar, x, ndof, iddl, b)
subroutine dyna_ina(ibcl, forc, snpc, npc, tf, a, v, x, skews, ar, vr, sensor_tab, weight, wfexc, iads_f, fsky, igrv, agrv, ms, in, lgrav, itask, nrbyac, irbyac, npby, rby, fr_elem, iad_elem, nddl, nnzk, idiv, h3d_data, cptreac, fthreac, nodreac, nsensor, th_surf, dpl0cld, vel0cld, d, dr, numnod, nsurf, nfunct, nconld, ngrav, ninvel, stf, numskw, wfext, python)
subroutine imp_fhht1(nddl0, nddl, lb, ikc)
subroutine dyna_cpk0(nddl, nnzk, iadk, jdik, diag_k, lt_k)
subroutine qstat_ini(nddl, inloc, iddl, ndof, ikc, ms, in)
subroutine imp_qifam(nodft, nodlt, iddl, ndof, inloc, ikc, diag_k, ms, in, weight)
subroutine dyna_ini(nodft, nodlt, d_al, nm_a, nm_b, v, vr)
subroutine dyna_ivfac(nodft, nodlt, ms, in, weight, en_i, efac, itask)
subroutine qstat_end(nddl, u)
subroutine imp_dykv(nodft, nodlt, iddl, ndof, ikc, diag_k, iadk, jdik, lt_k, weight, rby, x, skew, lpby, npby, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, irbe3, lrbe3, frbe3, irbe2, lrbe2, v, vr, nddl, fr_elem, iad_elem, ms, in)
subroutine dyna_in0(nodft, nodlt)
subroutine inte_dyna(nodft, nodlt, d, dr, v, vr)
subroutine dyna_wex(ibcl, forc, snpc, npc, tf, a, v, x, skews, ar, vr, sensor_tab, weight, wfext, iads_f, fsky, igrv, agrv, ms, in, lgrav, itask, nrbyac, irbyac, npby, rby, ibfv, vel, d, dr, ikc, iddl, iframe, xframe, ndof, h3d_data, cptreac, fthreac, nodreac, nsensor, th_surf, dpl0cld, vel0cld, numnod, nsurf, nfunct, nconld, ngrav, nfxvel, stf, numskw, python)
subroutine imp_dykv0(nodft, nodlt, iddl, ndof, ikc, diag_k, iadk, jdik, lt_k, weight, rby, x, skew, lpby, npby, nrbyac, irbyac, nint2, iint2, ipari, intbuf_tab, irbe3, lrbe3, frbe3, irbe2, lrbe2, v, vr, nddl, fr_elem, iad_elem, ms, in)
subroutine dyna_iniv(nodft, nodlt, ms, in, d, dr)
subroutine getdyna_a(nodft, nodlt, a)
subroutine imp_dynam(nodft, nodlt, iddl, ndof, diag_k, ms, in, d_al, weight, iadk, lt_k)
subroutine qstat_it(nddl, f, u)
subroutine dyna_cpr0(nddl)
subroutine imp_fhht(nddl, lb)
subroutine imp_dycrb(am, in, vr, nby, rby0, weight, icodr, iskew, skew)
subroutine imp_dynar(dy_ac, dy_acr, ms, in, fint, mint, v, vr)
subroutine imp_setb(f, m, iddl, ndof, b)
subroutine imp_solv(timers, python, icode, iskew, iskwn, ipart, ixtg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg1, itab, itabm1, npc, ibcl, ibfv, sensor_tab, nnlink, lnlink, iparg, igrv, ipari, intbuf_tab, nprw, iconx, npby, lpby, lrivet, nstrf, ljoint, icodt, icodr, isky, adsky, iads_f, ilink, llink, weight, itask, ibvel, lbvel, fbvel, x, d, v, vr, dr, thke, damp, ms, in, pm, skews, geo, eani, bufmat, bufgeo, bufsf, tf, forc, vel, fsav, agrv, fr_wave, parts0, elbuf, rby, rivet, fr_elem, iad_elem, wa, a, ar, stifn, stifr, partsav, fsky, fskyi, iframe, xframe, w16, iactiv, fskym, igeo, ipm, wfext, nodft, nodlt, nint7, num_imp, ns_imp, ne_imp, ind_imp, it, rwbuf, lprw, fr_wall, nbintc, intlist, fopt, rwsav, fsavd, graphe, fac_k, ipiv_k, nkcond, nsensor, monvol, igrsurf, fr_mv, volmon, dirul, nodglob, mumps_par, cddlp, isendto, irecvfrom, newfront, imsch, i2msch, isizxv, ilenxv, islen7, irlen7, islen11, irlen11, islen17, irlen17, irlen7t, islen7t, kinet, num_imp1, temp, dt2prev, waint, lgrav, sh4tree, sh3tree, irlen20, islen20, irlen20t, islen20t, irlen20e, islen20e, irbe3, lrbe3, frbe3, fr_i2m, iad_i2m, fr_rbe3m, iad_rbe3m, frwl6, irbe2, lrbe2, intbuf_tab_c, ikine, diag_sms, icfield, lcfield, cfield, count_remslv, count_remslve, elbuf_tab, elbuf_imp, xdp, weight_md, stack, dimfb, fbsav6, stabsen, tabsensor, drape_sh4n, drape_sh3n, h3d_data, multi_fvm, igrbric, igrsh4n, igrsh3n, igrbeam, forneqs, maxdgap, nddl0, nnzk0, it_t, impbuf_tab, cptreac, fthreac, nodreac, drapeg, interfaces, th_surf, dpl0cld, vel0cld, snpc, stf, glob_therm, wfext_md)
subroutine spmd_sumf_a(a, ar, iad_elem, fr_elem, size, lr)
integer, dimension(:), allocatable dy_iadk0
integer, dimension(:), allocatable dy_jdik0
OPTION /TH/SURF outputs of Pressure and Area needed Tabs.
integer, parameter th_surf_num_channel
number of /TH/SURF channels : AREA, VELOCITY, MASSFLOW, P A, MASS
subroutine cp_real(n, x, xc)
subroutine mav_lt(nddl, nnz, iadl, jdil, diag_k, lt_k, v, w)
subroutine produt_v(nddl, x, y, r)
subroutine cp_int(n, x, xc)
subroutine rbe2_impr1(irbe2, lrbe2, x, skew, ndof, iddl, b, weight)
subroutine rbe3_impr2(irbe3, lrbe3, frbe3, x, skew, ndof, iddl, b, weight, a, ar)
subroutine rbe3_impr1(irbe3, lrbe3, frbe3, x, skew, ndof, iddl, b, weight)
subroutine rby_impr1(x, rby, nod, nby, ndof, iddl, b)
subroutine rby_impr2(x, rby, nod, nby, ndof, iddl, b, ac, acr)
subroutine rotbmr(vr, rby, dt)
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)
subroutine condens_b(nddl, ikc, b)