Skip to content
Snippets Groups Projects
Select Git revision
  • dune-tkr-article
  • master default protected
  • patrizio-convexity-test
  • releases/2.6-1
  • releases/2.5-1
  • releases/2.4-1
  • releases/2.3-1
  • releases/2.2-1
  • releases/2.1-1
  • releases/2.0-1
  • dune-tkr-article-base
  • dune-tkr-article-patched
  • subversion->git
13 results

finite-strain-elasticity-bending.parset

Blame
  • Forked from agnumpde / dune-elasticity
    176 commits behind the upstream repository.
    user avatar
    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.
    35b9cf4c
    History
    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]]"