On 01/04/12 17:31, Tom Aldcroft wrote:
> I'm working on modeling a next-generation X-ray mirror for which the
> shape can be actively controlled by use of many thin piezo-electric
> actuators mounted on the mirror surface. The mirror is basically a
> glass conical paraboloid with a 1 meter radius and 200 micron
> thickness (e.g. http://en.wikipedia.org/wiki/X-ray_optics). Our
> project is currently using a proprietary FEA package, but the model
> setup and turnaround time is slow, in part because there is only one
> part-time engineer who can run it.
Looks like an interesting problem for SfePy.
> SfePy looks like a great package and we're hoping that it could be
> used to automate running a large number of different cases. I've
> spent some time reading the documentation but I have a few questions
> that I hope can be answered before going too much further. I want to
> apologize in advance if some of my wording is imprecise, I have a
> physics background but this topic is a bit outside my realm...
No problem, ask as you need, I will try to answer. But first I have some
questions as well :)
> - Is SfePy appropriate for this problem?
I guess so - could you be more specific what kind of equations you need to
solve? Something like [1]? Is the problem linear?
> - If a specify a grid with about 800 x 400 points (azimuthal, axial)
> and about 10 boundary conditions (corresponding to mount points), what
> is the rough order of magnitude of time to compute the solution? Is
> it seconds, minutes, hours, or days?
So the problem is in 2D, right? How many unknowns per grid node? This again
would depend on equations and hence the matrix. If there is a good linear
solver available (e.g. like for Poisson equation or elasticity), I would say
minutes or less.
> - The linear elastic examples show a problem with a specified
> displacement. How do I specify an input force? The piezo essentially
> provides a tensile force along the surface.
Like in [2], i.e., use dw_surface_ltr term on the appropriate boundary.
> - Is there a way to specify the problem and solve in cylindrical
> coordinates? This is the natural coordinate system.
Not per se, but it would IMHO be quite easy to add special terms for this.
> - How do I specify 6-DOF constraints which correspond to the mirror
> mounts?
Please clarify here a bit - what are exactly the DOFs you need to specify? In
general, one specifies any DOFs using the ebcs keyword - look at any example.
Thanks for your interest, I would like to see some nice SfePy applications
outside of my workplace.
Cheers,
r.
[1] http://docs.sfepy.org/doc-devel/examples/piezo_elasticity/piezo.html
[2]
http://docs.sfepy.org/doc-devel/examples/linear_elasticity/linear_elastic_tractions.html