SimVascular / SimVascular/svOneDSolver

Boundary Conditions (outlets) to Reimplement and Test

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

Nobody has claimed this yet.

enhancement testing
Dominant language
C++
Stars
22
Forks
27
PR merge metrics
No merged PRs in 30d

Description

These outlet boundary conditions were originally available with the code, but they have not been tested so they were removed from the codebase. They could be reintegrated into the code but would need to be tested. After verifying the formulation gives correct results, Travis test cases would need to generated for the future.

Code re-integration: see commit 1e299f1 for the last instance with the following boundary conditions included. Note that code snippets will need to be copied from this commit and reintegrated manually, as there has been significant restructuring to the codebase that prevents a merge commit.

Regarding Travis: Run automatic test cases and compare them to analytical or numerical solutions (on Travis). Create a minimal test case for each feature of the solver and compare it to a previously computed solution. Whenever possible, use analytical solutions as a comparison.
Please modify the following lists accordingly:

  • add missing features
  • strikethrough removed features
  • check tested features
Reimplemented into code:
  • AREA. Change in the cross sectional area.
  • FLOW. Time-varying outlet flow rate.
  • RESISTANCE_TIME. Time-varying resistance in model units.
  • PRESSURE_WAVE
  • WAVE
  • LPN
  • IMPEDANCE. Impedance boundary condition.
  • ADMITTANCE. Admittance boundary condition.
  • PULMONARY. Boundary condition using pulmonary morphometry.
  • CLOSED LOOP (see issues #11 #12 #13).

Some of these require the following datatables, which also need to be tested:

  • IMPEDANCE.
  • RCRIMPEDANCE.
  • MORPHIMPEDANCE.
  • ADMITTANCE.
  • RCRADMITTANCE.
  • MORPHADMITTANCE.
Analytical/numerical solution generated:
  • AREA. Change in the cross sectional area.
  • FLOW. Time-varying outlet flow rate.
  • RESISTANCE_TIME. Time-varying resistance in model units.
  • PRESSURE_WAVE
  • WAVE
  • LPN
  • IMPEDANCE. Impedance boundary condition.
  • ADMITTANCE. Admittance boundary condition.
  • PULMONARY. Boundary condition using pulmonary morphometry.
  • CLOSED LOOP (see issues #11 #12 #13).

Datatables:

  • IMPEDANCE.
  • RCRIMPEDANCE.
  • MORPHIMPEDANCE.
  • ADMITTANCE.
  • RCRADMITTANCE.
  • MORPHADMITTANCE.
Travis test case(s) added:
  • AREA. Change in the cross sectional area.
  • FLOW. Time-varying outlet flow rate.
  • RESISTANCE_TIME. Time-varying resistance in model units.
  • PRESSURE_WAVE
  • WAVE
  • LPN
  • IMPEDANCE. Impedance boundary condition.
  • ADMITTANCE. Admittance boundary condition.
  • PULMONARY. Boundary condition using pulmonary morphometry.
  • CLOSED LOOP (see issues #11 #12 #13).

Datatables:

  • IMPEDANCE.
  • RCRIMPEDANCE.
  • MORPHIMPEDANCE.
  • ADMITTANCE.
  • RCRADMITTANCE.
  • MORPHADMITTANCE.

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 by inspecting commit 1e299f1 and the current code structure to identify how the listed outlet boundary conditions were previously implemented. Reintegrate and verify each applicable formulation against analytical or numerical solutions, then add the corresponding Travis test cases and datatables; done means the relevant checklist entries are tested and documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.