Time dependant boundary conditions
Hello, I am using SfePy and I would like to know if there is a way to get the time of simulation to have a time dependant boundary condition (if the time of simulation is stocked in a variable for instance).
I saw that we could manually specify when to change the boundary conditions at a specific time, I think i's possible to do something like that, but it would be really more convenient for me directly to get the time variable if it exists, but I couldn't find it on the examples.
Can I find this variable somewhere?
Thank you very much!
Marco
Hi Marco,
On 07/29/2014 02:06 PM, Marco Russo wrote:
Hello, I am using SfePy and I would like to know if there is a way to get the time of simulation to have a time dependant boundary condition (if the time of simulation is stocked in a variable for instance).
I saw that we could manually specify when to change the boundary conditions at a specific time, I think i's possible to do something like that, but it would be really more convenient for me directly to get the time variable if it exists, but I couldn't find it on the examples.
You are talking about the example [1], right? That can be used when you need to change not only the values of boundary conditions but also the region, where they are applied, or switch them on/off completely in different times. Btw. in that example, the condition 't_t4' is governed by a function, and ts contains all the time stepping data you need - it is a TimeStepper instance.
If you just need to have time dependent values of BCs, define the BCs by a function, as in [2] - the condition 'r' uses a function rotate_yz() to set u.1 and u.2 depending on the time step.
BTW:
print ts TimeStepper dt: 0.1 format: %2d of %2d is_quasistatic: False n_digit: 2 n_step: 11 nt: 0.0 step: 0 suffix: %02d t0: 0 t1: 1 time: 0.0 times: (11,) array of float64
Does that help? r.
[1] http://sfepy.org/doc-devel/examples/diffusion/laplace_time_ebcs.html [2] http://sfepy.org/doc-devel/examples/large_deformation/hyperelastic.html
Now it works, thank you! :)
Le mardi 29 juillet 2014 14:19:50 UTC+2, Robert Cimrman a écrit :
Hi Marco,
On 07/29/2014 02:06 PM, Marco Russo wrote:
Hello, I am using SfePy and I would like to know if there is a way to get the time of simulation to have a time dependant boundary condition (if the time of simulation is stocked in a variable for instance).
I saw that we could manually specify when to change the boundary conditions at a specific time, I think i's possible to do something like that, but it would be really more convenient for me directly to get the time variable if it exists, but I couldn't find it on the examples.
You are talking about the example [1], right? That can be used when you need to change not only the values of boundary conditions but also the region, where they are applied, or switch them on/off completely in different times. Btw. in that example, the condition 't_t4' is governed by a function, and ts contains all the time stepping data you need - it is a TimeStepper instance.
If you just need to have time dependent values of BCs, define the BCs by a function, as in [2] - the condition 'r' uses a function rotate_yz() to set u.1 and u.2 depending on the time step.
BTW:
print ts TimeStepper dt: 0.1 format: %2d of %2d is_quasistatic: False n_digit: 2 n_step: 11 nt: 0.0 step: 0 suffix: %02d t0: 0 t1: 1 time: 0.0 times: (11,) array of float64
Does that help? r.
[1] http://sfepy.org/doc-devel/examples/diffusion/laplace_time_ebcs.html [2] http://sfepy.org/doc-devel/examples/large_deformation/hyperelastic.html
Hi Robert, Exactly, I was talking about this example.
Thank you very much for your answer. I think I might be able to do something now...
Best, Marco
Le mardi 29 juillet 2014 14:06:05 UTC+2, Marco Russo a écrit :
Hello, I am using SfePy and I would like to know if there is a way to get the time of simulation to have a time dependant boundary condition (if the time of simulation is stocked in a variable for instance).
I saw that we could manually specify when to change the boundary conditions at a specific time, I think i's possible to do something like that, but it would be really more convenient for me directly to get the time variable if it exists, but I couldn't find it on the examples.
Can I find this variable somewhere?
Thank you very much!
Marco
participants (2)
-
Marco Russo
-
Robert Cimrman