user-defined functions reimplemented
by Robert Cimrman

Hi,
addressing the issues 36 and 93, see [1], I have created an experimental
branch at [2].
The purpose of those changes is:
- to unify passing extra arguments to boundary condition, material, and
region functions
- to unify/improve handling of material parameters in terms
There is now a new input file keyword for registering the functions:
functions = {
<function_name> : (<function instance>,),
...
}
All functions have the same first two arguments:
ts : the time-stepping information
coor : the coordinates to evaluate the function in
Then, depending on the function type (region selection, material
parameters, boundary condition values, ...) there are additional keyword
arguments. For examples, see tests/test_functions.py and the input files
in input/ (find them with "git grep 'functions ='").
The most important change in the functions branch is the following: all
the material parameters (e.g. the elastic constants passed to the linear
elastic term, the permeability passed to the diffusion term, ...) are
evaluated directly in the quadrature points of the physical domain - the
evaluation function gets a bunch of quadrature points, and returns its
values in those points - that's all sweet and simple. Thus all terms
should accept material parameters given by a general function of time
and space.
Not all the terms are updated to this new approach, only those that are
covered by the tests - all tests pass. The examples in the 'examples'
directory work too.
What to do next:
- all terms should be used in some test - more tests are needed.
- it would be great if you try the branch [2] and report any problems
here or at [1].
cheers,
r.
[1] http://code.google.com/p/sfepy/issues/list
[2] http://github.com/rc/sfepy/tree/functions
9 years, 8 months

visualization updates
by Robert Cimrman

Hi,
the latest git version of sfepy has two new features related to
visualization of results:
- postproc.py can now create animations, see 'postproc.py -h'. You need
ffmpeg to try it out, otherwise just a series of figures is generated
- there is a very simple GUI based on traits and mayavi (sfepy_gui.py) -
Enthought Tool Suite is needed [1]. On gentoo, it is the dev-python/ets
ebuild.
r.
[1] http://code.enthought.com/
9 years, 8 months

Stepping in frequency rather than time
by Logan Sorenson

Hi,
I have been familiarizing myself with sfepy for the last week or so.
So far, I like what I see! :)
My question is regarding the time stepping solver. I would like to
step through the frequency domain instead of in time. My naive
understanding is to convert time derivatives to i*omega by assuming
the solution has the form exp(i*omega*t). I believe this is what is
done in input/piezo.py, where the mass term is multiplied by
omega_squared.
So based off that assumption, I added the time stepping solver to
input/piezo.py as shown in input/time_poisson.py. Then I tried a
couple ways to get the omega_squared value to depend on ts.time. The
current way I'm trying is to multiply the 'density' parameter by
ts.time**2 (assuming ts.time actually represents the frequency) in the
get_inclusion_pars function, and removed completely the omega_squared
string substitution in the equation definition (please see the
attached file). This seems to work ok, but I'm not sure this is the
best way to include the frequency in the equation definition. I.e.,
it's not very explicit. Is there a better way to do this? Also, is
using the time stepping solver in this manner okay, or is there
something I'm ignoring like the result becoming incorrect because it
depends on the previously "frequency"?
Thanks very much!
Best regards,
Logan
9 years, 8 months

[Fwd: git book]
by Robert Cimrman

FYI: Ondrej found a nice book about git.
r.
-------- Original Message --------
Subject: git book
Date: Thu, 30 Jul 2009 11:57:16 -0600
Hi,
I found another git book today:
http://progit.org/book/
I think it's pretty good. As an example, stuff like rewriting history
-- e.g. when you need to address reviewer comments to fix your
patches, just follow the howto here:
http://progit.org/book/ch6-4.html
Ondrej
9 years, 8 months