annotate plotDerivative2d.jl @ 129:1aaeb46ba5f4 cell_based_test

Improve efficiency of apply by the following: - Remove divisions in interior loop by storing and multiplying by the reciprocal of grid spacing instead. - Add @inline to apply(::Laplace - Remove initialization of w = 0 in apply(::Stencil) by manually unrolling first iteration of the loop.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 14 Feb 2019 16:25:22 +0100
parents 8d505e9bc715
children d61bfc8cf6a5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
76
81d9510cb2d0 Make Laplace take dimension as a parameter
Jonatan Werpers <jonatan@werpers.com>
parents: 54
diff changeset
1 g = sbp.Grid.EquidistantGrid((100,75), (0.0, 0.0), (2pi, 3/2*pi))
50
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 op = sbp.readOperator("d2_4th.txt","h_4th.txt")
76
81d9510cb2d0 Make Laplace take dimension as a parameter
Jonatan Werpers <jonatan@werpers.com>
parents: 54
diff changeset
3 Laplace = sbp.Laplace(g, 1.0, op)
50
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 init(x,y) = sin(x) + cos(y)
54
4300a3fbd818 switch grid to Grid in diffOp
Ylva Rydin <ylva.rydin@telia.com>
parents: 50
diff changeset
6 v = sbp.Grid.evalOn(g,init)
50
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 u = zeros(length(v))
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 sbp.apply!(Laplace,u,v)
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11
56
27a8d3021a1c Convert apply functions to cell-based
Ylva Rydin <ylva.rydin@telia.com>
parents: 54
diff changeset
12 #@show u
27a8d3021a1c Convert apply functions to cell-based
Ylva Rydin <ylva.rydin@telia.com>
parents: 54
diff changeset
13 #@show u'*u
50
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14
54
4300a3fbd818 switch grid to Grid in diffOp
Ylva Rydin <ylva.rydin@telia.com>
parents: 50
diff changeset
15 sbp.Grid.plotgridfunction(g,u)
50
2a7d0ed7ac10 Add script for differentiation and plotting of 2d function
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16