-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Time varying boundary conditions needed in transient algorithms #1766
Comments
We need to discuss the best way to do this. The first option I think of is passing a pandas dataframe with each row being a pore and each column being the time step, with the entry in the array being the value to apply:
This is a bit of a pain to program though, especially if there are a lot of pores and changes. For instance, how would you do sinusoidal BCs with this? Another option might be to use pore-scale models, and assign them like source terms to certain pores (i.e. the boundary pores). The models could be things like sinusoids or heavyside functions. Clearly we should look into other packages for how they do it. Incidentally, this is actually possible with openpnm at present by just running the alg until t_final (i.e. 5 seconds), then setting t_initial to t_final, setting an new t_final (i.e 200 seconds), and putting the current solution (i.e. pore.concentration) as the initial conditions. |
At present you can do this:
One option is to add a
The |
This may also be possible using the planned |
@ma-sadeghi, is this issue still valid? I seem to remember you saying that the new transient solver approach made this feature unnecessary. Can you comment on this, or close? |
I've created a prototype of the callback mechanism in PR #2254. Time-varying BCs can be applied using callbacks. In the same PR, you can find an example of setting time-dependent Dirichlet BC. Probably we need some nice wrappers, like |
No description provided.
The text was updated successfully, but these errors were encountered: