On 06/04/2012 06:01 AM, steve wrote:
I'm extremely new to finite elements in general and sfepy in particular, but I have a couple of problems I'm interested in, and I'm hoping that sfepy may provide an easy way to get started. Both of these problems (1 acoustic normal modes in cavities with cylindrical symmetry and 2 electrostatic fields in cavities bounded by various equipotential surfaces) have in common a axisymmetric or cylindrical symmetry. I found this discussion
but I didn't see any real follow up. Has there been more done on this?
I am slowly working on the plate/shell aspect, but not on the symmetry.
also.. I've spent the last couple of days skimming Hughes finite element analysis book to get my head screwed on straight WRT FEM and I found this interesting tidbit:
The link jumps to the front page - could you tell us the page?
Since heat conduction is extremely similar to electrostatics (and only a term or so different from acoustics) I hoped that it might be possible to get away with a 2D mesh for my problem(s) rather than running a full 3D mesh of the highly symmetric cases. So.. I guess my question is, what's the easiest way to implement this feature in sfepy? Can anyone suggest a path to follow?
There are at least two paths:
a) Because the terms in symmetrical formulations are often just like the terms in the cartesian grid but multiplied by a coordinate-dependent factor (e.g. 1/r), the easiest way IMHO is to incorporate those factors to a material parameter of each term. The material parameters can be given as general functions of coordinates, and you get the coordinates, so all the information is there. Not all terms, however, would be possible to reuse in this way. The Laplacian operator, for example, would have to be reimplemented as a new term for the cylindrical symmetry.
b) Support somehow the symmetry internally, that is, do the above under the hood. This would be more difficult, and I am not sure if it is worth it. It depends on the number of new terms/reused terms that would have to implemented/or not in the case (a). Essentially, (b) == (a) with automatic use of the right terms given the symmetry.
So solving your problems should be possible, with some work. I think I raised more questions than answered, so feel free to ask!
Also, if others have some remarks/opinions, do not hesitate to write them here.