Ring

Module: devtests.mechanics.ring.run

Section author: Gernot Plank <gernot.plank@medunigraz.at>,Christoph Augustin <christoph.augustin@medunigraz.at> andMatthias Gsell <matthias.gsell@medunigraz.at>

This example provides pure mechanics and electromechanics examples on a simple ring geometry.

Problem Setup

This problem generates a simple ring mesh using the carputils.mesh.Ring class. The ring is tesselated into tetrahedra as shown below:

../../_images/ring_mesh.png

In all experiment types in this example, the top and bottom surfaces of the ring are constrained to lie in the same plane with Dirichlet boundary conditions, and an additional three nodes on the bottom (z=0) surface are constrained such that free body rotation and translation is prevented. Two nodes on the x axis are prevented from moving in the y direction, and one node on the y axis is prevented from moving in the x direction:

../../_images/ring_rigid_bc.png

Experiments

Several experiments are defined:

  • active-free - Run an active contraction simulation without constraints on cavity size or pressure
  • active-iso - Run an active contraction simulation with an isovolumetric cavity constraint
  • active-pv-loop - Run an active contraction stimulation with pressure/flux constraints imposed by Windkessel or circulatory models coupled to both RV and LV cavity. In this case both left and right ventricular cavities are coupled to a 3-element Windkessel model

Tests

ring-pv-loop-wk-fast

Tags: FAST MECHANICS PARALLEL

Checks:

  • Compare against stored reference: max_error(cav.LV.csv)
  • Compare against stored reference: max_error(x.dynpt.gz)

Last run: 2023-12-05 01:31:53.428669, revision {‘base’: ‘f172baea’}, dependency revisions {PT_C: 31642c1e,cvsys: 69164767,eikonal: 5fbbfda3,elasticity: edfdcbb3}

Runtime: 0:00:45.201644
SIMULATION FAILED TO RUN
  DivertOutputError: Process exceeded max runtime of 45 seconds

Last passed: No passes found in history (earliest 2023-07-01 01:32:31.663686)

ring-pv-loop-wk-medium

Tags: MEDIUM MECHANICS PARALLEL

Checks:

  • Compare against stored reference: max_error(cav.LV.csv)
  • Compare against stored reference: max_error(x.dynpt.gz)

Last run: 2023-12-05 01:32:38.662284, revision {‘base’: ‘f172baea’}, dependency revisions {PT_C: 31642c1e,cvsys: 69164767,eikonal: 5fbbfda3,elasticity: edfdcbb3}

Runtime: 0:04:36.050327
SIMULATION FAILED TO RUN
  CalledProcessError: Command '/home/prassl/install/petsc-3.17.1/linux-gnu-fluid-opt/bin/mpiexec' returned non-zero exit status 1. (Operation not permitted)

Last passed: No passes found in history (earliest 2023-07-01 01:32:38.868990)

ring-pv-loop-CA-fast

Tags: FAST MECHANICS PARALLEL

Checks:

  • Compare against stored reference: max_error(cav.LV.csv)
  • Compare against stored reference: max_error(x.dynpt.gz)

Last run: 2023-12-05 01:37:14.746514, revision {‘base’: ‘f172baea’}, dependency revisions {PT_C: 31642c1e,cvsys: 69164767,eikonal: 5fbbfda3,elasticity: edfdcbb3}

Runtime: 0:00:29.226727
SIMULATION FAILED TO RUN
  CalledProcessError: Command '/home/prassl/install/petsc-3.17.1/linux-gnu-fluid-opt/bin/mpiexec' returned non-zero exit status 1. (Operation not permitted)

Last passed: No passes found in history (earliest 2023-07-01 01:35:17.698706)

ring-pv-loop-CA-coarse-mesh

Tags: MEDIUM MECHANICS PARALLEL

Checks:

  • Compare against stored reference: max_error(cav.LV.csv)
  • Compare against stored reference: max_error(x.dynpt.gz)

Last run: 2023-12-05 01:37:44.010404, revision {‘base’: ‘f172baea’}, dependency revisions {PT_C: 31642c1e,cvsys: 69164767,eikonal: 5fbbfda3,elasticity: edfdcbb3}

Runtime: 0:01:24.760893
**** ALL FAILED ****
  ERROR max_error(cav.LV.csv):
ValueError: operands could not be broadcast together with shapes (33220,) (25410,)
Backtrace:
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 175, in __call__
    return self.check(*args, **kwargs)
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 218, in check
    cost = self.cost(refdata.flatten(), testdata.flatten())
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/cost.py", line 36, in max_error
    return np.max(np.abs(array1 - array2))
  ERROR max_error(x.dynpt.gz):
ValueError: operands could not be broadcast together with shapes (102000,) (0,)
Backtrace:
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 175, in __call__
    return self.check(*args, **kwargs)
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 218, in check
    cost = self.cost(refdata.flatten(), testdata.flatten())
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/cost.py", line 36, in max_error
    return np.max(np.abs(array1 - array2))

Last passed: No passes found in history (earliest 2023-07-01 01:35:42.563080)

ring-pv-loop-CA-medium-mesh

Tags: MEDIUM MECHANICS PARALLEL

Checks:

  • Compare against stored reference: max_error(cav.LV.csv)
  • Compare against stored reference: max_error(x.dynpt.gz)

Last run: 2023-12-05 01:39:08.857175, revision {‘base’: ‘f172baea’}, dependency revisions {PT_C: 31642c1e,cvsys: 69164767,eikonal: 5fbbfda3,elasticity: edfdcbb3}

Runtime: 0:06:57.753139
**** ALL FAILED ****
  ERROR max_error(cav.LV.csv):
ValueError: operands could not be broadcast together with shapes (33220,) (25410,)
Backtrace:
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 175, in __call__
    return self.check(*args, **kwargs)
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 218, in check
    cost = self.cost(refdata.flatten(), testdata.flatten())
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/cost.py", line 36, in max_error
    return np.max(np.abs(array1 - array2))
  ERROR max_error(x.dynpt.gz):
ValueError: operands could not be broadcast together with shapes (575280,) (0,)
Backtrace:
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 175, in __call__
    return self.check(*args, **kwargs)
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 218, in check
    cost = self.cost(refdata.flatten(), testdata.flatten())
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/cost.py", line 36, in max_error
    return np.max(np.abs(array1 - array2))

Last passed: No passes found in history (earliest 2023-07-01 01:36:47.851435)

ring-active-inflate

Tags: FAST MECHANICS PARALLEL

Checks:

  • Compare against stored reference: max_error(cav.LV.csv)
  • Compare against stored reference: max_error(x.dynpt.gz)

Last run: 2023-12-05 01:46:06.717272, revision {‘base’: ‘f172baea’}, dependency revisions {PT_C: 31642c1e,cvsys: 69164767,eikonal: 5fbbfda3,elasticity: edfdcbb3}

Runtime: 0:00:03.485157
**** ALL FAILED ****
  FAIL max_error(cav.LV.csv): 6215.141
  ERROR max_error(x.dynpt.gz):
ValueError: operands could not be broadcast together with shapes (12600,) (42000,)
Backtrace:
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 175, in __call__
    return self.check(*args, **kwargs)
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 218, in check
    cost = self.cost(refdata.flatten(), testdata.flatten())
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/cost.py", line 36, in max_error
    return np.max(np.abs(array1 - array2))

Last passed: No passes found in history (earliest 2023-07-01 01:41:49.344070)

ring-active-fast

Tags: FAST MECHANICS PARALLEL

Checks:

  • Compare against stored reference: max_error(x.dynpt.gz)

Last run: 2023-12-05 01:46:10.241280, revision {‘base’: ‘f172baea’}, dependency revisions {PT_C: 31642c1e,cvsys: 69164767,eikonal: 5fbbfda3,elasticity: edfdcbb3}

Runtime: 0:00:02.424564
**** ALL FAILED ****
  ERROR max_error(x.dynpt.gz):
ValueError: operands could not be broadcast together with shapes (12600,) (60600,)
Backtrace:
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 175, in __call__
    return self.check(*args, **kwargs)
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 218, in check
    cost = self.cost(refdata.flatten(), testdata.flatten())
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/cost.py", line 36, in max_error
    return np.max(np.abs(array1 - array2))

Last passed: No passes found in history (earliest 2023-07-01 01:41:51.972473)

ring-active-medium

Tags: MEDIUM MECHANICS PARALLEL

Checks:

  • Compare against stored reference: max_error(x.dynpt.gz)

Last run: 2023-12-05 01:46:12.701223, revision {‘base’: ‘f172baea’}, dependency revisions {PT_C: 31642c1e,cvsys: 69164767,eikonal: 5fbbfda3,elasticity: edfdcbb3}

Runtime: 0:00:27.603634
**** ALL FAILED ****
  ERROR max_error(x.dynpt.gz):
ValueError: operands could not be broadcast together with shapes (206424,) (1018584,)
Backtrace:
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 175, in __call__
    return self.check(*args, **kwargs)
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/check.py", line 218, in check
    cost = self.cost(refdata.flatten(), testdata.flatten())
  File "/data/prassl_src/carpautotest/repos/carputils/carputils/testing/cost.py", line 36, in max_error
    return np.max(np.abs(array1 - array2))

Last passed: No passes found in history (earliest 2023-07-01 01:41:53.462787)