From 41ccda612f15a3e1201641a7785da4141efa95a0 Mon Sep 17 00:00:00 2001 From: Stephan Hilb <stephan@ecshi.net> Date: Sun, 23 Jan 2022 09:57:47 +0100 Subject: [PATCH] add l1 integral symbolic calculation script --- scripts/symbolic_calculations.jl | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 scripts/symbolic_calculations.jl diff --git a/scripts/symbolic_calculations.jl b/scripts/symbolic_calculations.jl new file mode 100644 index 0000000..2b98fc4 --- /dev/null +++ b/scripts/symbolic_calculations.jl @@ -0,0 +1,19 @@ +using Reduce + +# explicitly calculate l1 integral over reference triangle with first order +# lagrange discretization +function l1triangle() + integrand_2 = :(abs(u0 * (1-x1-x2) + u1 * x1 + u2 * x2)) + + integral_2 = Reduce.Algebra.int(integrand_2, :x2) + integrand_1 = Reduce.Algebra.:-( + Reduce.Algebra.sub(:x2 => :(1 - x1), integral_2), + Reduce.Algebra.sub(:x2 => 0, integral_2)) + + integral_1 = Reduce.Algebra.int(integrand_1, :x1) + result = Reduce.Algebra.:-( + Reduce.Algebra.sub(:x1 => 1, integral_1), + Reduce.Algebra.sub(:x1 => 0, integral_1)) + + return result +end -- GitLab