Skip to content
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 dependent Dirichlet and Neumann BCs #1380

Merged
merged 13 commits into from
Sep 14, 2016

Conversation

chleh
Copy link
Collaborator

@chleh chleh commented Aug 29, 2016

Time dependence is implemented using curves, i.e. f(t, x) := c(t) * p(x), where c is a curve and p is a parameter.
The Parameter interface has been extended s.t. parameters now can tell if they are time dependent.

@ogsbot
Copy link
Member

ogsbot commented Aug 29, 2016

Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/2748/

@ogsbot
Copy link
Member

ogsbot commented Aug 30, 2016

Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/2764/

initializeDirichletBCs(_boundary_conditions, _dirichlet_bcs);
// for each BC there will be storage for Dirichlet BC, which by default is
// empty and has to be filled by the respective BC object if needed.
_dirichlet_bcs.resize(_boundary_conditions.size());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I misunderstand the comment, but resize sets the _dirichlet_bcs size, so !_dirichlet_bcs.empty()

Copy link
Collaborator Author

@chleh chleh Aug 31, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each BC can be Dirichlet (or "essential") or natural, or in the future maybe even both, so each of the BCs need some storage for it. As you wrote, this implies that _dirichlet_bcs is not empty. However, the memory overhead for that should be rather small, because only some empty std::vectors are created.

@endJunction
Copy link
Member

I've rebase it and included the mechanics and the thermal conductivity processes.

@TomFischer
Copy link
Member

👍

// convert mesh node ids to global index for the given component
bc_values.ids.reserve(bc_values.ids.size() + _mesh_node_ids.size());
bc_values.values.reserve(bc_values.values.size() + _mesh_node_ids.size());
for (auto id : _mesh_node_ids)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const auto id?

Copy link
Member

@endJunction endJunction left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing new PR review feature of github.

@ogsbot
Copy link
Member

ogsbot commented Sep 14, 2016

Jenkins: OGS-6/Gui/Gui-Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Gui/job/Gui-Linux-PRs/2824/

Copy link
Member

@endJunction endJunction left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's interesting feature.

@endJunction endJunction merged commit 0785930 into ufz:master Sep 14, 2016
@endJunction endJunction deleted the time-dep-dirichlet branch September 14, 2016 23:07
@ogsbot
Copy link
Member

ogsbot commented Jun 19, 2020

OpenGeoSys development has been moved to GitLab.

See this pull request on GitLab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants