# [Getdp] Method of moments

Lars Rindorf lhr at com.dtu.dk
Thu Jan 17 11:21:41 CET 2008

```Dear Olivier

I tried to do this, but the message consol returns
GetDP   : Operation : Generate[A]
GetDP   : Info      : Setting System {A,b} to zero
GetDP   : Error     : Segmentation violation (invalid memory reference)

In the getpd manual it is describes that the integral type is assembled before the calculation, and thus can't be a degree of freedom (dof). Before the calculation the field is zero, and thus the integral term is effectively ignored.

But I don't really know what to do from here. I have attached the .pro, .geo, and solver paramter files, so you can play with it.  Note, that when you postproces the scattered field, i.e. the integral with the green's function, the computed E-field is used.

Thanks
Lars

________________________________

From: Olivier Castany [mailto:castany at quatramaran.ens.fr]
Sent: Wed 1/16/2008 11:12 PM
To: Lars Rindorf; getdp at geuz.org
Subject: Re: [Getdp] Method of moments

>   { Name form_neumann; Type FemEquation;
>     Quantity {
>       { Name E;  Type Local;     NameOfSpace scalar;}
>       { Name E2; Type Integral ; NameOfSpace scalar;
>         [ Helmholtz[]{2D,k0} * {E} ];
>         In feed; Jacobian Jac ; Integration I1 ; }
>    }
>     Equation {
>       Galerkin {      [ Dof{E},{E} ]; In Domain; Integration I1; Jacobian Jac;}
>       Galerkin {      [ -inc[],{E} ]; In Domain; Integration I1; Jacobian Jac;}
>       Galerkin {      [ {E2},{E} ]; In Domain2D; Integration I1; Jacobian Jac;}
>        }
>   }
> The problem is 2D. "feed" is a 1D boundary. "inc[]" is the incoming field. Domain is the union of the 2D domain (Domain2D) and the 1D domain (feed).
>
> The problem is that the Green's function integral E2 is evaluated once during initialization of the problem, and it is not included in the discretization
> of the matrix. I have tried making a coupled model. This seems to be able to work, but it is not very elegant from a mathematical point of view. I have
> come rather stuck in the problem.

I think you should add the keyword "Dof" in the definition of the integral quantity and in the equations :

{ Name form_neumann; Type FemEquation;
Quantity {
{ Name E;  Type Local;     NameOfSpace scalar;}
{ Name E2; Type Integral ; NameOfSpace scalar;
[ Helmholtz[]{2D,k0} * Dof{E} ];
In feed; Jacobian Jac ; Integration I1 ; }
}
Equation {
Galerkin {      [ Dof{E},{E} ]; In Domain; Integration I1; Jacobian Jac;}
Galerkin {      [ -inc[],{E} ]; In Domain; Integration I1; Jacobian Jac;}
Galerkin {      [ Dof{E2},{E} ]; In Domain2D; Integration I1; Jacobian Jac;}
}
}

Let me know if it works, I'm interested.

Bye,

O.C.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2Dscat.geo
Type: application/octet-stream
Size: 1067 bytes
Desc: 2Dscat.geo
URL: <http://www.geuz.org/pipermail/getdp/attachments/20080117/271462ce/attachment.geo>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2Dscat.pro
Type: application/octet-stream
Size: 2845 bytes
Desc: 2Dscat.pro
URL: <http://www.geuz.org/pipermail/getdp/attachments/20080117/271462ce/attachment.pro>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: solver.par
Type: application/octet-stream
Size: 5032 bytes
Desc: solver.par
URL: <http://www.geuz.org/pipermail/getdp/attachments/20080117/271462ce/attachment.par>
```