SimVascular / SimVascular/svMultiPhysics

Meaning of the enum class OutputNameType

Open
#548 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

OOP Refactor
Dominant language
C++
Stars
45
Forks
60
Avg merge
5d 23h
Merged PRs (30d)
11

Description

Follow-up from a comment on #540:

https://github.com/SimVascular/svMultiPhysics/blob/c79af8598ee27c56291f25a86540a0645178c444/Code/Source/solver/consts.h#L319-L376

It seems to me that the enum class OutputNameType is actually representing two disjoint sets of non-interchangeable options. In other words, it seems to me that a value of the group outGrp_* would not be valid in a place where a value in the group out_* is expected, and vice versa. Is that correct?

If it is, do you think it would make sense to split this into two distinct enumerations (say, OutputGroup and OutputVariable)? Additionally, do the numeric values attributed to the members of this enumeration matter?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked discussion on pull request #540, then inspect the OutputNameType declaration in Code/Source/solver/consts.h at lines 319-376. Determine whether the outGrp_* and out_* members are used as separate sets and whether their numeric values are relied upon. Done means documenting the conclusion and, if a split is warranted, agreeing on the two enumeration boundaries and value compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
hpc
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.