Skip to content
Snippets Groups Projects
Commit fecd02e0 authored by Elias Pipping's avatar Elias Pipping Committed by Elias Pipping
Browse files

New problem

parent ac31e331
No related branches found
No related tags found
No related merge requests found
# -*- mode:conf -*- # -*- mode:conf -*-
timesteps = 60 timesteps = 600
verbose = false verbose = false
printEvolution = true printEvolution = true
...@@ -16,7 +16,7 @@ iterations = 50 ...@@ -16,7 +16,7 @@ iterations = 50
refinements = 6 refinements = 6
[body] [body]
E = 1e6 E = 1e8
# "Most steels and rigid polymers when used within their design limits # "Most steels and rigid polymers when used within their design limits
# (before yield) exhibit values of about 0.3" # (before yield) exhibit values of about 0.3"
# -- http://en.wikipedia.org/wiki/Poisson's_ratio # -- http://en.wikipedia.org/wiki/Poisson's_ratio
...@@ -68,8 +68,7 @@ normalstress = 0.1 # laursen depends a lot more on this ...@@ -68,8 +68,7 @@ normalstress = 0.1 # laursen depends a lot more on this
# constitutive properties for earthquake prediction # constitutive properties for earthquake prediction
# http://earthquake.usgs.gov/research/physics/lab/prediction.pdf # http://earthquake.usgs.gov/research/physics/lab/prediction.pdf
mu = 0.5 mu = 0.5
# If eta is too large, the initial state becomes very large eta = 1
eta = 1e-8
model = Ruina model = Ruina
[boundary.friction.state] [boundary.friction.state]
...@@ -84,7 +83,7 @@ initial = 0 ...@@ -84,7 +83,7 @@ initial = 0
a = 0.015 a = 0.015
b = 0.005 b = 0.005
# If L is too large, reaching a steady state takes too long # If L is too large, reaching a steady state takes too long
L = 1e-8 L = 1e-4
# The second-order a and b terms in [..] are very important in # The second-order a and b terms in [..] are very important in
# determining whether sliding is stable or unstable and (in appli- # determining whether sliding is stable or unstable and (in appli-
......
class neumannCondition: class neumannCondition:
def __call__(self, x):
# return 0
fst = 0.3
snd = 0.1
trd = 0.3
if x < 1.0/3:
return fst * x
elif x < 2.0/3:
return snd * (x - 1.0/3) + fst * 1.0/3
else:
return trd * (x - 2.0/3) + (fst + snd) * 1.0/3
class dirichletCondition:
def __call__(self, x): def __call__(self, x):
return 0 return 0
# fst = 3e-5 # fst = 0.3
# snd = 1e-5 # snd = 0.1
# trd = 3e-5 # trd = 0.3
# if x < 1.0/3: # if x < 1.0/3:
# return fst # return fst * x
# elif x < 2.0/3: # elif x < 2.0/3:
# return snd # return snd * (x - 1.0/3) + fst * 1.0/3
# else: # else:
# return trd # return trd * (x - 2.0/3) + (fst + snd) * 1.0/3
class dirichletCondition:
def __call__(self, x):
# return 0
fst = 3e-5
snd = 1e-5
trd = 3e-5
if x < 1.0/3:
return fst
elif x < 2.0/3:
return snd
else:
return trd
Functions = { Functions = {
'neumannCondition' : neumannCondition(), 'neumannCondition' : neumannCondition(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment