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
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 ? Is the problem linear?
- If a specify a grid with about 800 x 400 points
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
displacement. How do I specify an input force? The piezo essentially
provides a tensile force along the surface.
Like in , i.e., use dw_surface_ltr term on the appropriate boundary.
- Is there a way to specify the problem and solve in
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
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.