8000 Mechanics Process by endJunction · Pull Request #1340 · ufz/ogs · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

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

Merged
merged 7 commits into from
Sep 7, 2016
Merged

Mechanics Process #1340

merged 7 commits into from
Sep 7, 2016

Conversation

endJunction
Copy link
Member
@endJunction endJunction commented Aug 8, 2016

... including linear and Burger's materials.

Todo:

  • Resolve circular deps SolidModels <-> ProcessLib; There is header file dependency because in SolidModels the ProcessLib::Parameters are requiered and the SolidModels are required by the Process itself. There are several ideas how to resolve this type of issues. To be discussed ASAP.
  • Documentation of benchmarks
  • Code documentation, especially:
    • Interface of the SolidsBase
  • Update Traction and Displacement BCs (use Neumann and Dirichlet instead)
  • Fix compilation issues.
  • MathLib unit tests.
  • Resolve Eigen/MSVC compilation issue.

@chleh
Copy link
Collaborator
chleh commented Aug 8, 2016

4k lines of changes. Can't you split that into smaller pieces? 😄

@endJunction
Copy link
Member Author
endJunction commented Aug 8, 2016

@chleh Down to 3k and will be less with new bcs 2.8k 2.3k 1.5k 1.4k I might be splitting the MathLib/KelvinVector things while preparing this to its final glance.

@endJunction
Copy link
Member Author
endJunction commented Aug 10, 2016

FYI
There is a problem with the combination of VisualStudio12 2013 ( compiler identification is MSVC 18.0.31101.0) and Eigen-3.2.5 resulting in compilation error:
...

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"))
Copy link
Collaborator

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?

Copy link
Member Author

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?

Copy link
Member
@nagelt nagelt Aug 31, 2016

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.

Copy link
Member

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.

@chleh
Copy link
Collaborator
chleh commented Aug 31, 2016

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();
Copy link
Collaborator

Choose a reason for hiding this comment

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

OGS_FATAL.

@chleh
Copy link
Collaborator
chleh commented Aug 31, 2016

Mostly minor things from my side. Afterwards 👍.

{
}

double lambda(double const t, X const& x) const
Copy link
Collaborator

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.

Copy link
Member Author

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.

Copy link
Member

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.

@endJunction
Copy link
Member Author

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
Copy link
Collaborator

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.

@norihiro-w
Copy link
Collaborator

👍 from my side

@endJunction endJunction merged commit 3e2c000 into ufz:master Sep 7, 2016
@endJunction endJunction deleted the M5 branch September 7, 2016 16:15
@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
0