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

Re: [femm] Question in Axisym. Problems in Postprocessor



In a message dated 3/14/01 2:24:26 AM Eastern Standard Time, stsc_sh@xxxxxxxx
writes:


David:

  Thanks for reply soon. I use the (1) method at my origin work. But the
smoothing solution of B was not very good along the axi. The only diffrence
between you and me is the Gauss Point's location. It seems we always should
choose the centroid of a element as its Gauss Point. Is that right?


Yes, the method (1) from the last message gives the best results when
evaluated at the centroid.  However, you still ought to be able to get
reasonable values along  the axis if you are linearly interpolating A.  For
example, you know that the radial field must be zero along the axis.  That
just leaves the z-direction field.  The definition, in terms of A, is Bz =
A[r]/r + A'[r].  If you are linearly interpolating A over the element next to
zero, you can use the fact that A has to be zero at r=0 to get the result
that the axial flux density is Bz=2 A'[r] along the axis.

Anyhow, to sort of distill the interpolation scheme used in the Henrotte
paper, I've put up the document
http://groups.yahoo.com/group/femm/files/interpolation.pdf
 in the mailing
list files section.

   In function GetNodalB, I was not very clear now what method you used to
get nodal value when it is on interface?
Thank you.


This is sort of an ugly little piece of code on my part.  The idea of this
routine was to preserve the continuity of the normally directed B across an
interface.  If you don't do any smoothing, you get this automatically--the
normal flux across the interface is just the derivative of A along the
interface for planar problems (or 1/(2 Pi r) times the derivative of flux in
the direction along the interface for axisymmetric problems).  This routine
assigns the normal portion of the flux density for the node points on the
boundary on the basis of the slopes of the interface on either side of the
node, rather than extrapolating B from the Gauss points of nearby nodes.  It
gets the tangential part of B from interpolating from nearby nodes, because I
found it hard to enforce continuity of tangential H at the boundary (it's
only approximately enforced by first order triangles to begin with).  All of
the messiness comes because not every interface is straight, i.e. arcs.  The
code tries to figure out what should be considered to be a "smooth"
interface, tries to figure out which direction should be the normal
direction, and then enforces the "normal" derivative continuity.  If the
angle is too steep, it decides that it's really a corner and doesn't try to
smooth things out around it.

Honestly, I couldn't find a way to do it that truly satisfies me, and I
couldn't find a good reference on superconvergence ("superconvergence" is the
buzz word for smoothing in this type of problem) that deals with how to treat
interfaces in a consistent way.  If anyone knows of a good reference, I'd
really appreciate you posting it.

Dave.