diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset index d4ef4532a6eefa398713f2167cab21ce3c16d6aa..efe421eb1c565f77d20bf2a120cb103709ba1d9d 100644 --- a/src/one-body-sample.parset +++ b/src/one-body-sample.parset @@ -1,5 +1,5 @@ # -*- mode:conf -*- -timesteps = 60 +timesteps = 600 verbose = false printEvolution = true @@ -16,7 +16,7 @@ iterations = 50 refinements = 6 [body] -E = 1e6 +E = 1e8 # "Most steels and rigid polymers when used within their design limits # (before yield) exhibit values of about 0.3" # -- http://en.wikipedia.org/wiki/Poisson's_ratio @@ -68,8 +68,7 @@ normalstress = 0.1 # laursen depends a lot more on this # constitutive properties for earthquake prediction # http://earthquake.usgs.gov/research/physics/lab/prediction.pdf mu = 0.5 -# If eta is too large, the initial state becomes very large -eta = 1e-8 +eta = 1 model = Ruina [boundary.friction.state] @@ -84,7 +83,7 @@ initial = 0 a = 0.015 b = 0.005 # 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 # determining whether sliding is stable or unstable and (in appli- diff --git a/src/one-body-sample.py b/src/one-body-sample.py index 93d9bdee070193a8ca933291fc6f3bb62e133e23..803f86f6cc0077ebcb30c0faab36271a4dd58668 100644 --- a/src/one-body-sample.py +++ b/src/one-body-sample.py @@ -1,28 +1,28 @@ 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): return 0 - # fst = 3e-5 - # snd = 1e-5 - # trd = 3e-5 + # fst = 0.3 + # snd = 0.1 + # trd = 0.3 # if x < 1.0/3: - # return fst + # return fst * x # elif x < 2.0/3: - # return snd + # return snd * (x - 1.0/3) + fst * 1.0/3 # 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 = { 'neumannCondition' : neumannCondition(),