femlisp-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [femlisp-user] femlisp documentation 0.6 does not match femlisp 0.9.


From: Nicolas Neuss
Subject: Re: [femlisp-user] femlisp documentation 0.6 does not match femlisp 0.9.9?
Date: Fri, 07 Dec 2007 14:59:33 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

Nicolas Neuss <address@hidden> writes:

> Yes, part of the interface in the CVS version has changed.  It really is
> time for a new release which I have postponed due to other tasks.  I'll try
> to do it ASAP, hopefully still this week, and will report it on this list.
>
> Yours, Nicolas

Sorry, this seems to be more work than I thought.  There are several things
that do not work any more, e.g. eigenvalue solving and also some of the
demos.  I am working on this.  For the moment, here are corrected versions
of the examples in the docs:

(let* ((problem
        (elasticity-model-problem
         (n-cube-domain 2) :lambda 1.0 :mu 1.0
         :force (vector #m(1.0) #m(0.0))))
       (blackboard
        (blackboard :problem problem :output t
                    :success-if '(> :time 20.0))))
  (defparameter *result* (solve blackboard)))

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

;;; Navier-Stokes
(defparameter *result*
  (solve 
   (blackboard
    :problem (driven-cavity 2 :reynolds 10.0) :base-level 0
    :success-if '(> :time 20.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 dim collect
                  (vref (aref val i) 0))))))))))

;;; time-dependent
(let* ((dim 1) (levels 4) (order 2)
       (problem (cdr-model-problem
                 dim :initial #'(lambda (x) #I(sin(2*pi*x[0]^^2)))
                 :reaction 0.0 :source #m(0.0)))
       (rothe (make-instance
               '<rothe> :model-time 0.0 :time-step 0.01
               :stationary-success-if `(> :nr-levels ,levels)
               :success-if '(>= :step 20)
               :output t :plot t)))
  (defparameter *result*
    (iterate rothe (blackboard
                    :problem problem :fe-class (lagrange-fe order)
                    :plot-mesh nil :output t))))






reply via email to

[Prev in Thread] Current Thread [Next in Thread]