Skip to content
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

Multi-material solid mechanics #1249

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

btalamini
Copy link
Collaborator

@btalamini btalamini commented Oct 19, 2024

Enable solid mechanics to work with materials defined on different domains. Includes materials with internal state variables.

For now, I added this without breaking changes. This means I overloaded the setMaterial several times and left in place the old ones that do not take a domain. Eventually, I'd prefer the domain to be required. We can map this out later.

@btalamini btalamini changed the title TMulti-material solid mechanics Multi-material solid mechanics Oct 19, 2024
{
int Q = order + 1;

std::array<uint32_t, mfem::Geometry::NUM_GEOMETRIES> elems = geometry_counts(domain);
Copy link
Member

Choose a reason for hiding this comment

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

There is only two lines different in this vs the mesh_tag newQuadratureDataBuffer function. Can you reduce the duplication between them?


auto& pmesh = serac::StateManager::setMesh(std::move(mesh), mesh_tag);

// _solver_params_start
Copy link
Member

Choose a reason for hiding this comment

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

These tags are used in the sphinx documentation and are not needed here. Looking at the code these tags have bled into other files and should only be in serac/physics/tests/solid.cpp.


#include "serac/physics/solid_mechanics.hpp"

#include "axom/slic/core/SimpleLogger.hpp"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
#include "axom/slic/core/SimpleLogger.hpp"

This isn't needed due to using the serac::initiliaze call which uses the Serac SLIC logger.

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.

2 participants