-
Notifications
You must be signed in to change notification settings - Fork 245
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
[GeoMechanicsApplication] Add support for non-uniform line loads #11658
Conversation
- Store the variable names associated with the columns of a table. - Time dependencies are still handled in the same way as before. However, we now also have the option to model a dependency on the X coordinate. The former is updated for each solution step, whereas the latter is evaluated just once before the solution loop. - Removed the explicitly defined copy assignment operator and copy constructor of class `Table` since it was identical to what the compiler would generate. Also use compiler-generated default constructors and destructors. - Replaced some explicit type names by `auto`. - Several minor layout improvements.
The test carries out two checks: 1. Whether the sum of the vertical reaction forces equals the total vertical load due to the non-uniform line load. 2. Whether the applied vertical line load per top node matches our expectations (it mimics the load imposed by an embankment). Furthermore, helper function `get_nodal_variable` now accepts an optional list of node IDs, to only retrieve the solution step values for those nodes. By default, it returns the values of all nodes in the model part of the first output process, just like it used to be.
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.
Looks like a clean local change with a clear test!
I have some suggestions/questions, mainly to clarify the test a bit more, non of which are really blocking.
applications/GeoMechanicsApplication/custom_processes/apply_component_table_process.hpp
Show resolved
Hide resolved
- The applied non-uniform line load has been given a small offset to make the model asymmetric. The expected applied line load values have been updated accordingly. - Added a `README` file that gives a brief description of the new test. It also shows how the total vertical load has been calculated.
applications/GeoMechanicsApplication/tests/line_load_tests/non-uniform_line_load/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_processes/apply_component_table_process.hpp
Show resolved
Hide resolved
- Explained in somewhat more detail in the `README` file how to calculate the total applied load. - Throw an exception when an unknown table variable is supplied to `ApplyComponentTableProcess::ExecuteInitialize`. - Removed a redundant blank line from the `README` file (found by Codacy). - Added a missing code language flag ('text') to the `README` file (found by Codacy).
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.
Looks good to me!
📝 Description
This PR adds support for applying non-uniform line loads. It does so by attaching a table to a uniform line load, where the table defines the relationship between a set of X coordinates and the corresponding "pressure" values. The pressures applied to nodes will be linearly interpolated (and/or linearly extrapolated, if needed) using this table.