-
Notifications
You must be signed in to change notification settings - Fork 17
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
refactoring BCs #253
base: main
Are you sure you want to change the base?
refactoring BCs #253
Conversation
geometry: x_plane | ||
direction: x_dir | ||
value: 0.0 | ||
u: 0.0 | ||
v: 0.0 | ||
w: 1.0 | ||
type: reflected_velocity | ||
velocity_model: reflected_velocity |
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 this should stay type, or we need to make it just model, or just "reflected" for the velocity. Currently, its overprescribed.
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 BC's follow the material definitions in the input. We apply many models to a BC. This allows us to specify many types of models -- thermal, mechanical, etc on a BC. Multi-physics solvers, e.g., thermal-mechanical solvers, will have temperature and displacement conditions on the same boundary. The new input and coding in Fierro supports BC's for multi-physics solvers.
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.
example:
- boundary_condition:
solver_id: 0
geometry: x_plane
direction: x_dir
value: 0.0
displacement_model: fixed_displacement
temperature_model: fixed_temperature
#.... more inputs parameters here ....
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.
It may be less development overhead later to have it work as a vector with
-model1: reflected velocity
-model2: fixed temperature
BTW, the way this works in the MPI solver now is that each FEA module lists its respective BCs. The difficulty there as mentioned is assigning them to the same node sets if we're overloading the same plane for example, but in theory that could be done by allowing references to previously declared geometry objects in previous BCs. Just something to think about.
EDIT: we could also automate checking that the supplied geometry parameters are identical to those in a previous module's BCS; which would be a cheap startup cost given the relatively small module count and geometry parameter set.
single-node-refactor/src/Solvers/SGH_solver_3D/include/sgh_solver_3D.h
Outdated
Show resolved
Hide resolved
single-node-refactor/src/Solvers/SGH_solver_3D/src/boundary.cpp
Outdated
Show resolved
Hide resolved
single-node-refactor/src/Solvers/SGH_solver_rz/include/sgh_solver_rz.h
Outdated
Show resolved
Hide resolved
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.
Minor tweaks to function interfaces, and moving of solver_id to parent class.
…ly accessed it in member fcns
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.
LGTM. Thanks!
… reflected vel be arbitrary direction
Description
The BCs are now assigned to a solver. An array stores the boundary tag sets for a given physics and solver for maximum efficiency. No if checks required.
Type of change
Please select all relevant options
How Has This Been Tested?
Test Configuration:
Checklist: