Skip to content
Snippets Groups Projects

PARMG cleanup, write out deformationfunction to a file, Continue the trustregionsolver with a smaller trustregion radius in case of an exception

Closed lisa_julia.nebel_at_tu-dresden.de requested to merge (removed):master into master
1 unresolved thread
1 file
+ 44
23
Compare changes
  • Side-by-side
  • Inline
@@ -6,12 +6,16 @@ structuredGrid = true
@@ -6,12 +6,16 @@ structuredGrid = true
# bounding box
# bounding box
lower = 0 0 0
lower = 0 0 0
 
 
# whole experiment: 45 mm x 10 mm x 2 mm, scaling with 10^7 such that the thickness, which is around 100 nm, so 100x10^-9 = 10^-7 is equal to 1.
 
# upper = 45e4 10e4 2e4
 
# using only a section of the whole experiment as deformed grid to start with for dune-gfe: use much smaller dimensions!
upper = 200 100 200
upper = 200 100 200
elements = 10 5 5
elements = 10 5 5
# Number of grid levels: refinement levels of the surface shell part, refined using hierarchic refinement
# Number of grid levels: refinement levels of the surface shell part, refined using hierarchic refinement
numLevels = 2
numLevels = 1
#Overlap indicator for the grid when doing parallel calculations; when set to false, all communication will be done assuming there is no overlap when assembling the matrix and the rhs
#Overlap indicator for the grid when doing parallel calculations; when set to false, all communication will be done assuming there is no overlap when assembling the matrix and the rhs
overlap = false
overlap = false
@@ -63,33 +67,50 @@ baseTolerance = 1e-8
@@ -63,33 +67,50 @@ baseTolerance = 1e-8
# Material parameters
# Material parameters
############################
############################
energy = mooneyrivlin
energy = mooneyrivlin # stvenantkirchhoff, neohooke, hencky, exphencky or mooneyrivlin
## For the Wriggers L-shape example
[materialParameters]
[materialParameters]
# Lame parameters for stvenantkirchhoff
## Lame parameters for stvenantkirchhoff, E = mu(3*lambda + 2*mu)/(lambda + mu)
# corresponds to E = 71240 N/mm^2, nu=0.31
# mu = 2.7191e+4
# However, we use units N/m^2
# lambda = 4.4364e+4
mu = 2.7191e+4
lambda = 4.4364e+4
#mooneyrivlin_a = 2.7191e+6
#mooneyrivlin_b = 2.7191e+6
mooneyrivlin_a = 2.7191e+6
#mooneyrivlin_c = 2.7191e+6
mooneyrivlin_b = 2.7191e+6
mooneyrivlin_c = 2.7191e+6
#mooneyrivlin_10 = -7.28e+5 #182 20:1
mooneyrivlin_10 = -7.28e+4
#mooneyrivlin_01 = 9.17e+5
mooneyrivlin_01 = 9.17e+4
#mooneyrivlin_20 = 1.23e+5
mooneyrivlin_20 = 1.23e+4
#mooneyrivlin_02 = 8.15e+5
mooneyrivlin_02 = 8.15e+4
#mooneyrivlin_11 = -5.14e+5
mooneyrivlin_11 = -5.14e+4
 
#mooneyrivlin_10 = -3.01e+6 #182 2:1
 
#mooneyrivlin_01 = 3.36e+6
 
#mooneyrivlin_20 = 5.03e+6
 
#mooneyrivlin_02 = 13.1e+6
 
#mooneyrivlin_11 = -15.2e+6
 
 
mooneyrivlin_10 = -1.67e+6 #184 2:1
 
mooneyrivlin_01 = 1.94e+6
 
mooneyrivlin_20 = 2.42e+6
 
mooneyrivlin_02 = 6.52e+6
 
mooneyrivlin_11 = -7.34e+6
 
mooneyrivlin_30 = 0
mooneyrivlin_30 = 0
mooneyrivlin_21 = 0
mooneyrivlin_21 = 0
mooneyrivlin_12 = 0
mooneyrivlin_12 = 0
mooneyrivlin_03 = 0
mooneyrivlin_03 = 0
mooneyrivlin_k = 1e+5 # volume-preserving parameter
# volume-preserving parameter
 
mooneyrivlin_k = 57e+6 # 184 2:1, mooneyrivlin_k = 57e+6 and mooneyrivlin_energy = log, the neumannValues = 27e4 0 0 result in a stretch of 30% of 45e4 10e4 2e4 in x-direction, so a stretch of 45e4*0.3 = 13.5e4
 
mooneyrivlin_energy = log # log, square or ciarlet; different ways to compute the Mooney-Rivlin-Energy
mooneyrivlin_energy = log # log, square or ciarlet; different ways to compute the Mooney-Rivlin-Energy
 
# ciarlet: Fomula from "Ciarlet: Three-Dimensional Elasticity", here no penalty term is
 
# log: Generalized Rivlin model or polynomial hyperelastic model, using 0.5*mooneyrivlin_k*log(det(∇φ)) as the volume-preserving penalty term
 
# square: Generalized Rivlin model or polynomial hyperelastic model, using mooneyrivlin_k*(det(∇φ)-1)² as the volume-preserving penalty term
 
[]
[]
#############################################
#############################################
@@ -104,14 +125,14 @@ dirichletVerticesPredicate = "x[0] < 0.01"
@@ -104,14 +125,14 @@ dirichletVerticesPredicate = "x[0] < 0.01"
### Python predicate specifying all surface shell grid vertices
### Python predicate specifying all surface shell grid vertices
# x is the vertex coordinate
# x is the vertex coordinate
adaptiveRefinementPredicate = "x[2] > 199.99"
adaptiveRefinementPredicate = "x[0] < 0.01"
### Python predicate specifying all Neumann grid vertices
### Python predicate specifying all neumannValues grid vertices
# x is the vertex coordinate
# x is the vertex coordinate
neumannVerticesPredicate = "x[0] > 199.99"
neumannVerticesPredicate = "x[0] > 9.99"
### Neumann values, if needed
### Neumann values
neumannValues = 15e3 0 0
neumannValues = 27e4 0 0
# Initial deformation
# Initial deformation
initialDeformation = "x"
initialDeformation = "x"
Loading