-
Notifications
You must be signed in to change notification settings - Fork 239
Mechanics Process #1340
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
Mechanics Process #1340
Conversation
4k lines of changes. Can't you split that into smaller pieces? 😄 |
@chleh Down to |
The error was, as it is common, between the chair and the keyboard... |
@@ -186,6 +187,33 @@ void ProjectData::buildProcesses() | |||
*_mesh_vec[0], *nl_slv, std::move(time_disc), | |||
std::move(conv_crit), _process_variables, _parameters, pc)); | |||
} | |||
else if (type == "SMALL_DEFORMATION") | |||
{ | |||
switch (pc.getConfigParameter<int>("dimension")) |
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.
isn't it possible to guess the dimension from a mesh?
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.
In general all possibilities can occur, like 2D displacement in 3D, or 2D movement of line elements, but the non-matching dimensions needs special models.
For now, indeed the displacement and the mesh dimensions are equal.
@nagelt Can you comment on whether we need that flexibility?
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.
My current understanding is that we would only need that for structural elements (plates, shells, membranes, etc.). These elements require special element formulations resting on physical input, i.e. postulated deformation modes, that would have to be implemented separately. As we're dealing only with 3D continuum and 2D plane strain continuum elements in formulations, where the deformation takes place only in the mesh domain (e.g. in-plane), I'd say that indeed we can derive the dimension from the mesh. So it can be reduced. If somebody wants to implement specific element formulations for other cases later on, then is the time to do the leg work.
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 think, under the mentioned cases, we only need dimension of element and the dimension of space (plates, shells, etc,), which are already kept in mesh object.
Maybe it would be good to postpone the discussions about "extended" material models to end of this year, when HM, HT and density driven flow processes are ready and we see more of the overall picture? |
ERR( | ||
"SMALL_DEFORMATION process does not support " | ||
"given dimension"); | ||
std::abort(); |
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.
OGS_FATAL.
Mostly minor things from my side. Afterwards 👍. |
{ | ||
} | ||
|
||
double lambda(double const t, X const& x) const |
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.
does it make sense to pass time? i can't imagine a case lambda needs this.
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.
This just the interface of Parameter class. Would be writing 0 instead of time otherwise, but that is even more questionable.
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.
Document it as 'Lame parameter', or change the function name to lame_parameter.
I'll try to remove the DisplacementDim in another PR, otherwise it'll take even more time. If there are no more review comments coming, I will merge this tomorrow. |
#ifndef MATERIALLIB_SOLIDMODELS_CREATELINEARELASTICISOTROPIC_H_ | ||
#define MATERIALLIB_SOLIDMODELS_CREATELINEARELASTICISOTROPIC_H_ | ||
|
||
#include "ProcessLib/Utils/ProcessUtils.h" // required for findParameter |
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.
the circular dependency still exists here.
👍 from my side |
Especially point out the difference between the KelvinVector/MatrixType from ProcessLib.
OpenGeoSys development has been moved to GitLab. |
... including linear and Burger's materials.
Todo:
SolidsBase