Skip to content

Different material models for ChamberSphere - #243

Open
KatrinKoesler wants to merge 38 commits into
SimVascular:masterfrom
KatrinKoesler:material_choice
Open

Different material models for ChamberSphere#243
KatrinKoesler wants to merge 38 commits into
SimVascular:masterfrom
KatrinKoesler:material_choice

Conversation

@KatrinKoesler

Copy link
Copy Markdown
Collaborator

Different material models for ChamberSphere

Current situation

As highlighted in #240 currently the ChamberSphere has a Mooney-Rivlin material model and to change to a new material model, a new ChamberSphere would have to be implemented.

Release Notes

  • Added SphereMaterial file where the stress response of the material taking into account the material model is calculated and then fed into ChamberSphere
  • Added an exponential material model to SphereMaterial that is inspired by the Holzpfel-Ogden model for cardiac tissue but reformulated for a 0D sphere
  • Added a test case with a closed loop circulation for ChamberSphere with the exponential material model

Testing

All tests pass

Code of Conduct & Contributing Guidelines

…ged files to add this new block type to be used in a circuit model
…n the maximum number of iterations is reached
…based on max./min. volume and max. pressure in pv loop from Sharifi et al. 2024
…erial coice in input file. Changed ChamberSphere to accomodate different materials. Changed other files to include the new ChamberSphere and SphereMaterial structure. Changed input files to use the materials.
…al parameters now. All tests pass now, but not yet included test cases for closed loop and simple expmat test case
@KatrinKoesler
KatrinKoesler requested a review from mrp089 August 11, 2026 13:07

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mrp089 mrp089 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, @KatrinKoesler! A view details on splitting up passive+visco and smaller readability things.

"C1": 0.11,
"C2": 1.9e3,
"C3": 0.11,
"eta": 250.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

use different sets of C0/C1 and C2/C3 for testing

*
* Implements:
* \f[
* f = 4(1 - C^{-3})(W_1 + C W_2) + \eta \dot{C}(1 + 2 C^{-6})

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should the viscosity be separate from this? Technically, all passive materials can be combined with a viscous contribution. Since we only have one viscous model, the parameter eta could go into the sphere itself, and the viscous stress is additive to all passive materials.

};

/**
* @brief Mooney–Rivlin (neo-Hookean) material

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The (neo-Hookean) parantheses can be misleading

Comment thread src/model/ChamberSphere.h
* * `steepness` - Activation steepness parameter \f$\gamma\f$
*
* ### Usage in json configuration file
* ### Usage in json configuration file (with example material)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Remove all material models from ChamberSphere and use only the stress S. Reference SphereMaterial.

const double C3 = params_.at("C3");
const double eta = params_.at("eta");

SphericalStressResult res;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Simplify the equations for readability? Some terms can be pre-computed

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