Skip to content

[Enhancement] Add axisymmetric compatibility to log-conform-viscoelastic-3D #11

@VatsalSy

Description

@VatsalSy

Overview

Currently, the code lacks axisymmetric (axi) compatibility. While this has been marked as non-critical and non-urgent in the codebase, documenting the required changes and considerations could be valuable for future reference or if implementation becomes necessary.

Current Status

  • Code explicitly prevents axi usage with an error message
  • Alternative implementations are available in:
    • log-conform-viscoelastic-scalar-2D.h (scalar formulation)
    • log-conform-viscoelastic.h (more efficient implementation)

Required Changes

1. Tensor Compatibility

  • Enforce tensor compatibility throughout the codebase
  • Implement consistent usage of foreach_dimensions for tensor operations
  • Review and update tensor calculations for axi compatibility

2. Metric Terms Implementation

  • Review current usage of metric terms (cm and fm)
  • Implement missing metric terms where needed
  • Ensure proper scaling in cylindrical coordinates

3. Code Structure

  • Update error handling to support axi mode
  • Add conditional compilation for axi-specific code
  • Update documentation to reflect axi compatibility

Technical Considerations

  • Impact on performance when using metric terms
  • Compatibility with existing 3D implementations
  • Potential conflicts with current tensor calculations
  • Testing requirements for axi mode

Notes

  • This enhancement is marked as non-critical and non-urgent
  • Current workaround: Use alternative implementations mentioned above
  • Implementation should maintain code readability

Labels

  • enhancement
  • documentation
  • help wanted
  • good first issue

Related Files

  • log-conform-viscoelastic-3D.h
  • log-conform-viscoelastic-scalar-2D.h
  • log-conform-viscoelastic.h

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions