Select Git revision
Forked from
agnumpde / dune-elasticity
176 commits behind the upstream repository.
Oliver Sander authored
This code (with exceptions) really belongs into the dune-elasticity module. It was in dune-gfe only for historical reasons. This patch brings a driver program finite-strain-elasticity, a simple trust-region solver, and several new hyperelastic energies. Unfortunately, this patch is far from perfect: - It does not use Jonny's framework, but duplicates a lot of things. In particular my code that interfaces with adol-c exists in similar form already. The two should be merged eventually. Apologies. - Same for the material definitions - The trust region solver should be in dune-solvers. However, it currently calls the FE assemblers, which should not be done within dune-solvers. I intend to address these issues eventually. However, right now I need to do at least the first step and get the stuff out of dune-gfe. This is the first code in this module that uses the new dune-functions module.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
finite-strain-elasticity-bending.parset 1.77 KiB
#############################################
# Grid parameters
#############################################
structuredGrid = true
lower = 0 -0.5 -0.5
upper = 10 0.5 0.5
elements = 10 1 1
# Number of grid levels
numLevels = 2
#############################################
# Solver parameters
#############################################
# Number of homotopy steps for the Dirichlet boundary conditions
numHomotopySteps = 1
# Tolerance of the trust region solver
tolerance = 1e-6
# Max number of steps of the trust region solver
maxTrustRegionSteps = 500
# Initial trust-region radius
initialTrustRegionRadius = 0.1
# Number of multigrid iterations per trust-region step
numIt = 1000
# Number of presmoothing steps
nu1 = 3
# Number of postsmoothing steps
nu2 = 3
# Number of coarse grid corrections
mu = 1
# Number of base solver iterations
baseIt = 100
# Tolerance of the multigrid solver
mgTolerance = 1e-7
# Tolerance of the base grid solver
baseTolerance = 1e-8
############################
# Material parameters
############################
energy = stvenantkirchhoff
## For the Wriggers L-shape example
[materialParameters]
# Lame parameters
# corresponds to E = 71240 N/mm^2, nu=0.31
# However, we use units N/m^2
mu = 2.7191e+6
lambda = 4.4364e+6
[]
#############################################
# Boundary values
#############################################
problem = wriggers-l-shape
### Python predicate specifying all Dirichlet grid vertices
# x is the vertex coordinate
dirichletVerticesPredicate = "x[0] < 0.001"
### Python predicate specifying all Dirichlet grid vertices
# x is the vertex coordinate
neumannVerticesPredicate = "x[1] < -0.239"
### Neumann values, if needed
neumannValues = 0 0 1e4
# Initial deformation
initialDeformation = "[x[0], x[1], x[2]]"