Gérard Rio
9692dbd130
- contient les éléments finis, métriques associées, déformations ... intégration du réperoire Géométrie: - contient les géométries 1D 2D et 3D, les frontières des éléments géométriques
1 line
No EOL
22 KiB
C++
1 line
No EOL
22 KiB
C++
************************************************************************
|
|
* UNIVERSITE DE BRETAGNE OCCIDENTALE --- I.U.T. DE LORIENT *
|
|
************************************************************************
|
|
* LABORATOIRE DE GENIE MECANIQUE ET PRODUCTIQUE *
|
|
* Tel 97.05.94.11 *
|
|
* Centre de Genie Industriel 56520 GUIDEL-PLAGES *
|
|
************************************************************************
|
|
|
|
|
|
************************************************************************
|
|
* *
|
|
* DATE: Mon Jul 6 14:54:12 WET DST 1992 *
|
|
* $ *
|
|
* AUTEUR: J-P HILY *
|
|
* $ *
|
|
* PROJET: HEREZH *
|
|
* $ *
|
|
************************************************************************
|
|
|
|
|
|
************************************************************************
|
|
* *
|
|
* VERIFICATION: *
|
|
* *
|
|
* ! date ! auteur ! but ! *
|
|
* ------------------------------------------------------------ *
|
|
* !16/11/95!HANZARD.C !AJOUT de l'element LIQU ! *
|
|
* ! ! ! ! *
|
|
* ! ! ! ! *
|
|
* ! ! ! ! *
|
|
* ! ! ! ! *
|
|
* *
|
|
* $ *
|
|
* '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' *
|
|
* MODIFICATIONS: *
|
|
* *
|
|
* ! date ! auteur ! but ! *
|
|
* ------------------------------------------------------------ *
|
|
* !19/10/95!H.L & C.H !fct 'dinterpolation pentaedre quadra! *
|
|
* *
|
|
* $ *
|
|
* *
|
|
************************************************************************
|
|
|
|
|
|
************************************************************************
|
|
* *
|
|
SUBROUTINE PENTAEDRE (NBNE,NBIS,NBIH,
|
|
& KSI,ETA,DZETA,WIS,WIH,WI,PHI,DPHI)
|
|
* $ *
|
|
implicit none
|
|
* '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' *
|
|
* BUT: Interpolation pour un pentaedre. *
|
|
* $ *
|
|
* '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' *
|
|
* VARIABLES: *
|
|
* *
|
|
* ..................................... en entree *
|
|
* *
|
|
integer NBNE ! nombre de noeuds du pentaedre
|
|
integer NBIS ! nombre de pts d'integration sur la surface
|
|
integer NBIH ! nombre de pts d'integration dans la hauteur
|
|
* *
|
|
* ..................................... en sortie *
|
|
* *
|
|
real*8 KSI(NBIS),ETA(NBIS)
|
|
! coordonnees des points d'integration sur la surface
|
|
|
|
real*8 DZETA(NBIH)
|
|
! coordonnees des points d'integration dans la hauteur
|
|
|
|
real*8 WIS(NBIS) ! poids d'integration sur la surface
|
|
real*8 WIH(NBIH) ! poids d'integration dans la hauteur
|
|
real*8 WI(NBIH,NBIS) ! poids d'integration du volume
|
|
|
|
real*8 PHI(NBNE,NBIH,NBIS),DPHI(3,NBNE,NBIH,NBIS)
|
|
! fonctions d'interpolation nodale et leur derivees
|
|
! PHI(r,ni) valeur de la r ieme fonction au point ni
|
|
! DPHI(i,r,ni) valeur de sa derivee suivant i
|
|
* $ *
|
|
* ...................................... internes *
|
|
* *
|
|
integer NIS, NIH ! numeros de points d'integration
|
|
real*8 A,B,C,LAMBDA
|
|
* *
|
|
************************************************************************
|
|
|
|
|
|
************************************************************************
|
|
* *
|
|
* CORPS DU PROGRAMME: *
|
|
* *
|
|
*----------------------------------------------------------------------*
|
|
|
|
c ------------------------------------------
|
|
c choix des points d'integrations de surface
|
|
c ------------------------------------------
|
|
IF (NBIS.EQ.1) THEN
|
|
KSI(1)= 1.d0/3.d0
|
|
ETA(1)= KSI(1)
|
|
WIS(1)= 0.5d0
|
|
ELSEIF (NBIS.EQ.3) THEN
|
|
KSI(1)= 0.5d0
|
|
ETA(1)= 0.5d0
|
|
WIS(1)= 1.d0/6.d0
|
|
KSI(2)= 0.d0
|
|
ETA(2)= 0.5d0
|
|
WIS(2)= 1.d0/6.d0
|
|
KSI(3)= 0.5d0
|
|
ETA(3)= 0.d0
|
|
WIS(3)= 1.d0/6.d0
|
|
ELSE
|
|
WRITE(*,*) 'PENTAEDRE: NBIS=',NBIS,' ***cas non implante'
|
|
STOP
|
|
END IF
|
|
|
|
c --------------------------------
|
|
c choix des points dans la hauteur
|
|
c --------------------------------
|
|
IF (NBIH.EQ.1) THEN
|
|
DZETA(1)= 0.d0
|
|
WIH(1)= 2.d0
|
|
|
|
ELSEIF (NBIH.EQ.2) THEN
|
|
DZETA(1)= -1.d0/sqrt(3.d0)
|
|
WIH(1)= 1.d0
|
|
DZETA(2)= 1.d0/sqrt(3.d0)
|
|
WIH(2)= 1.d0
|
|
|
|
ELSEIF (NBIH.EQ.3) THEN
|
|
DZETA(2)= 0.d0
|
|
WIH(2)= 8.d0/9.d0
|
|
DZETA(1)= -sqrt(3.d0/5.d0)
|
|
WIH(1)= 5.d0/9.d0
|
|
DZETA(3)= sqrt(3.d0/5.d0)
|
|
WIH(3)= 5.d0/9.d0
|
|
|
|
ELSEIF (NBIH.EQ.5) THEN
|
|
DZETA(3)= 0.d0
|
|
WIH(3)= 128.d0/225.d0
|
|
A= SQRT(5.d0/14.d0)
|
|
DZETA(4)= (1.d0/3.d0)*(5.d0-4*A)**0.5
|
|
DZETA(2)= -DZETA(4)
|
|
DZETA(5)= (1.d0/3.d0)*(5.d0+4*A)**0.5
|
|
DZETA(1)= -DZETA(5)
|
|
WIH(4)= 161.d0/450.d0 + 13.d0/(180.d0*A)
|
|
WIH(2)= WIH(4)
|
|
WIH(5)= 161.d0/450.d0 - 13.d0/(180.d0*A)
|
|
WIH(1)= WIH(5)
|
|
ELSE
|
|
WRITE(*,*) 'PENTAEDRE: NBIH=',NBIH,' ***cas non implante'
|
|
STOP
|
|
END IF
|
|
|
|
c -----------------------------
|
|
c poids d'integration de volume
|
|
c -----------------------------
|
|
DO NIS= 1,NBIS
|
|
DO NIH= 1,NBIH
|
|
WI(NIH,NIS)= WIS(NIS)*WIH(NIH)
|
|
END DO
|
|
END DO
|
|
|
|
c -------------------------------------
|
|
c valeurs des fonctions d'interpolation
|
|
c -------------------------------------
|
|
c --------------------------------------------------------
|
|
c -------------------- cas lineaire ----------------------
|
|
c --------------------------------------------------------
|
|
IF (NBNE.EQ.6) THEN
|
|
DO NIS= 1,NBIS
|
|
LAMBDA= 1.d0 -KSI(NIS) -ETA(NIS)
|
|
DO NIH= 1,NBIH
|
|
A= (1.d0 -DZETA(NIH))/ 2.d0
|
|
B= (1.d0 +DZETA(NIH))/ 2.d0
|
|
c ---------------------
|
|
c valeurs des fonctions
|
|
c ---------------------
|
|
PHI(1,NIH,NIS)= LAMBDA*A
|
|
PHI(2,NIH,NIS)= KSI(NIS)*A
|
|
PHI(3,NIH,NIS)= ETA(NIS)*A
|
|
PHI(4,NIH,NIS)= LAMBDA*B
|
|
PHI(5,NIH,NIS)= KSI(NIS)*B
|
|
PHI(6,NIH,NIS)= ETA(NIS)*B
|
|
c --------------------------------
|
|
c valeurs des derivees suivant KSI
|
|
c --------------------------------
|
|
DPHI(1,1,NIH,NIS)= -A
|
|
DPHI(1,2,NIH,NIS)= A
|
|
DPHI(1,3,NIH,NIS)= 0.d0
|
|
DPHI(1,4,NIH,NIS)= -B
|
|
DPHI(1,5,NIH,NIS)= B
|
|
DPHI(1,6,NIH,NIS)= 0.d0
|
|
c --------------------------------
|
|
c valeurs des derivees suivant ETA
|
|
c --------------------------------
|
|
DPHI(2,1,NIH,NIS)= -A
|
|
DPHI(2,2,NIH,NIS)= 0.d0
|
|
DPHI(2,3,NIH,NIS)= A
|
|
DPHI(2,4,NIH,NIS)= -B
|
|
DPHI(2,5,NIH,NIS)= 0.d0
|
|
DPHI(2,6,NIH,NIS)= B
|
|
c ----------------------------------
|
|
c valeurs des derivees suivant DZETA
|
|
c ----------------------------------
|
|
DPHI(3,1,NIH,NIS)= -LAMBDA/2.d0
|
|
DPHI(3,2,NIH,NIS)= -KSI(NIS)/2.d0
|
|
DPHI(3,3,NIH,NIS)= -ETA(NIS)/2.d0
|
|
DPHI(3,4,NIH,NIS)= LAMBDA/2.d0
|
|
DPHI(3,5,NIH,NIS)= KSI(NIS)/2.d0
|
|
DPHI(3,6,NIH,NIS)= ETA(NIS)/2.d0
|
|
END DO
|
|
END DO
|
|
|
|
|
|
c --------------------------------------------------------
|
|
c -------------------- cas quadratique -------------------
|
|
c ---- (voir p. 178 livre de J.L. BATOZ, G. DHATT) ----
|
|
c ---- Modelisation des structures par elements finis ----
|
|
c -------------------- volume1 ------------------------
|
|
c --------------------------------------------------------
|
|
ELSEIF (NBNE.EQ.15) THEN
|
|
DO NIS= 1,NBIS
|
|
LAMBDA= 1.d0 -KSI(NIS) -ETA(NIS)
|
|
DO NIH= 1,NBIH
|
|
A= (1.d0-DZETA(NIH))/2.d0
|
|
B= (1.d0+DZETA(NIH))/2.d0
|
|
C= 1.d0 - DZETA(NIH)**2
|
|
c ---------------------------------------
|
|
c valeurs des fonctions
|
|
c ---------------------------------------
|
|
PHI(1,NIH,NIS)=A*LAMBDA*(2.d0*LAMBDA-DZETA(NIH)-2.d0)
|
|
PHI(2,NIH,NIS)=A*KSI(NIS)*(2.d0*KSI(NIS)-DZETA(NIH)-2.d0)
|
|
PHI(3,NIH,NIS)=A*ETA(NIS)*(2.d0*ETA(NIS)-DZETA(NIH)-2.d0)
|
|
|
|
PHI(4,NIH,NIS)=B*LAMBDA*(2.d0*LAMBDA+DZETA(NIH)-2.d0)
|
|
PHI(5,NIH,NIS)=B*KSI(NIS)*(2.d0*KSI(NIS)+DZETA(NIH)-2.d0)
|
|
PHI(6,NIH,NIS)=B*ETA(NIS)*(2.d0*ETA(NIS)+DZETA(NIH)-2.d0)
|
|
|
|
PHI(7,NIH,NIS)=4.d0*A*LAMBDA*KSI(NIS)
|
|
PHI(8,NIH,NIS)=4.d0*A*KSI(NIS)*ETA(NIS)
|
|
PHI(9,NIH,NIS)=4.d0*A*ETA(NIS)*LAMBDA
|
|
|
|
PHI(10,NIH,NIS)=LAMBDA*C
|
|
PHI(11,NIH,NIS)=KSI(NIS)*C
|
|
PHI(12,NIH,NIS)=ETA(NIS)*C
|
|
|
|
PHI(13,NIH,NIS)=4.d0*B*LAMBDA*KSI(NIS)
|
|
PHI(14,NIH,NIS)=4.d0*B*KSI(NIS)*ETA(NIS)
|
|
PHI(15,NIH,NIS)=4.d0*B*ETA(NIS)*LAMBDA
|
|
c ------------------------------------------
|
|
c de leurs derivees par rapport a KSI et ETA
|
|
c ------------------------------------------
|
|
DPHI(1,1,NIH,NIS)=A*(-4.d0*LAMBDA+DZETA(NIH)+2.d0)
|
|
DPHI(2,1,NIH,NIS)=A*(-4.d0*LAMBDA+DZETA(NIH)+2.d0)
|
|
DPHI(1,2,NIH,NIS)=A*(4.d0*KSI(NIS)-DZETA(NIH)-2.d0)
|
|
DPHI(2,2,NIH,NIS)=0.d0
|
|
DPHI(1,3,NIH,NIS)=0.d0
|
|
DPHI(2,3,NIH,NIS)=A*(4.d0*ETA(NIS)-DZETA(NIH)-2.d0)
|
|
|
|
DPHI(1,4,NIH,NIS)=B*(-4.d0*LAMBDA-DZETA(NIH)+2.d0)
|
|
DPHI(2,4,NIH,NIS)=B*(-4.d0*LAMBDA-DZETA(NIH)+2.d0)
|
|
DPHI(1,5,NIH,NIS)=B*(4.d0*KSI(NIS)+DZETA(NIH)-2.d0)
|
|
DPHI(2,5,NIH,NIS)=0.d0
|
|
DPHI(1,6,NIH,NIS)=0.d0
|
|
DPHI(2,6,NIH,NIS)=B*(4.d0*ETA(NIS)+DZETA(NIH)-2.d0)
|
|
|
|
DPHI(1,7,NIH,NIS)=4.d0*A*(-KSI(NIS)+LAMBDA)
|
|
DPHI(2,7,NIH,NIS)=-4.d0*A*KSI(NIS)
|
|
DPHI(1,8,NIH,NIS)=4.d0*A*ETA(NIS)
|
|
DPHI(2,8,NIH,NIS)=4.d0*A*KSI(NIS)
|
|
DPHI(1,9,NIH,NIS)=-4.d0*A*ETA(NIS)
|
|
DPHI(2,9,NIH,NIS)=4.d0*A*(LAMBDA-ETA(NIS))
|
|
|
|
DPHI(1,10,NIH,NIS)=-C
|
|
DPHI(2,10,NIH,NIS)=-C
|
|
DPHI(1,11,NIH,NIS)=C
|
|
DPHI(2,11,NIH,NIS)=0.d0
|
|
DPHI(1,12,NIH,NIS)=0.d0
|
|
DPHI(2,12,NIH,NIS)=C
|
|
|
|
DPHI(1,13,NIH,NIS)=4.d0*B*(LAMBDA-KSI(NIS))
|
|
DPHI(2,13,NIH,NIS)=-4.d0*B*KSI(NIS)
|
|
DPHI(1,14,NIH,NIS)=4.d0*B*ETA(NIS)
|
|
DPHI(2,14,NIH,NIS)=4.d0*B*KSI(NIS)
|
|
DPHI(1,15,NIH,NIS)=-4.d0*B*ETA(NIS)
|
|
DPHI(2,15,NIH,NIS)=4.d0*B*(LAMBDA-ETA(NIS))
|
|
c -------------------------------------
|
|
c de leurs derivees par rapport a DZETA
|
|
c -------------------------------------
|
|
DPHI(3,1,NIH,NIS)=-0.5d0*LAMBDA*
|
|
& (2.d0*LAMBDA-DZETA(NIH)-2.d0)-LAMBDA*A
|
|
DPHI(3,2,NIH,NIS)=-0.5d0*KSI(NIS)*
|
|
& (2.d0*KSI(NIS)-DZETA(NIH)-2.d0)-KSI(NIS)*A
|
|
DPHI(3,3,NIH,NIS)=-0.5d0*ETA(NIS)*
|
|
& (2.d0*ETA(NIS)-DZETA(NIH)-2.d0)-ETA(NIS)*A
|
|
|
|
DPHI(3,4,NIH,NIS)=0.5d0*LAMBDA*
|
|
& (2.d0*LAMBDA+DZETA(NIH)-2.d0)+LAMBDA*B
|
|
DPHI(3,5,NIH,NIS)=0.5d0*KSI(NIS)*
|
|
& (2.d0*KSI(NIS)+DZETA(NIH)-2.d0)+KSI(NIS)*B
|
|
DPHI(3,6,NIH,NIS)=0.5d0*ETA(NIS)*
|
|
& (2.d0*ETA(NIS)+DZETA(NIH)-2.d0)+ETA(NIS)*B
|
|
|
|
DPHI(3,7,NIH,NIS)=-2.d0*LAMBDA*KSI(NIS)
|
|
DPHI(3,8,NIH,NIS)=-2.d0*KSI(NIS)*ETA(NIS)
|
|
DPHI(3,9,NIH,NIS)=-2.d0*ETA(NIS)*LAMBDA
|
|
|
|
DPHI(3,10,NIH,NIS)=-2.d0*DZETA(NIH)*LAMBDA
|
|
DPHI(3,11,NIH,NIS)=-2.d0*DZETA(NIH)*KSI(NIS)
|
|
DPHI(3,12,NIH,NIS)=-2.d0*DZETA(NIH)*ETA(NIS)
|
|
|
|
DPHI(3,13,NIH,NIS)=2.d0*LAMBDA*KSI(NIS)
|
|
DPHI(3,14,NIH,NIS)=2.d0*KSI(NIS)*ETA(NIS)
|
|
DPHI(3,15,NIH,NIS)=2.d0*ETA(NIS)*LAMBDA
|
|
ENDDO
|
|
ENDDO
|
|
|
|
c --------------------------------------------------------
|
|
c -------------------- cas du triangle quadratique et
|
|
c ------------ du quadrangle lineaire dans la hauteur et
|
|
c ------quadratique pour le cote adjacent au triangle
|
|
c --------------------------------------------------------
|
|
ELSEIF (NBNE.EQ.12) THEN
|
|
DO NIS= 1,NBIS
|
|
LAMBDA= 1.d0 -KSI(NIS) -ETA(NIS)
|
|
DO NIH= 1,NBIH
|
|
A= (1.d0-DZETA(NIH))/2.d0
|
|
B= (1.d0+DZETA(NIH))/2.d0
|
|
C= 1.d0 - DZETA(NIH)**2
|
|
c ---------------------------------------
|
|
c valeurs des fonctions
|
|
c ---------------------------------------
|
|
PHI(1,NIH,NIS)=-A*LAMBDA*(1.d0-2.d0*LAMBDA)
|
|
PHI(2,NIH,NIS)=-A*KSI(NIS)*(1.d0-2.d0*KSI(NIS))
|
|
PHI(3,NIH,NIS)=-A*ETA(NIS)*(1.d0-2.d0*ETA(NIS))
|
|
|
|
PHI(4,NIH,NIS)=-B*LAMBDA*(1.d0-2.d0*LAMBDA)
|
|
PHI(5,NIH,NIS)=-B*KSI(NIS)*(1.d0-2.d0*KSI(NIS))
|
|
PHI(6,NIH,NIS)=-B*ETA(NIS)*(1.d0-2.d0*ETA(NIS))
|
|
|
|
PHI(7,NIH,NIS)=4.d0*A*LAMBDA*KSI(NIS)
|
|
PHI(8,NIH,NIS)=4.d0*A*KSI(NIS)*ETA(NIS)
|
|
PHI(9,NIH,NIS)=4.d0*A*ETA(NIS)*LAMBDA
|
|
|
|
PHI(10,NIH,NIS)=4.d0*B*LAMBDA*KSI(NIS)
|
|
PHI(11,NIH,NIS)=4.d0*B*KSI(NIS)*ETA(NIS)
|
|
PHI(12,NIH,NIS)=4.d0*B*ETA(NIS)*LAMBDA
|
|
c ------------------------------------------
|
|
c de leurs derivees par rapport a KSI et ETA
|
|
c ------------------------------------------
|
|
DPHI(1,1,NIH,NIS)=A*(1.d0-4.d0*LAMBDA)
|
|
DPHI(2,1,NIH,NIS)=A*(1.d0-4.d0*LAMBDA)
|
|
DPHI(1,2,NIH,NIS)=A*(-1.d0+4.d0*KSI(NIS))
|
|
DPHI(2,2,NIH,NIS)=0.d0
|
|
DPHI(1,3,NIH,NIS)=0.d0
|
|
DPHI(2,3,NIH,NIS)=A*(-1.d0+4.d0*ETA(NIS))
|
|
|
|
DPHI(1,4,NIH,NIS)=B*(1.d0-4.d0*LAMBDA)
|
|
DPHI(2,4,NIH,NIS)=B*(1.d0-4.d0*LAMBDA)
|
|
DPHI(1,5,NIH,NIS)=B*(-1.d0+4.d0*KSI(NIS))
|
|
DPHI(2,5,NIH,NIS)=0.d0
|
|
DPHI(1,6,NIH,NIS)=0.d0
|
|
DPHI(2,6,NIH,NIS)=B*(-1.d0+4.d0*ETA(NIS))
|
|
|
|
DPHI(1,7,NIH,NIS)=4.d0*A*(-KSI(NIS)+LAMBDA)
|
|
DPHI(2,7,NIH,NIS)=-4.d0*A*KSI(NIS)
|
|
DPHI(1,8,NIH,NIS)=4.d0*A*ETA(NIS)
|
|
DPHI(2,8,NIH,NIS)=4.d0*A*KSI(NIS)
|
|
DPHI(1,9,NIH,NIS)=-4.d0*A*ETA(NIS)
|
|
DPHI(2,9,NIH,NIS)=4.d0*A*(LAMBDA-ETA(NIS))
|
|
|
|
DPHI(1,10,NIH,NIS)=4.d0*B*(LAMBDA-KSI(NIS))
|
|
DPHI(2,10,NIH,NIS)=-4.d0*B*KSI(NIS)
|
|
DPHI(1,11,NIH,NIS)=4.d0*B*ETA(NIS)
|
|
DPHI(2,11,NIH,NIS)=4.d0*B*KSI(NIS)
|
|
DPHI(1,12,NIH,NIS)=-4.d0*B*ETA(NIS)
|
|
DPHI(2,12,NIH,NIS)=4.d0*B*(LAMBDA-ETA(NIS))
|
|
c -------------------------------------
|
|
c de leurs derivees par rapport a DZETA
|
|
c -------------------------------------
|
|
DPHI(3,1,NIH,NIS)=0.5d0*LAMBDA*(1.d0-2.d0*LAMBDA)
|
|
DPHI(3,2,NIH,NIS)=0.5d0*KSI(NIS)*(1.d0-2.d0*KSI(NIS))
|
|
DPHI(3,3,NIH,NIS)=0.5d0*ETA(NIS)*(1.d0-2.d0*ETA(NIS))
|
|
|
|
DPHI(3,4,NIH,NIS)=-0.5d0*LAMBDA*(1.d0-2.d0*LAMBDA)
|
|
DPHI(3,5,NIH,NIS)=-0.5d0*KSI(NIS)*(1.d0-2.d0*KSI(NIS))
|
|
DPHI(3,6,NIH,NIS)=-0.5d0*ETA(NIS)*(1.d0-2.d0*ETA(NIS))
|
|
|
|
DPHI(3,7,NIH,NIS)=-2.d0*LAMBDA*KSI(NIS)
|
|
DPHI(3,8,NIH,NIS)=-2.d0*KSI(NIS)*ETA(NIS)
|
|
DPHI(3,9,NIH,NIS)=-2.d0*ETA(NIS)*LAMBDA
|
|
|
|
DPHI(3,10,NIH,NIS)=2.d0*LAMBDA*KSI(NIS)
|
|
DPHI(3,11,NIH,NIS)=2.d0*KSI(NIS)*ETA(NIS)
|
|
DPHI(3,12,NIH,NIS)=2.d0*ETA(NIS)*LAMBDA
|
|
ENDDO
|
|
ENDDO
|
|
|
|
c --------------------------------------------------------
|
|
c -------------------- cas quadratique -------------------
|
|
c ---- (voir p. 142 livre de G. TOUZOT , G. DHATT) ----
|
|
c --------------------------------------------------------
|
|
ccc ELSEIF (NBNE.EQ.15) THEN
|
|
ccc DO NIS= 1,NBIS
|
|
ccc LAMBDA= 1.d0 -KSI(NIS) -ETA(NIS)
|
|
ccc DO NIH= 1,NBIH
|
|
ccc A= -(1.d0-DZETA(NIH))*DZETA(NIH)/ 2.d0
|
|
ccc B= (1.d0+DZETA(NIH))*DZETA(NIH)/ 2.d0
|
|
ccc C= 1.d0 - DZETA(NIH)**2
|
|
c ---------------------------------------
|
|
c valeurs des fonctions
|
|
c ---------------------------------------
|
|
ccc PHI(1,NIH,NIS)= -LAMBDA*(1.d0-2.d0*LAMBDA)*A
|
|
ccc PHI(2,NIH,NIS)= -KSI(NIS)*(1.d0-2.d0*KSI(NIS))*A
|
|
ccc PHI(3,NIH,NIS)= -ETA(NIS)*(1.d0-2.d0*ETA(NIS))*A
|
|
ccc PHI(4,NIH,NIS)= -LAMBDA*(1.d0-2.d0*LAMBDA)*B
|
|
ccc PHI(5,NIH,NIS)= -KSI(NIS)*(1.d0-2.d0*KSI(NIS))*B
|
|
ccc PHI(6,NIH,NIS)= -ETA(NIS)*(1.d0-2.d0*ETA(NIS))*B
|
|
ccc PHI(7,NIH,NIS)= 4.d0*KSI(NIS)*LAMBDA*A
|
|
ccc PHI(8,NIH,NIS)= 4.d0*KSI(NIS)*ETA(NIS)*A
|
|
ccc PHI(9,NIH,NIS)= 4.d0*ETA(NIS)*LAMBDA*A
|
|
ccc PHI(10,NIH,NIS)= LAMBDA*C
|
|
ccc PHI(11,NIH,NIS)= KSI(NIS)*C
|
|
ccc PHI(12,NIH,NIS)= ETA(NIS)*C
|
|
ccc PHI(13,NIH,NIS)= 4.d0*KSI(NIS)*LAMBDA*B
|
|
ccc PHI(14,NIH,NIS)= 4.d0*KSI(NIS)*ETA(NIS)*B
|
|
ccc PHI(15,NIH,NIS)= 4.d0*ETA(NIS)*LAMBDA*B
|
|
c ------------------------------------------
|
|
c de leurs derivees par rapport a KSI et ETA
|
|
c ------------------------------------------
|
|
ccc DPHI(1,1,NIH,NIS)= (1.d0-4.d0*LAMBDA)*A
|
|
ccc DPHI(2,1,NIH,NIS)= (1.d0-4.d0*LAMBDA)*A
|
|
ccc DPHI(1,2,NIH,NIS)= (-1.d0+4.d0*KSI(NIS))*A
|
|
ccc DPHI(2,2,NIH,NIS)= 0.d0
|
|
ccc DPHI(1,3,NIH,NIS)= 0.d0
|
|
ccc DPHI(2,3,NIH,NIS)= (-1.d0+4.d0*ETA(NIS))*A
|
|
ccc DPHI(1,4,NIH,NIS)= (1.d0-4.d0*LAMBDA)*B
|
|
ccc DPHI(2,4,NIH,NIS)= (1.d0-4.d0*LAMBDA)*B
|
|
ccc DPHI(1,5,NIH,NIS)= (-1.d0+4.d0*KSI(NIS))*B
|
|
ccc DPHI(2,5,NIH,NIS)= 0.d0
|
|
ccc DPHI(1,6,NIH,NIS)= 0.d0
|
|
ccc DPHI(2,6,NIH,NIS)= (-1.d0+4.d0*ETA(NIS))*B
|
|
ccc DPHI(1,7,NIH,NIS)= (4.d0*(LAMBDA-KSI(NIS)))*A
|
|
ccc DPHI(2,7,NIH,NIS)= -4.d0*KSI(NIS)*A
|
|
ccc DPHI(1,8,NIH,NIS)= 4.d0*ETA(NIS)*A
|
|
ccc DPHI(2,8,NIH,NIS)= 4.d0*KSI(NIS)*A
|
|
ccc DPHI(1,9,NIH,NIS)= -4.d0*ETA(NIS)*A
|
|
ccc DPHI(2,9,NIH,NIS)= 4.d0*(LAMBDA-ETA(NIS))*A
|
|
ccc DPHI(1,10,NIH,NIS)= -C
|
|
ccc DPHI(2,10,NIH,NIS)= -C
|
|
ccc DPHI(1,11,NIH,NIS)= C
|
|
ccc DPHI(2,11,NIH,NIS)= 0.d0
|
|
ccc DPHI(1,12,NIH,NIS)= 0.d0
|
|
ccc DPHI(2,12,NIH,NIS)= C
|
|
ccc DPHI(1,13,NIH,NIS)= 4.d0*(LAMBDA-KSI(NIS))*B
|
|
ccc DPHI(2,13,NIH,NIS)= -4.d0*KSI(NIS)*B
|
|
ccc DPHI(1,14,NIH,NIS)= 4.d0*ETA(NIS)*B
|
|
ccc DPHI(2,14,NIH,NIS)= 4.d0*KSI(NIS)*B
|
|
ccc DPHI(1,15,NIH,NIS)= -4.d0*ETA(NIS)*B
|
|
ccc DPHI(2,15,NIH,NIS)= 4.d0*(LAMBDA-ETA(NIS))*B
|
|
c -------------------------------------
|
|
c de leurs derivees par rapport a DZETA
|
|
c -------------------------------------
|
|
c A= -(1.d0-DZETA(NIH))
|
|
c B= 1.d0+DZETA(NIH)
|
|
c modif du 06/10/95 derivee des A B
|
|
ccc A=(-1.d0+2.d0*DZETA(NIH))/2.d0
|
|
ccc B=(1.d0+2.d0*DZETA(NIH))/2.d0
|
|
ccc C= - 2.d0*DZETA(NIH)
|
|
ccc DPHI(3,1,NIH,NIS)= -LAMBDA*(1.d0-2.d0*LAMBDA)*A
|
|
ccc DPHI(3,2,NIH,NIS)= -KSI(NIS)*(1.d0-2.d0*KSI(NIS))*A
|
|
ccc DPHI(3,3,NIH,NIS)= -ETA(NIS)*(1.d0-2.d0*ETA(NIS))*A
|
|
ccc DPHI(3,4,NIH,NIS)= -LAMBDA*(1.d0-2.d0*LAMBDA)*B
|
|
ccc DPHI(3,5,NIH,NIS)= -KSI(NIS)*(1.d0-2.d0*KSI(NIS))*B
|
|
ccc DPHI(3,6,NIH,NIS)= -ETA(NIS)*(1.d0-2.d0*ETA(NIS))*B
|
|
ccc DPHI(3,7,NIH,NIS)= 4.d0*KSI(NIS)*LAMBDA*A
|
|
ccc DPHI(3,8,NIH,NIS)= 4.d0*KSI(NIS)*ETA(NIS)*A
|
|
ccc DPHI(3,9,NIH,NIS)= 4.d0*ETA(NIS)*LAMBDA*A
|
|
ccc DPHI(3,10,NIH,NIS)= LAMBDA*C
|
|
ccc DPHI(3,11,NIH,NIS)= KSI(NIS)*C
|
|
ccc DPHI(3,12,NIH,NIS)= ETA(NIS)*C
|
|
ccc DPHI(3,13,NIH,NIS)= 4.d0*KSI(NIS)*LAMBDA*B
|
|
ccc DPHI(3,14,NIH,NIS)= 4.d0*KSI(NIS)*ETA(NIS)*B
|
|
ccc DPHI(3,15,NIH,NIS)= 4.d0*ETA(NIS)*LAMBDA*B
|
|
ccc ENDDO
|
|
ccc ENDDO
|
|
|
|
ELSE
|
|
WRITE(*,*) 'PENTAEDRE: NBNE=',NBNE,' ***cas non implante'
|
|
STOP
|
|
ENDIF
|
|
END
|