DTANGENTIAL BC in cylindrical coordin... Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » DTANGENTIAL BC in cylindrical coordinates « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Jerry Kiuttu (kiuttu)
New member
Username: kiuttu

Post Number: 1
Registered: 02-2005
Posted on Monday, February 21, 2005 - 07:44 pm:   

In the technical write-up on boundary conditions, it is stated that the DTANGENTIAL = 0 boundary condition implies that the potential is a constant along the boundary. However, for cylindrical coordinates (r,z), and vector potential A (having azimuthal component only), the axial value of the curl is given by (1/r)*Dr(r*A), so that if A is specified as constant (= c), there is a non-zero axial component of (CURL(A))z (= c/r). How does one impose the proper boundary condition that forces the normal component of the curl of the vector potential to be zero in cylindrical coordinates? I know that for simple problems, A = c/r satisfies DTANGENTIAL(A) = 0, but the value of the constant is generally unknown. I would like to solve CURL(CURL(A)) = 0 problems by imposing LINE_INTEGRAL(CURL(A)) = (known) constant constraints, but must be able to specify the normal component of CURL(A) = 0 in order to do this. I'm still using FlexPDE version 3.10b.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 330
Registered: 06-2003
Posted on Tuesday, February 22, 2005 - 07:47 pm:   

1.
It's not clear whether you want to control the normal or tangential components, because you refer to both. A z-component is normal only on the cylindrical ends; it is tangential on the sides.

2.
For the equation curl(curl(A))=0, the natural boundary condition means n x curl(A), or the tangential field. So the default boundary condition natural(A)=0 means no tangential field.
See the notes to "Samples | Steady_State | Magnetism | Magnet_Coil.pde" (The comment on the Natural BC statement in that problem says "H<dot>n", but that must be an error.)
Top of pagePrevious messageNext messageBottom of page Link to this message

Jerry Kiuttu (kiuttu)
New member
Username: kiuttu

Post Number: 2
Registered: 02-2005
Posted on Tuesday, February 22, 2005 - 08:31 pm:   

Sorry for the confusion. I want to set the normal component of the field to zero so that the field is purely tangential at the boundary. I think this means that the tangential derivative of the vector potential should be set to zero. I can't use the natural boundary condition (normal derivative), because I don't know the tangential value of the field - only its line integral value, which I would like to impose as a constraint.

In (r,z) coordinates, the azimuthal component of the potential, A = c/r, on the boundary has zero tangential derivative, whereas in Cartesian geometry, A = c on the boundary is the correct value that gives DTANGENTIAL(A) = 0. Here, 'c' is a constant.

The motivation for this is solving the vector equation, CURL(CURL(A)) = 0, for the magnetic vector potential in axisymmetric problems. The curl of the potential gives the magnetic field, which is tangential to superconducting boundaries, and approximates tangential for high-conductivity metals and/or high frequencies. Often, for practical problems, all that is known is the total surface current, given by Ampere's Law by the line integral of the magnetic field along any loop path that encloses the conductor. It seems to me that the correct way to set up such problems is to specify A = 0 on the overall region boundary, DTANGENTIAL(A) = 0 on the interior conductor surfaces, and add the constraint LINE_INTEGRAL(CURL(A)) = CURRENT ON 'LOOP AROUND CONDUCTOR(s)'.

When I set up such a problem for a simple single circular-cross-section superconducting coil loop and got the problem to compute, I saw penetration of field into the superconductor (there was a normal component of the field at the surface). The field was purely in the 'z' direction inside the conductor (it should have been zero). Its qualitative appearance was what one would expect if rather than DTANGENTIAL(A) = 0 being imposed, VALUE(A) = CONSTANT was actually imposed, since the field inside the conductor appeared to have only a z component and scale as 1/r, which is what would be obtained from VALUE(A) = CONSTANT.

To reiterate, I suspect that the implementation of DTANGENTIAL is incorrect for cylindrical 2-D coordinates.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 331
Registered: 06-2003
Posted on Wednesday, February 23, 2005 - 03:04 pm:   

The DTANGENTIAL boundary condition has given us implementation problems, and it has been deleted altogether from version 4.

As you point out, A=const provides the condition you want. If there is only one such surface in the problem, then A=0 suffices. If there are more than one such surface, then one can be set to zero, but the other constant is unknown. So how about this: Define a SCALAR VARIABLE C2 for the second boundary and use the boundary condition A=C2 for A on this boundary. Then write an equation for C2 from your integral formula. I haven't tried this, but it might work.
Top of pagePrevious messageNext messageBottom of page Link to this message

Jerry Kiuttu (kiuttu)
Junior Member
Username: kiuttu

Post Number: 3
Registered: 02-2005
Posted on Wednesday, February 23, 2005 - 10:07 pm:   

Unfortunately, the integral constraint formula applies only to the curl of the potential, so I don't think there is any definition for C2 in A=C2 that would be correct.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 332
Registered: 06-2003
Posted on Thursday, February 24, 2005 - 12:09 am:   

The point of using a SCALAR variable is that you don't need to know the value of C2. You merely write some known integral relation that implies C2 and let FlexPDE figure it out.

I'm not talking about a constraint, but a SCALAR VARIABLE. See the example "Samples | Misc | Heaterssi.pde" for an example of a similar use.
Top of pagePrevious messageNext messageBottom of page Link to this message

FUCHS Rosalie (rosalie)
New member
Username: rosalie

Post Number: 1
Registered: 07-2007
Posted on Monday, July 23, 2007 - 12:04 am:   

hi, I m a student in modelling and i m working on a cylindrical model with FlexPDE (professional version)and i don t inderstand their representation with z on a vertical axis. i need a normal to a ring, and with this representation i have to define it as sqrt(1/r^2+z^2)*(r,z) which is the cartesians coordinates in the representation (r,z), whereas a normal is define as (1,0,0) with classic cylindrical coordinates(r,teta,z).Could you help me please?
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 910
Registered: 06-2003
Posted on Monday, July 23, 2007 - 02:01 pm:   

2D cylindrical coordinates represent a cross-section of a cylinder. The cross-section contains the cylindrical axis at r=0, and shows the (r,z) distribution of values on the cut plane.

It is assumed that the variable values are independent of theta, so that a single cut defines the entire volume.

You can select whether to plot the cylindrical axis vertically or horizontally, but this is merely a convention for plot display.

If you orient the cylindrical axis vertically (ie, R,Z coordinates), then the r coordinate is plotted horizontally.

The normal to the cylinder of constant r is simply the r-unit vector (1,0). The axial unit vector is the z-unit vector (0,1).

You do not normally have to treat the normal explicitly, as all the finite element equations deal automatically with normal components of fluxes.

Beyond this, I don't know what you are asking.
Top of pagePrevious messageNext messageBottom of page Link to this message

FUCHS Rosalie (rosalie)
New member
Username: rosalie

Post Number: 2
Registered: 07-2007
Posted on Monday, July 23, 2007 - 06:02 pm:   

Thanks very much for these informations. For the normal i tried to express it as (1,0) and it didn t but i will trie again. thanks, have a good day.

Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration