On Thu, Feb 17, 2011 at 2:09 PM, Anders Logg <[email protected]> wrote: > On Wed, Feb 16, 2011 at 09:21:23AM -0800, Johan Hake wrote: > > On Wednesday February 16 2011 09:07:57 Garth N. Wells wrote: > > > On 16/02/11 16:54, Johan Hake wrote: > > > > Question #145534 on DOLFIN changed: > > > > https://answers.launchpad.net/dolfin/+question/145534 > > > > > > > > Johan Hake proposed the following answer: > > > > > > > > On Wednesday February 16 2011 08:48:38 Anders Logg wrote: > > > >> Question #145534 on DOLFIN changed: > > > >> https://answers.launchpad.net/dolfin/+question/145534 > > > >> > > > >> Status: Open => Answered > > > >> > > > >> Anders Logg proposed the following answer: > > > >> > > > >> On Tue, Feb 15, 2011 at 10:30:06PM -0000, Yi Jiang wrote: > > > >>> New question #145534 on DOLFIN: > > > >>> https://answers.launchpad.net/dolfin/+question/145534 > > > >>> > > > >>> Hi all, > > > >>> > > > >>> I am using the dolfin to solve a PDE problem by finite element > method. > > > >>> However, I met a problem when I try to define the linear form L(v) > of > > > >>> right hand side. Suppose the PDE is: > > > >>> > > > >>> F(x) = f. > > > >>> > > > >>> What should I do if the f is a Dirac Delta function. How to define > it > > > >>> in ufl? Anybody met and solved the similar problems before? > > > >>> Thank you for attention and kind help. > > > >> > > > >> This is not supported. > > > > > > > > I am also interested in this. What would it require to implement? > Changes > > > > to UFL, FFC, DOLFIN? > > > > > > A lot of changes. It would require being able to integrate over > > > surfaces/lines within a cell. > > > > > > UFL can be stretched to do this, but extentions to FFC and DOLFIN are > > > needed. Take a look at the modelling discontinuities chapter in the > > > FEniCS book ;). > > > > Looking forward to do that! > > > > A naive thought would be to introduce a DeltaDiracFunction which > evaluates to > > zero for all but a given coordinates which need to coincide with a > vertex. But > > I guess we need to prevent DOLFIN to interpolate the function during > assemble, > > and just evaluate it at the quadrature points, where it evaluates to > zero? > > > > Johan > > Anyone interested in this, please add a blueprint so we can remember > it for later. > > I have actually implemented this! This is fairly easy to support through the assembly process. I've implemented this before by defining a boundary condition type DeltaFunctionBC that alters the right hand side as, for the test function v,
(v, \delta(x - x_0))= v(x_0) The simplification I made was that, so I didn't have to search for some point x_0 in the mesh, that x_0 has to correspond to the coordinates of a mesh vertex. However, it's easy to generalize to any, potentially mixed, function space. - Peter > -- > Anders > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

