GfsEventList

From Gerris

Revision as of 00:26, 2 August 2012; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

A GfsEventList is a list of events will be performed in sequence at the prescribed instants during the simulation.

The syntax in parameter files is:

 [ GfsEvent ] (CLASSNAME) { 
   EVENT0...
   EVENT1...
   ...
 }

where EVENT0, EVENT1, ..., are GfsEvents. The CLASSNAME argument is optional and should be the name of the type of GfsEvents contained in the list.

Examples

  • The 2004 Indian Ocean tsunami
  •     EventList { start = 212 step = 6 end = 272 } {
    	Init {} { D = 0 }
    	InitOkada D {
    	    x = 93.90 y = 5.22
    	    depth = 11.4857e3
    	    strike = 348 dip = 12 rake = 90
    	    length = 150e3 width = 130e3
    	    U = 23
    	}
        }
    

        EventList { start = 528 step = 6 end = 588 } {
    	Init {} { D = 0 }
    	InitOkada D {
    	    x = 93.21 y = 7.41
    	    depth = 12.525e3
    	    strike = 338 dip = 12 rake = 90
    	    length = 390e3 width = 120e3
    	    U = 12
    	}
        }
    

        EventList { start = 853 step = 6 end = 913 } {
    	Init {} { D = 0 }
    	InitOkada D {
    	    x = 92.60 y = 9.70
    	    depth = 15.12419e3
    	    strike = 356 dip = 12 rake = 90
    	    length = 150e3 width = 95e3
    	    U = 12
    	}
        }
    

        EventList { start = 1213 step = 6 end = 1273 } {
    	Init {} { D = 0 }
    	InitOkada D {
    	    x = 92.87 y = 11.70
    	    depth = 15.12419e3
    	    strike = 10 dip = 12 rake = 90
    	    length = 350e3 width = 95e3
    	    U = 12
    	}
        }
    

  • Simple example of groundwater flow following Darcy's law
  •     EventList { start = end } {
    	OutputErrorNorm {} { awk '{print LEVEL, $5, $7, $9}' >> p } { v = P } {
    	    s = atan2 (y, x)
    	}
    	OutputErrorNorm {} { awk '{print LEVEL, $5, $7, $9}' >> U } { v = U } {
    	    s = y / (x*x + y*y)
    	}
    	OutputErrorNorm {} { awk '{print LEVEL, $5, $7, $9}' >> V } { v = V } {
    	    s = -x / (x*x + y*y)
    	}
    	OutputSimulation solution.gfs
        }
    

  • Groundwater flow with piecewise constant permeability
  •     EventList { start = end } {
    	OutputErrorNorm {} { awk '{print LEVEL, $5, $7, $9}' >> p } { v = P } {
    	    s = THETA>-M_PI/3 ? THETA : 2*THETA+M_PI/3
    	}
    	OutputErrorNorm {} { awk '{print LEVEL, $5, $7, $9}' >> U } { v = U } {
    	    s = y / (x*x + y*y)
    	}
    	OutputErrorNorm {} { awk '{print LEVEL, $5, $7, $9}' >> V } { v = V } {
    	    s = -x / (x*x + y*y)
    	}
    	OutputSimulation {} solution.gfs	
        }
    

Personal tools
communication