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 am currrently looking for FEM packages to help me solve a system of
beams and columns, basically a collection of 1D bernoulli/timoshenko
line elements.
I started reading SfePy docs and i am getting the idea that doing the
above is not really possible here, am i right?
Are only 2D area elements permitted in SfePy?
Or is there any direct support for solving 1D line elements too..
Cheers
Nimish

FYI: As SciPy 0.12.0 is out and one of the release highlights is "Support for
Python 2 and Python 3 from the same code base (no more 2to3)", we can think
seriously about updating SfePy in this respect as well, cf. [1].
r.
[1] https://github.com/sfepy/sfepy/issues/164

Hi again,
Further to my previous post on d_surface_flux, I thought I should be able
to evaluate the surface heat flux myself, by solving the problem
interactively and calculating the surface gradient myself. I use:
pb, state = solve_pde('flndrs2d.py')
t = state.get_parts()['t']
which returns temperatures. Now all I need are the corresponding
coordinates. So I try:
xy = pb.get_mesh_coors()
But of course the coordinates vector is longer than the temperature one, I
presume because the ebcs have resulted in removal of the corresponding
DOFs. Is there anyway I can either (a) restore the full temperature vector,
so I have temperatures at all the nodes, even the ones with ebcs applied,
or (b) get the coordinates for only those nodes which do not have ebcs
applied, i.e. coordinates that correspond to the temperatures returned by
state.get_parts()? I tried pb.remove_bcs(), but was unsure if that affects
anything other than the stiffness matrix. Again, any suggestions?
Many thanks,
- Phil

Hi,
I have another question relating to the thermal diffusion problem I am
working on. There is a background heat production distributed throughout
the volume, but the heat production for any given cell will depend on which
region the cell is in, where region is determined by cell group. I.e., all
cells of group 1 are defined to comprise region 1, and they have a heat
production that is different from that in region 2.
So far the examples I've seen have a load that depends only on coordinate.
Is there any example in which the load depends on the region?
Many thanks,
- Phil

Hello,
I'm still working on the same thermal diffusion problem I referred to in
the "thermal diffusion - Dirichlet vs. Neumann BCs" thread. The problem is
attached file "flndrs2d.py" and *appears* to give a reasonable solution,
but I still need to calculate heat flux out the top of the model. So,
following Robert's suggestion i added a post_process hook that evaluates
d_surface_flux:
def post_process(out, problem, state, extend=False):
"""
Calculate gradient of the solution.
"""
flux = problem.evaluate('d_surface_flux.2.Gamma_Top(coef.val, t)',
mode='eval', copy_materials=False, verbose=False)
print flux
When I call this using my rather complicated materials definition in the
attached file, d_surface flux fails with the following error:
File
"/Users/philcummins/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/sfepy/discrete/functions.py",
line 114, in get_constants
nqp = qps.shape[ig][1]
KeyError: 1
(after a lengthy traceback). If I change the materials definition to a very
simple one:
materials = {
'flux' : ({'val' : 0.03},),
'coef' : ({'val' : 1.0},),
}
Then d_surface_flux appears to evaluate OK, but it just returns a single
value of zero. (I am expecting a vector). I'm not sure what to try next,
any suggestions?
Many thanks
- Phil
P.S. I have also attached a coarsened mesh file, in case anyone wants to
try to run it. But you need to remove the "2km" in the name of the mesh
file in flndrs2d.py if you want it to work.

Dear SfePy users,
Is it possible to evaluate a solution not only in the FEM mesh node, but in
any arbitrary point in the domain with the given (x, y, z) coordinates?
For example, consider Dirichlet problem for Poisson equation. We apply
essential boundary conditions on the surface nodes and after the problem
has been solved we have the solution vector, i.e. vector of values in the
FEM mesh nodes. But I want to know the solution in point v(x, y, z) that is
not FEM mesh node. What is the best way to obtain solution in this point v?
Sincerely,
Alec Kalinin