MEEG 681 / MEEG481
Computer Solution of Engineering Problems
Computer Session 8

The first example is a 1D transient flow driven by pulling the top wall.
Gambit input; FIDAP input.
Post processing details: (1) Use Plot-History to plot results as a fcn of time; (2) Utility-Timestep to set the current time.

Mesh used is 1 x 24.


Result: Velocity profile at t=0.1 (all nondimensionalized).


Results: Verlocity at y=0.5 as a function of time. Note that the analytical solution is computed with 200 terms in the series summation, but it may not be enough when t is very small.



The second example is flow over an oscillating plate (Stokes's second problem).


Gambit input; FIDAP input.

In the third example, we solve an unsteady water flow around a two-dimensional cylinder using FIDAP.
 



Using Gambit to generate a mapped mesh


/ Journal File for GAMBIT 1.3.0
/ File opened for write Wed Apr  4 11:19:03 2001.
identifier name "cylind" new saveprevious
undo begingroup
vertex create coordinates 0 0 0
undo endgroup
undo begingroup
vertex create coordinates 5 0 0
undo endgroup
undo begingroup
vertex create coordinates 10 0 0
undo endgroup
undo begingroup
vertex create coordinates 10 5 0
undo endgroup
undo begingroup
vertex create coordinates 5 5 0
undo endgroup
undo begingroup
vertex create coordinates 0 5 0
undo endgroup
undo begingroup
/
vertex create coordinates 2.5 2.510 0
/ This introduce a little bit of asymmetry to the domain to help generate
/ vortex shedding
/
undo endgroup
edge create radius 0.5 startangle 45 endangle 135 center "vertex.7" xyplane arc
edge create radius 0.5 startangle 135 endangle 225 center "vertex.7" xyplane arc
edge create radius 0.5 startangle 225 endangle 315 center "vertex.7" xyplane arc
edge create radius 0.5 startangle 315 endangle 45 center "vertex.7" xyplane arc
vertex connect "vertex.1" "vertex.2" "vertex.3" "vertex.4" "vertex.5" \
  "vertex.6" "vertex.7" "vertex.8" "vertex.9" "vertex.10" "vertex.11" \
  "vertex.12" "vertex.13" "vertex.14" "vertex.15" real
edge create straight "vertex.1" "vertex.2" "vertex.3" "vertex.4" "vertex.5" \
  "vertex.6"
edge create straight "vertex.6" "vertex.1"
edge create straight "vertex.5" "vertex.2"
edge create straight "vertex.6" "vertex.9"
edge create straight "vertex.5" "vertex.8"
edge create straight "vertex.2" "vertex.13"
edge create straight "vertex.11" "vertex.1"
face create wireframe "edge.10" "edge.15" "edge.2" "edge.12" real
face create wireframe "edge.12" "edge.1" "edge.13" "edge.9" real
face create wireframe "edge.4" "edge.14" "edge.11" "edge.13" real
face create wireframe "edge.14" "edge.3" "edge.15" "edge.5" real
face create wireframe "edge.6" "edge.7" "edge.8" "edge.11" real
undo begingroup
edge picklink "edge.10"
edge mesh "edge.10" successive ratio1 0.97 ratio2 0.97 intervals 40
undo endgroup
undo begingroup
edge picklink "edge.11" "edge.7"
edge mesh "edge.7" "edge.11" successive ratio1 0.98 ratio2 0.98 intervals 60
undo endgroup
undo begingroup
edge picklink "edge.4"
edge mesh "edge.4" successive ratio1 0.99 ratio2 0.99 intervals 60
undo endgroup
undo begingroup
edge picklink "edge.3" "edge.2" "edge.1"
edge mesh "edge.1" "edge.2" "edge.3" successive ratio1 1 intervals 40
undo endgroup
undo begingroup
edge picklink "edge.12"
edge mesh "edge.12" successive ratio1 0.97 intervals 40
undo endgroup
undo begingroup
edge picklink "edge.13"
edge mesh "edge.13" successive ratio1 0.97 intervals 40
undo endgroup
undo begingroup
edge picklink "edge.15"
edge mesh "edge.15" successive ratio1 1.03093 intervals 40
undo endgroup
undo begingroup
edge picklink "edge.14"
edge mesh "edge.14" successive ratio1 0.97 intervals 40
undo endgroup
undo begingroup
edge picklink "edge.5" "edge.9"
edge mesh "edge.9" "edge.5" successive ratio1 1 intervals 40
undo endgroup
undo begingroup
edge picklink "edge.6" "edge.8"
edge mesh "edge.8" "edge.6" successive ratio1 1 intervals 40
undo endgroup
face mesh "face.1" "face.2" "face.3" "face.4" "face.5" map size 1
face delete "face.5" onlymesh
undo begingroup
edge delete "edge.8" keepsettings onlymesh
edge mesh "edge.8" successive ratio1 0.99 intervals 50
undo endgroup
undo begingroup
edge delete "edge.6" keepsettings onlymesh
edge mesh "edge.6" successive ratio1 1.0101 intervals 50
undo endgroup
face mesh "face.5" map size 1
solver select "FIDAP"
physics create "fluid" ctype "FLUID" face "face.1" "face.2" "face.3" "face.4" \
  "face.5"
physics create "inlet" btype "PLOT" edge "edge.10"
physics create "top" btype "PLOT" edge "edge.9" "edge.8"
physics create "bottom" btype "PLOT" edge "edge.5" "edge.6"
physics create "outlet" btype "PLOT" edge "edge.7"
physics create "cylinder" btype "PLOT" edge "edge.4" "edge.1" "edge.2" \
  "edge.3"
export fidap "cylind.FDNEUT"
/ File closed at Wed Apr  4 11:53:02 2001, 15.56 cpu second(s), 4840040 maximum memory.


FIPREP file for the unsteady case
/
/          CONVERSION OF NEUTRAL FILE TO FIDAP Database
/
FICONV( NEUTRAL )
INPUT( FILE="cylind.FDNEUT" )
OUTPUT( DELETE )
END
/
/
TITLE
cylind
/
FIPREP(  )
/
EXECUTION( ADD, NEWJ )
/
PROBLEM( ADD, 2-D, INCO, TRAN, LAMI, NONL, NEWT, MOME, ISOT, FIXE, SING )
/
/ TIMEINTEGRATION( ADD, BACK, NSTE = 201, TSTA = 0, DT = 0.25, FIXE )
/ TIMEINTEGRATION( ADD, BACK, NSTE = 201, TSTA = 50.25, DT = 0.25, FIXE )
TIMEINTEGRATION( ADD, BACK, NSTE = 401, TSTA = 100.50, DT = 0.25, FIXE )
SOLUTION( S.S. = 50, VELCONV = .001, RESCONV = .001)
/
POSTPROCESS(NBLOCKS=1)
1 401 4
/
DATAPRINT( ADD, CONT )
PRINTOUT( ADD, NONE, BOUN )
/
ENTITY( ADD, NAME = "fluid", FLUI )
ENTITY( ADD, NAME = "bottom", PLOT )
ENTITY( ADD, NAME = "top", PLOT )
ENTITY( ADD, NAME = "inlet", PLOT )
ENTITY( ADD, NAME = "outlet", PLOT )
ENTITY( ADD, NAME = "cylinder", PLOT )
/
DENSITY( ADD, SET = 1, CONS = 0.998 )
VISCOSITY( ADD, SET = 1, CONS = 0.01003 )
/
/ ICNODE( ADD, VELO, ZERO, ENTI = "fluid", X, Y, Z )
/ To read steady-state flow field as the initial condition:
/ change *.FDPOST to *.FDREST
/ and then
ICNO (VELO, READ)
/
BCNODE( ADD, VELO, ENTI = "cylinder", ZERO, X, Y, Z )
BCNODE( ADD, UY, ENTI = "inlet", ZERO )
BCNODE( ADD, UX, ENTI = "inlet", CONS = 1.00 )
BCNODE( ADD, UY, ENTI = "bottom", ZERO )
BCNODE( ADD, UY, ENTI = "top", ZERO )
/
END(  )


CPU TIME for the runs on mahler:
First 201 steps: 6528 s
Next 201 steps: 20398 s
Next 401 steps: 40496 s

Print a hard copy of FIPOST visualizations Results for unsteady simulations
Case 1: Re = 100
Case 2: Re = 200


How to start a run with initial field specified as the last field of a previous run?
/ change *.FDPOST to *.FDREST
/ and then
ICNO (VELO, READ)
/