Skip to content

Extend CANN implementation for additional invariants, fiber recruitment and dispersion #560

@msbazzi

Description

@msbazzi

Problem

The original CANN implementation in svMultiPhysics supports a useful legacy <Add_row> table format, but it is missing several terms needed for newer vein/soft-tissue material models. In particular, it currently has limited support for additional directional invariants, fiber dispersion, and fiber recruitment.

This limits the ability to represent anisotropic vessel wall mechanics where fiber families may have dispersed orientations and may gradually recruit over a slack-stretch distribution rather than engaging all at once.

Solution

Extend the existing CANN implementation while preserving the legacy <Add_row> XML format.

The feature should add support for:

  • Additional invariant rows, including directional strain terms such as Etheta and Ez
  • The second fiber family invariant, e.g. I4_D2, through the existing invariant table
  • Optional GOH-style fiber dispersion on fiber rows
  • Optional fiber recruitment parameters for row-local recruited fiber response

Example direction for dispersion:

<Add_row row_name="hgo_D1">
<Invariant_num> 4 </Invariant_num>
<Activation_functions> (1, 2, 2) </Activation_functions>
(1.0, 1.0, 2.5e3)
0.0231
</Add_row>

Example direction for dispersion:

<Add_row row_name="recruited_D1">
<Invariant_num> 4 </Invariant_num>
<Activation_functions> (1, 2, 2) </Activation_functions>
(1.0, 1.0, 2.5e3)
0.0231

lognormal
<Lambda_lb> 1.28 </Lambda_lb>
<Lambda_ub> 1.75 </Lambda_ub>

</Add_row>

Additional context

This is motivated by fitted vein mechanics models that include anisotropic fiber families, GOH-style dispersion, and recruitment-weighted fiber activation.

For validation, the implementation should include parser tests and material-model tests checking stress and tangent consistency. It would also be useful to compare CANN rows against hardcoded HGO behavior for aligned and dispersed cases.

I am currently implementing this in my branch cann_vein_mechanics

Code of Conduct

  • I agree to follow this project's Code of Conduct and Contributing Guidelines

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions