new interactive example with time stepping
Hi,
I have just updated the time stepping solvers in sfepy for interactive use, as demonstrated in the new example [1]. For basic use, ignore the probing code - the time stepper can be used as simply as:
tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, problem=problem) tss.init_time() for step, time, state in tss(): pass
r.
[1] http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
Hi,
I tried to use this approach ([1]) to solve a diffusion problem with a field-dependent material as in [2], but I got: ValueError: material data not set! (call time_update())
By adding some print-calls to the material-defining function, I found out that the function gets called, but with mode='special' instead of 'qp'. As a result None is returned instead of the values that correspond to the initial conditions.
My question(s):
- Is the SimpleTimeSteppingSolver usable for such problem? Is there an example?
- Should I use/implement a different time-stepper?
Thanks, Jan
[2] http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi...
On Wednesday, 18 March 2015 13:10:50 UTC+1, Robert Cimrman wrote:
Hi,
I have just updated the time stepping solvers in sfepy for interactive use, as demonstrated in the new example [1]. For basic use, ignore the probing code - the time stepper can be used as simply as:
tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, problem=problem) tss.init_time() for step, time, state in tss(): pass
r.
[1] http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
Update: There was a mistake in naming the materials. With things corrected, however, the problem remains. I attach the file (oxygen_diffusion.py). Running it results in ValueError: data of variable are not set! (q, step 0)
When the material parameters are set to constants, the computation runs.
The same happens when using the config-file with ts
time-stepper, e.g.
changing [2] to time-dependent problem (time_field_dependent.py).
J.
On Monday, 6 March 2017 15:01:05 UTC+1, Jan Heczko wrote:
Hi,
I tried to use this approach ([1]) to solve a diffusion problem with a field-dependent material as in [2], but I got: ValueError: material data not set! (call time_update())
By adding some print-calls to the material-defining function, I found out that the function gets called, but with mode='special' instead of 'qp'. As a result None is returned instead of the values that correspond to the initial conditions.
My question(s):
- Is the SimpleTimeSteppingSolver usable for such problem? Is there an example?
- Should I use/implement a different time-stepper?
Thanks, Jan
[2] http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi...
On Wednesday, 18 March 2015 13:10:50 UTC+1, Robert Cimrman wrote:
Hi,
I have just updated the time stepping solvers in sfepy for interactive use, as demonstrated in the new example [1]. For basic use, ignore the probing code - the time stepper can be used as simply as:
tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, problem=problem) tss.init_time() for step, time, state in tss(): pass
r.
[1] http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
Hi Jan,
SimpleTimeSteppingSolver just calls Problem.solve(), so it should update the materials as usual (= also in QP). I will check it when I get to it.
r.
On 03/08/2017 03:59 PM, Jan Heczko wrote:
Update: There was a mistake in naming the materials. With things corrected, however, the problem remains. I attach the file (oxygen_diffusion.py). Running it results in ValueError: data of variable are not set! (q, step 0)
When the material parameters are set to constants, the computation runs. The same happens when using the config-file with
ts
time-stepper, e.g. changing [2] to time-dependent problem (time_field_dependent.py).J.
On Monday, 6 March 2017 15:01:05 UTC+1, Jan Heczko wrote:
Hi,
I tried to use this approach ([1]) to solve a diffusion problem with a field-dependent material as in [2], but I got: ValueError: material data not set! (call time_update())
By adding some print-calls to the material-defining function, I found out that the function gets called, but with mode='special' instead of 'qp'. As a result None is returned instead of the values that correspond to the initial conditions.
My question(s):
- Is the SimpleTimeSteppingSolver usable for such problem? Is there an example?
- Should I use/implement a different time-stepper?
Thanks, Jan
[2] http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi...
On Wednesday, 18 March 2015 13:10:50 UTC+1, Robert Cimrman wrote:
Hi,
I have just updated the time stepping solvers in sfepy for interactive use, as demonstrated in the new example [1]. For basic use, ignore the probing code - the time stepper can be used as simply as:
tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, problem=problem) tss.init_time() for step, time, state in tss(): pass
r.
[1] http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
Hi Jan,
the problem is, that the material update is called before the initial time step, and the initial conditions (i.e., the values of DOFs in variables) are not set yet. I will make a PR fixing that soon.
r.
On 03/12/2017 12:46 AM, Robert Cimrman wrote:
Hi Jan,
SimpleTimeSteppingSolver just calls Problem.solve(), so it should update the materials as usual (= also in QP). I will check it when I get to it.
r.
On 03/08/2017 03:59 PM, Jan Heczko wrote:
Update: There was a mistake in naming the materials. With things corrected, however, the problem remains. I attach the file (oxygen_diffusion.py). Running it results in ValueError: data of variable are not set! (q, step 0)
When the material parameters are set to constants, the computation runs. The same happens when using the config-file with
ts
time-stepper, e.g. changing [2] to time-dependent problem (time_field_dependent.py).J.
On Monday, 6 March 2017 15:01:05 UTC+1, Jan Heczko wrote:
Hi,
I tried to use this approach ([1]) to solve a diffusion problem with a field-dependent material as in [2], but I got: ValueError: material data not set! (call time_update())
By adding some print-calls to the material-defining function, I found out that the function gets called, but with mode='special' instead of 'qp'. As a result None is returned instead of the values that correspond to the initial conditions.
My question(s):
- Is the SimpleTimeSteppingSolver usable for such problem? Is there an example?
- Should I use/implement a different time-stepper?
Thanks, Jan
[2] http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi...
On Wednesday, 18 March 2015 13:10:50 UTC+1, Robert Cimrman wrote:
Hi,
I have just updated the time stepping solvers in sfepy for interactive use, as demonstrated in the new example [1]. For basic use, ignore the probing code - the time stepper can be used as simply as:
tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, problem=problem) tss.init_time() for step, time, state in tss(): pass
r.
[1] http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
Yes, that's probably the reason, why I added
if ts.step == 0:
state = problem.create_state()
state.apply_ic()
problem.equations.variables.set_data(state())
to get_reaction_coefs
. But even with that piece of code, the solution
fails in the second step. The error message says step 0
, but it is
actually the second time-step.
I was hoping to only get some clues to fix things myself, but you doing the work is ok as well :-) J.
On Monday, 13 March 2017 09:49:18 UTC+1, Robert Cimrman wrote:
Hi Jan,
the problem is, that the material update is called before the initial time step, and the initial conditions (i.e., the values of DOFs in variables) are not set yet. I will make a PR fixing that soon.
r.
Hi Jan,
SimpleTimeSteppingSolver just calls Problem.solve(), so it should update
materials as usual (= also in QP). I will check it when I get to it.
r.
On 03/08/2017 03:59 PM, Jan Heczko wrote:
Update: There was a mistake in naming the materials. With things corrected, however, the problem remains. I attach the file (oxygen_diffusion.py). Running it results in ValueError: data of variable are not set! (q, step 0)
When the material parameters are set to constants, the computation runs. The same happens when using the config-file with
ts
time-stepper, e.g. changing [2] to time-dependent problem (time_field_dependent.py).J.
On Monday, 6 March 2017 15:01:05 UTC+1, Jan Heczko wrote:
Hi,
I tried to use this approach ([1]) to solve a diffusion problem with a field-dependent material as in [2], but I got: ValueError: material data not set! (call time_update())
By adding some print-calls to the material-defining function, I found
out
that the function gets called, but with mode='special' instead of 'qp'. As a result None is returned instead of the values that correspond to
initial conditions.
My question(s):
- Is the SimpleTimeSteppingSolver usable for such problem? Is there an example?
- Should I use/implement a different time-stepper?
Thanks, Jan
[2]
http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi...
On Wednesday, 18 March 2015 13:10:50 UTC+1, Robert Cimrman wrote:
Hi,
I have just updated the time stepping solvers in sfepy for
interactive
use, as demonstrated in the new example [1]. For basic use, ignore the
On 03/12/2017 12:46 AM, Robert Cimrman wrote: the the probing
code - the time stepper can be used as simply as:
tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, problem=problem) tss.init_time() for step, time, state in tss(): pass
r.
[1]
http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
Try [1], please. The time_field_dependent.py example seems to be working. With oxygen_difusion.py I no longer get the exception, but NaNs are in the solution
- this might be unrelated to the issue, though.
r.
[1] https://github.com/sfepy/sfepy/pull/369
On 03/13/2017 11:23 AM, Jan Heczko wrote:
Yes, that's probably the reason, why I added if ts.step == 0: state = problem.create_state() state.apply_ic() problem.equations.variables.set_data(state()) to
get_reaction_coefs
. But even with that piece of code, the solution fails in the second step. The error message saysstep 0
, but it is actually the second time-step.I was hoping to only get some clues to fix things myself, but you doing the work is ok as well :-) J.
On Monday, 13 March 2017 09:49:18 UTC+1, Robert Cimrman wrote:
Hi Jan,
the problem is, that the material update is called before the initial time step, and the initial conditions (i.e., the values of DOFs in variables) are not set yet. I will make a PR fixing that soon.
r.
Hi Jan,
SimpleTimeSteppingSolver just calls Problem.solve(), so it should update
materials as usual (= also in QP). I will check it when I get to it.
r.
On 03/08/2017 03:59 PM, Jan Heczko wrote:
Update: There was a mistake in naming the materials. With things corrected, however, the problem remains. I attach the file (oxygen_diffusion.py). Running it results in ValueError: data of variable are not set! (q, step 0)
When the material parameters are set to constants, the computation runs. The same happens when using the config-file with
ts
time-stepper, e.g. changing [2] to time-dependent problem (time_field_dependent.py).J.
On Monday, 6 March 2017 15:01:05 UTC+1, Jan Heczko wrote:
Hi,
I tried to use this approach ([1]) to solve a diffusion problem with a field-dependent material as in [2], but I got: ValueError: material data not set! (call time_update())
By adding some print-calls to the material-defining function, I found
out
that the function gets called, but with mode='special' instead of 'qp'. As a result None is returned instead of the values that correspond to
initial conditions.
My question(s):
- Is the SimpleTimeSteppingSolver usable for such problem? Is there an example?
- Should I use/implement a different time-stepper?
Thanks, Jan
[2]
http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi...
On Wednesday, 18 March 2015 13:10:50 UTC+1, Robert Cimrman wrote:
Hi,
I have just updated the time stepping solvers in sfepy for
interactive
use, as demonstrated in the new example [1]. For basic use, ignore the
On 03/12/2017 12:46 AM, Robert Cimrman wrote: the the probing
code - the time stepper can be used as simply as:
tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, problem=problem) tss.init_time() for step, time, state in tss(): pass
r.
[1]
http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
Works for me. The NaNs are most probably a convergence-related issue, but that is what I actually wanted to work on. Thanks a lot for fixing the solver!
On Monday, 13 March 2017 11:26:20 UTC+1, Robert Cimrman wrote:
Try [1], please. The time_field_dependent.py example seems to be working. With oxygen_difusion.py I no longer get the exception, but NaNs are in the solution
- this might be unrelated to the issue, though.
r.
[1] https://github.com/sfepy/sfepy/pull/369
Yes, that's probably the reason, why I added if ts.step == 0: state = problem.create_state() state.apply_ic() problem.equations.variables.set_data(state()) to
get_reaction_coefs
. But even with that piece of code, the solution fails in the second step. The error message saysstep 0
, but it is actually the second time-step.I was hoping to only get some clues to fix things myself, but you doing
On 03/13/2017 11:23 AM, Jan Heczko wrote: the
work is ok as well :-) J.
On Monday, 13 March 2017 09:49:18 UTC+1, Robert Cimrman wrote:
Hi Jan,
the problem is, that the material update is called before the initial
time
step, and the initial conditions (i.e., the values of DOFs in variables) are not set yet. I will make a PR fixing that soon.
r.
Hi Jan,
SimpleTimeSteppingSolver just calls Problem.solve(), so it should update
materials as usual (= also in QP). I will check it when I get to it.
r.
On 03/08/2017 03:59 PM, Jan Heczko wrote:
Update: There was a mistake in naming the materials. With things corrected, however, the problem remains. I attach the file (oxygen_diffusion.py). Running it results in ValueError: data of variable are not set! (q, step 0)
When the material parameters are set to constants, the computation runs. The same happens when using the config-file with
ts
time-stepper, e.g. changing [2] to time-dependent problem (time_field_dependent.py).J.
On Monday, 6 March 2017 15:01:05 UTC+1, Jan Heczko wrote:
Hi,
I tried to use this approach ([1]) to solve a diffusion problem with
a
field-dependent material as in [2], but I got: ValueError: material data not set! (call time_update())
By adding some print-calls to the material-defining function, I found out that the function gets called, but with mode='special' instead of 'qp'. As a result None is returned instead of the values that correspond to
On 03/12/2017 12:46 AM, Robert Cimrman wrote: the the
initial conditions.
My question(s):
- Is the SimpleTimeSteppingSolver usable for such problem? Is there an example?
- Should I use/implement a different time-stepper?
Thanks, Jan
[2]
http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi...
On Wednesday, 18 March 2015 13:10:50 UTC+1, Robert Cimrman wrote: > > Hi, > > I have just updated the time stepping solvers in sfepy for
> use, as > demonstrated in the new example [1]. For basic use, ignore the
interactive probing
> code - > the time stepper can be used as simply as: > > tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, > problem=problem) > tss.init_time() > for step, time, state in tss(): > pass > > r. > > [1] >
http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
>
OK, I will merge the PR.
r.
On 03/13/2017 02:12 PM, Jan Heczko wrote:
Works for me. The NaNs are most probably a convergence-related issue, but that is what I actually wanted to work on. Thanks a lot for fixing the solver!
On Monday, 13 March 2017 11:26:20 UTC+1, Robert Cimrman wrote:
Try [1], please. The time_field_dependent.py example seems to be working. With oxygen_difusion.py I no longer get the exception, but NaNs are in the solution
- this might be unrelated to the issue, though.
r.
[1] https://github.com/sfepy/sfepy/pull/369
Yes, that's probably the reason, why I added if ts.step == 0: state = problem.create_state() state.apply_ic() problem.equations.variables.set_data(state()) to
get_reaction_coefs
. But even with that piece of code, the solution fails in the second step. The error message saysstep 0
, but it is actually the second time-step.I was hoping to only get some clues to fix things myself, but you doing
On 03/13/2017 11:23 AM, Jan Heczko wrote: the
work is ok as well :-) J.
On Monday, 13 March 2017 09:49:18 UTC+1, Robert Cimrman wrote:
Hi Jan,
the problem is, that the material update is called before the initial
time
step, and the initial conditions (i.e., the values of DOFs in variables) are not set yet. I will make a PR fixing that soon.
r.
Hi Jan,
SimpleTimeSteppingSolver just calls Problem.solve(), so it should update
materials as usual (= also in QP). I will check it when I get to it.
r.
On 03/08/2017 03:59 PM, Jan Heczko wrote:
Update: There was a mistake in naming the materials. With things corrected, however, the problem remains. I attach the file (oxygen_diffusion.py). Running it results in ValueError: data of variable are not set! (q, step 0)
When the material parameters are set to constants, the computation runs. The same happens when using the config-file with
ts
time-stepper, e.g. changing [2] to time-dependent problem (time_field_dependent.py).J.
On Monday, 6 March 2017 15:01:05 UTC+1, Jan Heczko wrote: > > Hi, > > I tried to use this approach ([1]) to solve a diffusion problem with a > field-dependent material as in [2], but I got: > ValueError: material data not set! (call time_update()) > > By adding some print-calls to the material-defining function, I found out > that the function gets called, but with mode='special' instead of 'qp'. > As a result None is returned instead of the values that correspond to
On 03/12/2017 12:46 AM, Robert Cimrman wrote: the the
> initial conditions. > > My question(s): > - Is the SimpleTimeSteppingSolver usable for such problem? Is there an > example? > - Should I use/implement a different time-stepper? > > Thanks, > Jan > > [2] >
http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi...
> > > On Wednesday, 18 March 2015 13:10:50 UTC+1, Robert Cimrman wrote: >> >> Hi, >> >> I have just updated the time stepping solvers in sfepy for interactive >> use, as >> demonstrated in the new example [1]. For basic use, ignore the probing >> code - >> the time stepper can be used as simply as: >> >> tss = SimpleTimeSteppingSolver({'t0' : 0.0, 't1' : 100.0, 'n_step' : 11}, >> problem=problem) >> tss.init_time() >> for step, time, state in tss(): >> pass >> >> r. >> >> [1] >>
http://sfepy.org/doc-devel/examples/diffusion/time_poisson_interactive.html
>> >
participants (2)
-
Jan Heczko
-
Robert Cimrman