$
$***************************************          variables
$
&set num    =  21 $ must be odd
&set vlen   = 400
&set vbeam  = 100
&set vdep   =  25
&set cond   =  sag hog
&set m_use  = 1:11
$
$***************************************          parameters
$
&device   -oecho no -pri dev
&dimen -dimen feet kips
&title Test Of Barge With Generalized DOF
$
$***************************************          read model
$
inmodel
&apply -load @ 0 barge 100
&pict side -type str
&instate -con %vdep%*0.1 0 0
&status size
$
$***************************************          hyrdostatics
$
hstatic barge
   moment -allow 1 1
      report
   end
end
&loop name (%cond)
   &subtitle Condition Name = %name
   &apply -load @ 0 barge 100 %name% 100
   &instate -loc 0 0 -%vdep%*0.7 0 0 0
   hstatic barge
      equi
      moment -allow 1 1
         report
         set dist    -column 1 
         set h_%name -column 5 
      end
   end
&endloop
&subtitle 
&apply -load @ 0 barge 100
&instate -loc 0 0 -%vdep%*0.7 0 0 0
&equi
$
$***************************************          get modes
$
struc
   modes
end
strpos
   modes value -file yes -report yes
   &loop i 1 6
      modes vector -load M@0%i%
      &subt Mode %i%
      &pict iso -deflect 5000 -type struct
      &pict sid -deflect 5000
      &pict top -deflect 5000
   &endloop
   &subt
end
$
$***************************************          set marker
$
&instate -loc 0 0 -%vdep%*0.7 0 0 0
&describe interest -assoc *b@c
   &status motion
$
$***************************************          use gdofs
$
&describe body barge -gen %m_use
$
$***************************************          equis
$
&set enum = 2
&loop name (%cond)
   &subtitle Condition Name = %name
   &apply -load @ 0 barge 100 %name% 100
   &instate -loc 0 0 -%vdep%*0.7 0 0 0
   &equi
   &status
   &status f_element barge|10 barge|11 barge|12
   &event_store %enum%
   &status motion
   &pict
   &set enum = &number(integer %enum%+1)
&endloop
$
$***************************************          struct
$
struc
   &set enum = 2
   &loop name (%cond)
      lcase -process %name %enum
      &set enum = &number(integer 1+%enum)
   &endloop
   ssolve
end
&set b_list = *B00c *B01c *b02c *b03c *b04c *b05c \
                    *B06c *B07c *b08c *b09c *b10c \
                    *B11c *B12c *b13c *b14c *b15c \
                    *B16c *B17c *B18c *b19c *b20c
strpos
   &loop name (%cond)
      joint d -load %name%
      &set nd_l%name
      &loop bnam (%b_list)
         &set n_d = &point(def  %bnam )
         &set n_d = &token(3 %n_d)
         &set nd_l%(name) = %(nd_l%(name)) %n_d
      &endloop
      beam load -detail
      rest -detail
   &endloop
end
$
$
&type h_hog %h_hog
&type h_sag %h_sag
&set n = &token(n %h_hog)
&loop cond (hog sag)
   &subtitle Condition %cond
   &buildg -csv  
      x long mode
      &loop kkk 1 %n
         &token(%kkk %dist) &token(%kkk %(h_%(cond)) ) &token(%kkk %(nd_l%(cond)) )
      &endloop

      add_column strct -combine 3 12
      vlist
      view 1 2 3 4
      plot 1 2 4 -no
   end
&endloop

&fini
