Commit 4204cc1b authored by laura.pfeiffer's avatar laura.pfeiffer
Browse files

Merge remote-tracking branch 'origin/feature' into convergenceTestsMonodomain

parents 4b035a64 93466898
......@@ -43,6 +43,7 @@ test cardmech 1/2:
image: ${MPP_REGISTRY}/${MPP_REGISTRY_REPO_DEV}/${IMAGE_NAME_CARDMECH}
script:
- cd /mpp/build
- ./cardmech/test/cellmodels/TestElphyModels
- ./cardmech/test/elasticity/TestMaterial
dependencies: [ "build cardmech" ]
tags: [ docker ]
......
......@@ -6,10 +6,12 @@
# = =
# =================================================================
ElphyModelClass = MElphyModel
#ElphyModelName = TenTusscher
ElphyModelName = BeelerReuter
#CellModelName = FitzHughNagumo
#CellModelScheme=LinearImplicit
#CellModelScheme=ExplicitEuler
#CellModelScheme=RungeKutta2
CellModelScheme = ExponentialIntegrator
ThresholdVForActivation=-40.0
......@@ -54,4 +56,8 @@ ElphyFile = ../lib/LibCellModel/data/CellModel/TenTusscher2_original_Mid_ss.ev;
ElphyModelTypeAtria= CourtemancheEtAl;
#ElphyFileAtria = ../lib/LibCellModel/data/CellModel/TenTusscher2_Benchmark.ev;
ElphyFileAtria = ../lib/LibCellModel/data/CellModel/CourtemancheEtAl.ev;
ElphyFileAtria = ../lib/LibCellModel/data/CellModel/CourtemancheEtAl_remodLoewe.ev;
\ No newline at end of file
ElphyFileAtria = ../lib/LibCellModel/data/CellModel/CourtemancheEtAl_remodLoewe.ev;
RossiViscosity = 11.0
RossiForce = 6.0
......@@ -2,12 +2,23 @@ Model = Coupled
#CoupledModel = TensionCellmodels
CoupledModel = Segregated
CoupledProblem = Default
CoupledProblem = ActiveHeart
CoupledProblem = ConstantPressure
#CoupledProblem = ContractingBeam
CoupledProblem = TractionVentricle
CoupledProblem = CirculatoryVentricle
#CoupledProblem = ContractingVentricle
#CoupledProblem = LeftVentricle
CoupledProblem = FullEllipsoid
ElphyModelName = BeelerReuter
TensionModelName = Rossi
#Mesh = LeftVentricle
Mesh = KovachevaHeart
Mesh = ContractionVentricle
Mesh=TractionVentricle
#Mesh = BenchmarkBeam3DTet
Mesh = FullEllipsoid
#Mesh = KovachevaHeart
Mesh = RossiBlockSmall3DTet
#Mesh = IntVal
......@@ -21,8 +32,10 @@ Mesh = RossiBlockSmall3DTet
Mesh = FullHeart
#Mesh = FineHeart
ElphyLevel = 0
ElphyLevel = 1
MechLevel = 0
MechPolynomialDegree = 1
ElphyPolynomialDegree = 1
######################
# Time #
......@@ -30,11 +43,11 @@ MechLevel = 0
StartTime = 0.0
#EndTime=0.00001
EndTime = 0.4
EndTime = 0.8
#EndTime = 0.02
MechDeltaTime = 0.001
ElphyDeltaTime = 0.00001
MechDeltaTime = 0.004
ElphyDeltaTime = 0.0001
DeltaTime = 0.00001
DeltaTimeMin = 0.00001
......@@ -43,13 +56,6 @@ DeltaTimeMax = 0.001
######################
# Plotting #
######################
MechPlot = 1
PlotVertexPotential = 1
#PlotCellPotential = 1
# vtk Dateien werden erstellt
PlotVTK = 1
PlottingSteps = 1
#######################
......
......@@ -8,7 +8,8 @@ Model = ActiveStrainElasticity
#MechModel = Static
MechModel = Dynamic
MechDiscretization = Conforming
MechDiscretization = DG
#MechDiscretization = DG
MechDiscretization = EG
#MechModel = Mixed
CalculateReference = 0
......@@ -20,18 +21,23 @@ FixedElasticityStart = 0.15
FixedElasticityEnd = 0.4
FixedElasticityScale = -0.18
MechProblem = StretchBlock
MechProblem = FullEllipsoid
MechProblem=ConstantPressure
#MechProblem = LeftVentricle
MechProblem = TractionVentricle
MechProblem = ContractingVentricle
#MechProblem = StretchBlock
MechProblem = CardiacBeam
#MechProblem = FullEllipsoid
#MechProblem = Laplace
#MechProblem = SimplePrestress
#MechProblem = Klotz
MechProblem = ConstantPressure
#MechProblem = ConstantPressure
#MechProblem = VolumeBlockX
#MechProblem = Constant
MechProblem = Constant
#MechProblem = TShape
#MechProblem = LShape
#MechProblem = DirichletBeam
#MechProblem = ElasticityUpBeam
MechProblem = ElasticityUpBeam
#MechProblem = ElasticityDownBeam
#MechProblem = ElasticityPullBeam
#MechProblem = ElasticityPushBlock
......@@ -57,7 +63,7 @@ MechLevel = 0
MechPolynomialDegree = 1
WithPrestress=false
PrestressSteps=5
PrestressSteps=20
#ActiveMaterial = Linear
#LinearMat_Lambda = 1
......@@ -66,6 +72,9 @@ PrestressSteps=5
######################
# Meshes #
######################
Mesh=ContractionVentricle
#Mesh = UnitBlock3DTet
Mesh = BenchmarkBeam3DTet
#Mesh = BenchmarkBeam3DQuad
#Mesh = BenchmarkBeam3DTet
##Mesh = OrientedEllipsoid
......@@ -92,11 +101,12 @@ Mesh = LeftVentricle
#Mesh = DualSDHeart
#Mesh = FullHeart
MechMeshPart = with_vessels
MechMeshPart = vessel_base
StartTime = 0.0
EndTime = 0.4
DeltaTime = 0.005
DeltaTime = 0.001
DeltaTimeMin = 0.0001
DeltaTimeMax = 0.001
......@@ -118,16 +128,20 @@ MechSubsteps = 1
#MechScaling = 0.228
MechScaling = 0.115
TractionK = 0.1
TractionC = 1e-3
#------------------------
# Newmark Parameters
#------------------------
NewmarkBeta = 0.25
NewmarkGamma = 0.5
NewmarkBeta = 0.3
NewmarkGamma = 0.6
#------------------------
# Stretch Parameters
#------------------------
StretchFactorSheet = 1.0
StretchFactorSheet = 4.0
StretchFactorNormal = 4.0
......@@ -141,12 +155,12 @@ StretchFactorNormal = 4.0
#ActiveMaterial = Ogden
#ActiveMaterial = Linear
#ActiveMaterial = Bonet
ActiveMaterial = Bonet
ActiveMaterial = Holzapfel
#Density = 1
Density = 0.001
#Density = 1.082
#Density = 0.0
Density = 0.001082
Density = 1.082
#Density = 0.000001082
#------------------------
......@@ -154,22 +168,23 @@ Density = 0.001
# Incompressible should be true or false
# Penalty Types: None, Ciarlet, Mixed
#------------------------
VolumetricSplit = 1
VolumetricSplit = 0
Incompressible = false
QuasiCompressiblePenalty = Ciarlet
VolumetricPenalty = 20
PermeabilityPenalty = 20
VolumetricPenalty = 2
PermeabilityPenalty = 2
#------------------------
# Linear Material
#------------------------
LinearMat_Lambda = 40
LinearMat_Mu = 20
LinearMat_Lambda = 0.6
LinearMat_Mu = 0.3
#------------------------
# NeoHooke Material
#------------------------
NeoHooke_Lambda = 10
NeoHooke_Mu = 50
NeoHooke_Mu = 10
#------------------------
# MooneyRivlin Material
......@@ -188,23 +203,18 @@ StVenantMat_Mu = 8000
# Guccione Material
#------------------------
# Benchmark Parameter
GuccioneMat_C=2
GuccioneMat_bf=8
GuccioneMat_bs=2
GuccioneMat_bfs=4
# Benchmark Parameter
GuccioneMat_C=10
GuccioneMat_bf=1
GuccioneMat_bs=1
GuccioneMat_bfs=1
# Kovacheva Heart Parameter
GuccioneMat_C=0.1565
GuccioneMat_bf=17.7
GuccioneMat_bs=7.1
GuccioneMat_bfs=12.4
# Benchmark Parameter
GuccioneMat_C=2000
GuccioneMat_bf=80
GuccioneMat_bs=20
GuccioneMat_bfs=40
# Kovacheva Ventricle Parameter
GuccioneMat_C=0.313
GuccioneMat_bf=17.8
GuccioneMat_bs=7.1
GuccioneMat_bfs=12.4
# IBT Parameter
#GuccioneMat_C = 15.65
......@@ -236,37 +246,55 @@ mr_01 = 0
#b_s=0
#b_fs=0
# Values from Rossi et al (2012).
HolzapfelMat_a = 0.496
HolzapfelMat_af = 15.193
HolzapfelMat_as = 3.283
HolzapfelMat_afs = 0.662
#HolzapfelMat_a = 0.496
#HolzapfelMat_af = 15.193
#HolzapfelMat_as = 3.283
HolzapfelMat_a = 0.0166
HolzapfelMat_af = 0.331
HolzapfelMat_as = 0.03283
HolzapfelMat_afs = 0#0.662
HolzapfelMat_b = 20.417
HolzapfelMat_bf = 11.176
HolzapfelMat_bs = 7.209
HolzapfelMat_bfs = 9.466
# Values fromPfaller et al.
HolzapfelMat_a = 0.059
HolzapfelMat_af = 18.472
HolzapfelMat_as = 2.481
HolzapfelMat_afs = 0#0.216
HolzapfelMat_b = 8.023
HolzapfelMat_bf = 16.026
HolzapfelMat_bs = 11.120
HolzapfelMat_bfs = 11.436
# Values Holzapfel et al.(2009)
HolzapfelMat_a = 0.057
HolzapfelMat_af = 21.503
HolzapfelMat_as = 6.841
HolzapfelMat_afs = 0.0
HolzapfelMat_b = 8.094
HolzapfelMat_bf = 15.819
HolzapfelMat_bs = 6.959
HolzapfelMat_bfs = 1.0
# Values for Benchmark
#HolzapfelMat_a = 0.5
#HolzapfelMat_af = 10
#HolzapfelMat_as = 1
#HolzapfelMat_afs = 0.5
#HolzapfelMat_b = 10
#HolzapfelMat_bf = 15
#HolzapfelMat_bs = 10
#HolzapfelMat_bfs = 10
# Values from Garcia-Blanco, Ortigosa, Gil et al.
HolzapfelMat_a = 10
HolzapfelMat_af = 300
HolzapfelMat_as = 80
HolzapfelMat_afs = 15
HolzapfelMat_b = 1
HolzapfelMat_bf = 1
HolzapfelMat_bs = 1
HolzapfelMat_bfs = 1
# Values from Garcia-Blanco, Ortigosa, Gil et al.
HolzapfelMat_a = 496
HolzapfelMat_af = 15196
HolzapfelMat_as = 3283
HolzapfelMat_afs = 662
HolzapfelMat_b = 7.209
HolzapfelMat_bf = 20.417
HolzapfelMat_bs = 11.176
HolzapfelMat_bfs = 9.466
......@@ -275,16 +303,16 @@ HolzapfelMat_bfs = 9.466
# Pressure Parameters#
######################
ConstantPressure = 0
LVPressure = 0
LVPressure = 0#.666611842 # 5mmHg
RVPressure = 0
LAPressure = 0
LAPressure = 0#.004
RAPressure = 0
######################
# Plotting #
######################
PlottingSteps = 1
PlottingSteps = -1
......
# = Removes all files in the data folder upon start ======
ClearData = true
# ========================================================
# = Location of .geo files ===============================
GeoPath = ../geo/
# ========================================================
h0=1e-4
h_min=1e-6
Model = Coupled
#CoupledModel = TensionCellmodels
CoupledModel = Segregated
CoupledProblem = ActiveHeart
ElphyModelName = BeelerReuter
TensionModelName = Rossi
Mesh = KovachevaHeart
ElphyLevel = 1
ElphyPolynomialDegree = 1
MechLevel = 0
MechPolynomialDegree = 1
######################
# Time #
######################
StartTime = 0.0
EndTime = 0.02
MechDeltaTime = 0.01
ElphyDeltaTime = 0.0005
######################
# Plotting #
######################
PlottingSteps = 1
#######################
# Coupled Data #
#######################
ClearDistribution = 0
ReassembleRHSonce = 0
EulerReassemble = 0
#######################
# Mech Data #
#######################
MechDiscretization = Conforming
MechMeshPart = vessel_base
#------------------------
# Newmark Parameters
#------------------------
NewmarkBeta = 0.3
NewmarkGamma = 0.6
#------------------------
# Stretch Parameters
#------------------------
StretchFactorSheet = 4.0
StretchFactorNormal = 4.0
######################
# Material Parameters#
######################
#ActiveMaterial = NeoHooke
#ActiveMaterial = MooneyRivlin
#ActiveMaterial = StVenantKirchhoff
#ActiveMaterial = Ogden
#ActiveMaterial = Linear
ActiveMaterial = Bonet
ActiveMaterial = Holzapfel
Density = 0.001082
#------------------------
# Volumetric Penalty
# Incompressible should be true or false
# Penalty Types: None, Ciarlet, Mixed
#------------------------
VolumetricSplit = 0
Incompressible = false
QuasiCompressiblePenalty = Ciarlet
VolumetricPenalty = 2
PermeabilityPenalty = 2
#------------------------
# Linear Material
#------------------------
LinearMat_Lambda = 0.6
LinearMat_Mu = 0.3
#------------------------
# Guccione Material
#------------------------
# Kovacheva Parameter Heart
GuccioneMat_C=0.156.5
GuccioneMat_bf=17.7
GuccioneMat_bs=7.1
GuccioneMat_bfs=12.4
# Kovacheva Parameter Ventricle
GuccioneMat_C=0.313
GuccioneMat_bf=17.8
GuccioneMat_bs=7.1
GuccioneMat_bfs=12.4
# Adapted parameters.
HolzapfelMat_a = 0.0166
HolzapfelMat_af = 0.331
HolzapfelMat_as = 0.03283
HolzapfelMat_afs = 0#0.662
HolzapfelMat_b = 20.417
HolzapfelMat_bf = 11.176
HolzapfelMat_bs = 7.209
HolzapfelMat_bfs = 9.466
######################
# Pressure Parameters#
######################
ConstantPressure = 0
ElphyModel = LinearImplicit
ElphySplittingMethod = Strang
OrderStaggeredScheme=wVc
#Iext splitted in PDE =1, Iext in ODE =0
IextInPDE=1
#Glaettung von Anregung in Zeit: Stepfunction,Arctan,Tanh
ExternalCurrentSmoothingInTime = Arctan;
#Glättung Anregung im Raum: discrete, linear
ExternalCurrentSmoothingInSpace =linear;
######################
# Elphy Parameters #
#####################
ElphySubsteps = 1
ElphyMeshPart = fourchamber;
# Monodomain Parameters
SurfaceToVolumeRatio= 140;#1/mm
MembraneCapacitance=0.01;#muF/mm^2
IntraLongitudinal = 0.170;
ExtraLongitudinal = 0.620;
IntraTransversal = 0.019;
ExtraTransversal = 0.240;
CrankNicolsonTheta = 0.5
# Gerade nicht implementiert:
#can be set to ExplicitEuler, AdamsBashforth (second order)
#NumericalMethodForElphy=AdamsBashforth;
ElphyIntegrator=ExplicitEuler;
ElphyModelClass = MElphyModel
ElphyModelName = BeelerReuter
TensionModelName = Rossi
CellModelScheme=RungeKutta2
CellModelScheme = ExponentialIntegrator
RossiViscosity = 16.0
RossiForce = 6.0
ConfigVerbose = 1
MeshVerbose = 2
AssembleVerbose = 2
# = Solver Verbose =
MultigridVerbose = 0
BaseSolverVerbose = -1
LinearVerbose = -5
NewtonVerbose = 1
EulerVerbose = 0
LinearImplicitVerbose = -5
MonodomainVerbose =-1
NonLinearVerbose = -5
ElphySolverVerbose = -1
MechVerbose = -1
ElphyLinearSolverVerbose =-1
PressureSolverVerbose = -3
DynamicSolverVerbose = -3
CoupledSolverVerbose = 5
CellModelVerbose =-5
# = Main Verbose =
ElphyVerbose = 1
MainMechVerbose = 2
# = Plot Verbose =
ElphySolverVTK = -1
PressureSolverVTK = -1
DynamicSolverVTK = 1
CoupledSolverVTK = 1
PrestressPlotVerbose = -1
PressurePlotVerbose = -1
DynamicPlotVerbose = -1
PlotVTK = 1
EulerReAssemble = 0;
SetSolution = 0;
# === Linear Solver === #
LinearSolver = gmres;
LinearEpsilon = 1e-8;
LinearReduction = 1e-8;
LinearReduction = 1e-11;
LinearSteps = 10000;
BasePreconditioner = GaussSeidel;
Preconditioner = GaussSeidel;
Preconditioner = LIB_PS;
# =================================================================
# === Gating Solver ===============================================
GatingSolver = gmres;
GatingPreconditioner = GaussSeidel;
GatingEpsilon = 1e-8;
GatingReduction = 1e-12;
# === Elphy Solver ================================================
ElphySolver = gmres
#ElphyPreconditioner =GaussSeidel# WICHTIG: Mit SuperLU funktioniert die Parallelisierung nicht richtig!;
ElphyPreconditioner LIB_PS
ElphyEpsilon = 1e-8
ElphyReduction = 1e-12
# === Stretch Solver ==============================================
StretchSolver = gmres
StretchPreconditioner = GaussSeidel
StretchEpsilon = 1e-8
StretchReduction = 1e-12
# === Mechanics Solver ============================================
MechSolver = gmres
MechPreconditioner = GaussSeidel
MechEpsilon = 1e-8
MechReduction = 1e-12
MechSteps = 20000
# === Newton Method === #
NewtonEpsilon = 1e-4
NewtonReduction = 1e-12
NewtonSteps = 300
NewtonLineSearchSteps = 10
NewtonLinearizationReduction = 1e-12
#NewtonJacobiUpdate = 8
#NewtonDamping = 0.75