TABLE OF CONTENTS


PHY/USER/fct_mvsol [ Modules ]

[ Top ] [ Modules ]

NOM

 fct_mvsol(v1,v2,v3,o1,o2,o3,num)

DESCRIPTION

 Definition du mouvement impose  a un solide par son vecteur 
 vitesse de translation et son vecteur vitesse angulaire
 Definition of the motion imposed on a solid by its  translational velocity vector
 and angular velocity vector

    ENTREES / INPUT
    num : numero de la fonction / function number
 on a acces au temps global tc / the global time tc is available

    SORTIES / OUTPUT
    v : vitesse de translation / translational velocity
    o : vitesse angulaire / angular velocity

SOURCE

! Ce logiciel est regi par la licence [CeCILL-B]
! This software is governed by the [CeCILL-B] license
!=========================== DEBUT DES DECLARATIONS ==================== 
!.1-----  Implicit, Use
  use phy_typ
  IMPLICIT NONE
!.2-----  Declaration
  real(kind=kind(0.d0)), intent(out) :: v1,v2,v3 !! vitesse de translation / translational velocity
  real(kind=kind(0.d0)), intent(out) :: o1,o2,o3 !! vitesse angulaire / angular velocity
  integer, intent(in)                :: num !! numero de la fonction / Function number
!=========================== DEBUT DU CODE EXECUTABLE ==================
    v1=0.d0    
    v2=0.d0    
    v3=0.d0    
    o1=0.d0    
    o2=0.d0    
    o3=0.d0    

    select case (num)

!  Mouvement du batteur
       case(1)
         v1=-4.d-1*datan(1.d0)*sin(4.d0*datan(1.d0)*tc)

!  Mouvement du batteur
        case(2)
          v1=-0.2d0*4.d0*datan(1.d0)*sin(4.d0*datan(1.d0)*tc)

!  Mouvement du prisme
        case(3)
         if(tc.le.0.087d0)then  !si tps <= à un nmbre à définir
            v2=-0.225d0*9.81d0*tc-0.4d0  !-mg.t+V0 avec m en kg
         else
            v2=0.d0
         endif

!  Erreur
        case default 
         call print_err('FCT_MVSOL',' Solide motion not defined!!')
          stop

    end select
!===============   FIN DE LA ROUTINE    ====================
END SUBROUTINE fct_mvsol