5 &(npoin,nsegb,glosegb,dab1,dab2,dab3,dab4,xab1,xab2,xab3,xab4,
6 & xx1,xx2,cvb1,cvb2,typext1,typext2,typext3,typext4,
69 & rhs_p4m,xinc_p4m,size_rhs_p4m,
70 & size_da_p4m,size_xa_p4m,
71 & size_xinc_p4m,size_gloseg4_p4m
79 INTEGER,
INTENT(IN) :: NPOIN,NSEGB,NPOIN_TOT
80 INTEGER,
INTENT(IN) :: GLOSEGB(nsegb*2),KNOLG(*)
81 DOUBLE PRECISION,
INTENT(IN) :: DAB1(npoin),DAB2(npoin)
82 DOUBLE PRECISION,
INTENT(IN) :: DAB3(npoin),DAB4(npoin)
83 DOUBLE PRECISION,
INTENT(IN) :: XAB1(2*nsegb),XAB2(2*nsegb)
84 DOUBLE PRECISION,
INTENT(IN) :: XAB3(2*nsegb),XAB4(2*nsegb)
85 DOUBLE PRECISION,
INTENT(INOUT) :: XX1(npoin),XX2(npoin)
86 DOUBLE PRECISION,
INTENT(IN) :: CVB1(npoin),CVB2(npoin)
87 CHARACTER(LEN=1),
INTENT(IN) :: TYPEXT1,TYPEXT2
88 CHARACTER(LEN=1),
INTENT(IN) :: TYPEXT3,TYPEXT4
90 #if defined HAVE_MUMPS 91 INTEGER NPBLK,NSEGBLK,I
98 IF(size_gloseg4_p4m.EQ.0)
THEN 100 size_gloseg4_p4m= 2*nsegblk
101 ELSEIF( 2*nsegblk.GT.size_gloseg4_p4m)
THEN 104 size_gloseg4_p4m= 2*nsegblk
106 IF(size_da_p4m.EQ.0)
THEN 109 ELSEIF( npblk.GT.size_da_p4m)
THEN 114 IF(size_xa_p4m.EQ.0)
THEN 115 ALLOCATE(
xa_p4m(2*nsegblk))
116 size_xa_p4m= 2*nsegblk
117 ELSEIF( 2*nsegblk.GT.size_xa_p4m)
THEN 119 ALLOCATE(
xa_p4m(2*nsegblk))
120 size_xa_p4m= 2*nsegblk
122 IF(size_rhs_p4m.EQ.0)
THEN 123 ALLOCATE(rhs_p4m(npblk))
125 ELSEIF( npblk.GT.size_rhs_p4m)
THEN 127 ALLOCATE(rhs_p4m(npblk))
130 IF(size_xinc_p4m.EQ.0)
THEN 131 ALLOCATE(xinc_p4m(npblk))
133 ELSEIF( npblk.GT.size_xinc_p4m)
THEN 135 ALLOCATE(xinc_p4m(npblk))
146 rhs_p4m(i+npoin)= cvb2(i)
154 CALL sd_fabsg4(npoin,nsegb,dab1,dab2,dab3,dab4,
156 & typext1,typext2,typext3,typext4)
164 &
xa_p4m,xinc_p4m,rhs_p4m,
'Q',knolg,
172 xx2(i)= xinc_p4m(i+npoin)
177 2019
FORMAT(1x,
'MUMPS NOT INSTALLED IN THIS SYSTEM',/,1x,
178 &
'CHOOSE OTHER METHOD ',///)
subroutine sd_strsg4(NPOIN, NSEG, GLOSEGB, NSEGBLK, GLOSEG4)
double precision, dimension(:), allocatable da_p4m
subroutine pre4_mumps(NPOIN, NSEGB, GLOSEGB, DAB1, DAB2, DAB3, DAB4, XAB1, XAB2, XAB3, XAB4, XX1, XX2, CVB1, CVB2, TYPEXT1, TYPEXT2, TYPEXT3, TYPEXT4, KNOLG, NPOIN_TOT)
subroutine sd_fabsg4(NPOIN, NSEG, DAB1, DAB2, DAB3, DAB4, XAB1, XAB2, XAB3, XAB4, NPBLK, NSEGBLK, DA, XA, TYPEXT1, TYPEXT2, TYPEXT3, TYPEXT4)
subroutine solve_mumps_par(NPOIN, NSEGB, GLOSEG, MAXSEG, DA, XA, XINC, RHS, TYPEXT, KNOLG, NPOIN_TOT)
double precision, dimension(:), allocatable xa_p4m
integer, dimension(:), allocatable gloseg4_p4m