ff3d-users
[Top][All Lists]

## [ff3d-users] magnetic modeling

 From: Schmidt Beat Subject: [ff3d-users] magnetic modeling Date: Mon, 25 Sep 2006 07:50:53 +0000 (GMT)

Hi,

I'm trying to use ff3d for 3D magnetic modeling. I've started out with a simple cylindrical magnet (current in a cylindrical sheet) and would like to calculate the vector potential A, as a first step.
The first problem I have encountered was that the solver does not seem to accept the following form of the Robin boundary condition :

C*Ax+dnu(Ax)=0

Only Ax+dnu(Ax)=0 is accepted.

The second problem is that even when the boundary condition is given in this second form, the solver stops in the middle of the calculation and returns an error.

I'm stuck on this problem and would appreciate any help.

Beat

My files look as follows:

Povray file (test.pov):

difference{
cylinder {
<0,-1,0>, <0,1,0>, 0.5
}
cylinder {
<0,-1.1,0>, <0,1.1,0>,  0.45
}
pigment{color rgb <1,0,0>}
}
sphere {
<0, 0, 0>, 4
pigment{color rgb <1,1,1>}
}

ff3d file :

double pi = 3.1415926536;
double mu0 = 4 * pi *10e-7;
double R=0.5; //rayon de l'aimant
double C=0.25; //inverse du rayon de la sphÃ¨re limitante R=4
double j0 = 1; //normalisation du courant d'aimantation

scene S = pov("test.pov");
mesh M = structured(<80,80,80>,(-4,-4,-4),(4,4,4));
domain O = domain(S, inside(<1,1,1>));
function jx = - one(<1,0,0>)*z/0.5;
function jz = one(<1,0,0>)*x/0.5;

solve(Ax,Ay,Az)in O by M method(type = penalty)
{
pde(Ax)
dx(dx (Ax)) +dy(dy (Ax)) + dz(dz (Ax)) = mu0*jx;
Ax+dnu(Ax)=0 on <1,1,1>;

pde(Ay)
dx(dx (Ay)) +dy(dy (Ay)) + dz(dz (Ay)) = 0;
Ay+dnu(Ay)=0 on <1,1,1>;

pde(Az)
dx(dx (Az)) +dy(dy (Az)) + dz(dz (Az)) = mu0*jz;
Az+dnu(Az)=0 on <1,1,1>;

}