Next: Heat equation, Previous: Elasticity problem, Up: Solving problems [Contents][Index]

The following sequence is a short excerpt from the Driven cavity demo
in `femlisp/src/applications/navier-stokes/driven-cavity.lisp`.
It solves the two-dimensional driven cavity problem with Reynolds
number 10. During the approximation the velocity components at the
midpoint *(0.5,0.5)* are printed.

(storing (solve (blackboard :problem (driven-cavity 2 :reynolds 10.0) :base-level 0 :success-if '(> :time 40.0) :output t :observe (append *stationary-fe-strategy-observe* (list (list (format nil "~{ u~1D~}" '(1 2)) "~{~19,10,2E~}" #'(lambda (blackboard) (let ((val (fe-value (getbb blackboard :solution) #d(0.5 0.5)))) (loop for i below 2 collect (vref (aref val i) 0))))))))))

(plot (getbb *result* :solution))

now plots the x-component of the solution, whereas

(plot (getbb *result* :solution) :component 1)

plots the y-component.

A vector plot can be achieved using

(plot (getbb *result* :solution) :component 'fl.navier-stokes::u :rank 1 :shape 2)