5 &(xaux,ad,ax,typdia,typext,npoin,mesh,nseg3d,typemesh)
64 INTEGER,
INTENT(IN) :: NPOIN,NSEG3D,TYPEMESH
66 DOUBLE PRECISION,
INTENT(IN) :: AD(npoin),AX(nseg3d,*)
67 DOUBLE PRECISION,
INTENT(INOUT) :: XAUX(npoin,*)
69 CHARACTER(LEN=1),
INTENT(IN) :: TYPDIA,TYPEXT
71 TYPE(bief_mesh),
INTENT(INOUT) :: MESH
75 INTEGER I2,I3,NPLAN,IAN,ICOM,NPOIN2,SEGUP,SEGDOWN,NSEG2D
90 IF(typdia(1:1).EQ.
'0')
THEN 91 CALL ov(
'X=C ', x=xaux(1,2), c=0.d0, dim1=npoin)
92 ELSEIF(typdia(1:1).EQ.
'I')
THEN 93 CALL ov(
'X=C ', x=xaux(1,2), c=1.d0, dim1=npoin)
94 ELSEIF(typdia(1:1).EQ.
'Q')
THEN 95 CALL ov(
'X=Y ', x=xaux(1,2), y=ad, dim1=npoin)
98 WRITE(
lu,*)
'UNKNOWN TYPE OF DIAGONAL IN PREVERSEG' 112 IF(typemesh.EQ.40.OR.typemesh.EQ.50)
THEN 114 IF(typext.EQ.
'Q')
THEN 119 xaux(i2,3)=ax(segup,1)
123 i3=i2+(nplan-1)*npoin2
124 segdown=nsegh+npoin2*(nplan-2)+i2
125 xaux(i3,1)=ax(segdown,2)
132 i3=i2+(iplan-1)*npoin2
133 segdown=nsegh+npoin2*(iplan-2)+i2
134 segup =segdown+npoin2
135 xaux(i3,1)=ax(segdown,2)
136 xaux(i3,3)=ax(segup,1)
140 ELSEIF(typext.EQ.
'S')
THEN 145 xaux(i2,3)=ax(segup,1)
149 i3=i2+(nplan-1)*npoin2
150 segdown=nsegh+npoin2*(nplan-2)+i2
151 xaux(i3,1)=ax(segdown,1)
158 i3=i2+(iplan-1)*npoin2
159 segdown=nsegh+npoin2*(iplan-2)+i2
160 segup =segdown+npoin2
161 xaux(i3,1)=ax(segdown,1)
162 xaux(i3,3)=ax(segup,1)
166 ELSEIF(typext.EQ.
'0')
THEN 170 WRITE(
lu,*)
'UNKNOWN TYPE OF OFF-DIAGONAL TERMS' 171 WRITE(
lu,*)
'IN PREVERSEG' 178 WRITE(
lu,*)
'UNKNOWN TYPE OF MESH' 179 WRITE(
lu,*)
'IN PREVERSEG: ',typemesh
191 CALL parcom2(xaux(1,1),xaux(1,2),xaux(1,3),
192 & npoin2,nplan,icom,ian,mesh)
subroutine ov(OP, X, Y, Z, C, DIM1)
integer function bief_nbpts(IELM, MESH)
subroutine preverseg(XAUX, AD, AX, TYPDIA, TYPEXT, NPOIN, MESH, NSEG3D, TYPEMESH)
subroutine parcom2(X1, X2, X3, NPOIN, NPLAN, ICOM, IAN, MESH)
integer function bief_nbseg(IELM, MESH)