• VTF
  • FSI
  • AMROC
  • SFC
  • Motion
  • STLIB
  • Main Page
  • Related Pages
    • combl.f
    • cuser.i
    • fdisc.f
    • init2.f
    • Makefile.am
    • physbd2.f
    • FluidProblem.h
    • ip2eurfl.f
    • rpn2euhll.f
    • rpt2eu.f
    • chk2eu.f
    • rec2eu.f
    • flx2eu.f
    • flgout2eu.f
    • amr_beam_main.C

    fsi/beam-amroc/VibratingBeam/src/fdisc.f

    c
    c
    c
    c     =================================================
          function fdisc(x,y)
    c     =================================================
    
          implicit double precision (a-h,o-z)
    
          include  "cuser.i"
    c
    c     # for computing cell averages for initial data that has a
    c     # discontinuity along some curve.  fdisc should be negative to the 
    c     # left of the curve and positive to the right
    c     # idisc specifies the nature of the discontinuity for two
    c     # particular cases (a straight line and circle) but this routine
    c     # can be modified for any other curve.
    c
          go to (10,20) idisc
    c
       10 continue
    c     # straight line through (x0,y0) with normal (alf,beta) pointing 
    c     # into right state
    c
          fdisc = (x-x0)*alf + (y-y0)*beta
          return
    c
       20 continue
    c     # circle of radius r0:
          fdisc = (x-x0)**2 + (y-y0)**2 - r0**2
    c
          return
          end