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
Multicomponent ICs/BCs #1224
Multicomponent ICs/BCs #1224
Conversation
// an negative value of the vector size or the matrix dimension. | ||
// To assign the initial value for the ghost entries, the | ||
// negative indices of the ghost entries are restored to zero. | ||
// checked hereby. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrong indent, dont change comment
10074d6
to
d8214ec
Compare
dacf531
to
d5ecfae
Compare
Jenkins, test this please! I forgot to push Tests/Data. |
d5ecfae
to
2e007f9
Compare
Jenkins: OGS-6/Gui/Win-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Gui/job/Win-PRs/1861/ |
2e007f9
to
c3c82a1
Compare
{ | ||
config.checkConfParam("type", "Uniform"); | ||
|
||
auto value = config.getConfParam<double>("value"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not keep "value" as the option for single-component process variables and only use "values" for multi-component? ✅
@endJunction: I only found the change value → values in Tests/Data. Does the description text of this PR have to be updated? |
{ | ||
auto const c = global_component(variable_id, component_id); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rename to getGlobalComponent() ? ✅
👍 |
std::size_t global_component(int const variable_id, | ||
int const component_id) const | ||
{ | ||
return _variable_component_offsets[variable_id] + component_id; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two ways add components to global vectors, i.e. BY_COMPONENT, or BY_LOCATION. It sounds that this is only for BY_COMPONENT.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I probably do not understand you. The global_component() (or getGlobalComponent() now) is simply calculating the global_component_id which would be used to access the actual DOF table. Here nothing is added or modified.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. It gets component id.
6d7a88d
to
db11cdb
Compare
Jenkins: OGS-6/Linux-PRs-dynamic failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs-dynamic/240/ |
Jenkins: OGS-6/Linux-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs/2016/ |
Jenkins: OGS-6/Gui/Win-PRs failed: https://svn.ufz.de:8443/job/OGS-6/job/Gui/job/Win-PRs/1864/ |
e08a109
to
0804b7b
Compare
Had to rebase because of the merges. The only new thing is the small documentation attempt. |
Though it's not a point in this PR, why not add |
Regarding the |
3e641dd
to
71a8ee8
Compare
Sorry for the fifth rebase or so, but the ufz/master is changing fast in incompatible ways... The last commits address Norihiros comments. |
👍 |
1 similar comment
👍 |
71a8ee8
to
06fbd4f
Compare
Update the constructors, getGlobalIndex(), and meshGetSubsets() to include the variable_id. The global component offsets for each variable are stored in the _variable_component_offset.
Variable and component ids are ints.
When creating a new MeshProperty the number of components was not passed further.
Now implemented for UniformIC.
No need to pass the Node and then fetch its id.
If it is not available the default case is <values>.
OpenGeoSys development has been moved to GitLab. |
Introduce variable_id to get multivariable/multicomponent processes set up correctly with their ICs and BCs. Also see the Tests/Data, where
<component_value_0>
is used for example for the second component instead of<value>
. Other ideas to mark the components are welcome.The uniform initial conditions for multicomponent variable can be given in the form
for a three component variable.
Not implemented and explicitly marked as such is the reading of the multicomponent boundary conditions.