From e9d3530c4caf18556f5c813d2e12194d31bd4d55 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Mon, 3 Sep 2012 17:05:34 +0200 Subject: [PATCH] Make dirichlet values time independent --- src/one-body-sample.cc | 4 +++- src/one-body-sample.py | 9 ++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 427ec512..769ecb8e 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -249,8 +249,10 @@ int main(int argc, char *argv[]) { stiffnessMatrix.mmv(u, rhs); // Apply Dirichlet condition for (size_t i = 0; i < finestSize; ++i) - if (ignoreNodes[i].count() == dim) + if (ignoreNodes[i].count() == dim) { dirichletFunction.evaluate(time, u_diff[i][0]); + u_diff[i][0] /= timesteps; + } auto const state_fpi_max = parset.get<size_t>("solver.tnnmg.fixed_point_iterations"); diff --git a/src/one-body-sample.py b/src/one-body-sample.py index cd062556..db967172 100644 --- a/src/one-body-sample.py +++ b/src/one-body-sample.py @@ -11,14 +11,13 @@ class neumannCondition: else: return trd * (x - 2.0/3) + (fst + snd) * 1.0/3 -## FIXME: If we change time discretisation, we currently change the problem class dirichletCondition: def __call__(self, x): - return 2e-3 + return 2 # return 0 - fst = 3e-4 - snd = 5e-4 - trd = 3e-4 + fst = 3e-1 + snd = 5e-1 + trd = 3e-1 if x < 1.0/5: return fst elif x < 3.0/5: -- GitLab