In examples/large_deformation/hyperelastic.py a rotation by displacements is applied. By using a similar function the vectors defining the force couples could be defined for dw_surface_ltr (IMHO). Does it make sense?
r.
----- Reply message -----
From: "Andre Smit" <freev...(a)gmail.com>
To: <sfepy...(a)googlegroups.com>
Subject: Torque
Date: Sat, Dec 18, 2010 05:10
What is the best way to apply a torque load to a model?
--
Andre
--
You received this message because you are subscribed to the Google Groups "sfepy-devel" group.
To post to this group, send email to sfepy...(a)googlegroups.com.
To unsubscribe from this group, send email to sfepy-devel...(a)googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sfepy-devel?hl=en.
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.
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...
- Is SfePy appropriate for this problem?
- 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?
- 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.
- Is there a way to specify the problem and solve in cylindrical
coordinates? This is the natural coordinate system.
- How do I specify 6-DOF constraints which correspond to the mirror
mounts?
Thanks in advance for any help!
Tom Aldcroft
I want to write a paper themed on, doing simulation using scripting
language with legacy code. As a civil engineer (structural), i find the
tensile strength of concrete test presented in sfepy primer quite suitable
to use in my writing. will this cause any copyright problem???
And secondly, can anybody detail the process of wrapping python around C in
sfepy?? just to make sure my understanding is right.
Thanks!
Hello,
Can SfePy Documentations (./doc/sfepy.pdf) be made in html format so that
it can be easily browse-able offline? I tried to download the
http://sfepy.org/doc-devel/index.html site but errors ensued.
Thanks.
Hello again,
I am performing elasticity simulations with boundary forces. I can tell
sfepy is capable of this, and starting with the linear_elasticity.py
example has already provided a close approximation of what I need, but I
am not clear on a couple of things.
My main two related questions right now are:
1. Can sfepy apply forces to boundaries instead of to volumes
(effectively a von Neumann boundary condition)? What is the prescribed
way to do this? I did notice that there is a surface term similar to the
volume term, but I was not sure how to use it...
2. Also, what exactly are the "regions" in sfepy? Are they collections
of individual mesh elements? If so, is there any way of specifying
borders instead? Also, is there a good way way to visualize regions
and/or get at the raw data that makes them up? (I am having trouble
getting just the)
Thanks,
-David
BTW, I was not as familiar with quadrature, so I made a small visualizer
for the different quadrature tables (I know the formatting will probably
get eaten, but you should still get the idea):
import numpy as np
import matplotlib.pyplot as plt
from mayavi import mlab
import sfepy.fem
quadType='3_8'
order=5
qp=sfepy.fem.quadratures.quadrature_tables[quadType][order]
c=qp.coors
w=qp.weights
print c
print w
plt.cla()
mlab.clf()
if quadType=='1_2':
plt.plot(qp.bounds,[0,0])
for i in range(len(c)):
plt.plot(c[i],0,'k.',ms=w[i]*100)
elif quadType=='2_3':
plt.plot([0,1,0,0],[0,0,1,0])
for i in range(len(c)):
plt.plot(c[i][0],c[i][1],'k.',ms=w[i]*100)
elif quadType=='2_4':
plt.plot([0,1,1,0,0],[0,0,1,1,0])
for i in range(len(c)):
plt.plot(c[i][0],c[i][1],'k.',ms=w[i]*100)
elif quadType=='3_4':
mlab.plot3d([0,0,0], [1,0,0], [0,0,1], color=(0,0,1),tube_radius=0.025)
mlab.plot3d([0,1,0,0,1], [0,0,1,0,0], [0,0,0,1,0], color=(0,0,1),
tube_radius=0.025)
for i in range(len(c)):
#plt.plot(c[i][0],c[i][1],'k.',ms=w[i]*100)
print [c[i][0]],[c[i][1]],[c[i][2]],w[i]
mlab.points3d([c[i][0]],[c[i][1]],[c[i][2]],[w[i]],color=(1,1,1),scale_factor=2)
elif quadType=='3_8':
pts = [[i,j,k] for i in [0,1] for j in [0,1] for k in [0,1]]
lines = [[i,j] for i in pts for j in pts if
(pts.index(i)<pts.index(j) and sum(abs(np.array(i)-j))==1)]
for l in lines:
l=np.transpose(l)
mlab.plot3d(l[0], l[1], l[2], color=(0,0,1),tube_radius=0.025)
for i in range(len(c)):
#plt.plot(c[i][0],c[i][1],'k.',ms=w[i]*100)
print [c[i][0]],[c[i][1]],[c[i][2]],w[i]
mlab.points3d([c[i][0]],[c[i][1]],[c[i][2]],[w[i]],color=(1,1,1),scale_factor=2)