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
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!