[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [femlisp-user] Constructing 2D domain
From: |
Sebastian Sturm |
Subject: |
Re: [femlisp-user] Constructing 2D domain |
Date: |
Wed, 3 Nov 2010 14:20:37 +0100 |
> For this application, I used something like the following:
>
> <sebastian-sturm.lisp>
Great, thank you very much! That is exactly what I have been searching for. I
now have two separate domains (outer and inner part) that should have different
material parameters sigma_1 and sigma_2, respectively. I would like to solve
div(sigma(x) * grad(phi)) = 0 on the sum of both domains, with phi(x) at the
inner (circular hole) boundaries set to +1 and -1, respectively, phi(x) = 0 or
grad(phi(x)) = 0 at the outermost boundary and sigma_1 (d phi/dn)_{boundary of
domain 1} = sigma_2 (d phi/dn)_{boundary of domain 2} at the interface between
the inner domain and the outer domain. Is that possible?
I have attached a pdf file showing the domain I'm referring to. From browsing
the source code, I guess I should set up an elliptic system, define ellsys::a
as a simple identity matrix with diagonal elements sigma(x) and (somehow) set
up Dirichlet boundary conditions at the holes. I assume I can figure that out
on my own, but identifying the inner boundary of the outer domain with the
outer boundary of the inner domain and setting up the right BC seems more
daunting to me.
mesh.pdf
Description: Adobe PDF document
I also guess I could do without the BC at the interface region by constructing
a finite-width boundary region using telescope and explicitly interpolating
sigma(x) between its two extreme values sigma_1 and sigma_2, in case the
current ellsys model is not well suited to the boundary conditions described
above. In principle, however, I would very much like to know how to set up the
most general kind of interface/boundary conditions.
My apologies for stealing your time, but my weak Lisp skills do not cater very
well to the trial-and-error approach. In compensation, I could try to
contribute a tutorial to the femlisp manual explaining these basic techniques
(once I have actually understood them) to newcomers like me.
> (setq fl.plot::*plot* t)
>
> Furthermore, quicklisp probably does not install the current CVS version
> which should include VTK support. Try doing a "cvs update" in the
> femlisp directory.
Aha, great! Worked like a charm!
Best regards,
Sebastian