SimVascular / SimVascular/svMultiPhysics

Divergence is large for some cases.

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

Nobody has claimed this yet.

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

Description

Description

Divergence for some cases is very large. Below are some examples. Are these values expected?

svMultiPhysics/tests/cases/fluid/driven_cavity_2d/4-procs/result_002.vtu
Max divergence: 12.956504
Min divergence: -13.007613
Max abs divergence: 13.007613
Max div/ max velocity: 13.007613
Max div/ rms velocity: 45.285841

svMultiPhysics/tests/cases/fluid/iliac_artery/4-procs/result_001.vtu
Max divergence: 170.804886
Min divergence: -186.915328
Max abs divergence: 186.915328
Max div/ max velocity: 1.005068
Max div/ rms velocity: 3.929889

svMultiPhysics/tests/cases/fluid/pipe_RCR_3d/4-procs/result_002.vtu
Max divergence: 0.157034
Min divergence: -0.152281
Max abs divergence: 0.157034
Max div/ max velocity: 0.710727
Max div/ rms velocity: 2.042542

Reproduction

Run fluid test cases. Define the filepath for the case results and run the following code to extract divergence and quantities reported above:

mesh = pv.read(filepath)

print('Max divergence: %f' % (np.max(mesh['Divergence'])))
print('Min divergence: %f' % (np.min(mesh['Divergence'])))
div_max = np.max(np.abs(mesh['Divergence']))
print('Max abs divergence: %f' % (div_max))

magU = np.sqrt(np.sum(mesh['Velocity']**2,axis=1))
print('Max div/ max velocity: %f' % (div_max/np.max(magU)))

magU_rms = np.sqrt(np.mean(magU**2))
print('Max div/ rms velocity: %f' % (div_max/magU_rms))
Expected behavior

Divergence should be close to zero, probably smaller than 1e-1.

Additional context

This is a follow up on #455.

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

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 fluid test cases and the result files listed in the issue, then run the provided Python/pyvista extraction against those outputs. Compare the divergence values with the expected behavior and review follow-up issue #455 for context. Done means determining whether the values are expected and, if not, identifying the required correction.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
hpc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.