annotate +parametrization/dataSpline.m @ 1331:60c875c18de3 feature/D2_boundary_opt

Merge with feature/poroelastic for Elastic schemes
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 10 Mar 2022 16:54:26 +0100
parents 36d092a00040 0eef5c8ccb88
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1125
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
1 % dataSpline calculates a Curve through the points f_i using cubic spline interpolation.
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
2 % The spline curve is parametrized with the arc length parametrization
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
3 % to facilitate better grids.
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
4 %
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
5 % f - m x D matrix of m points in D dimensions
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
6 function C = dataSpline(f)
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
7 m = size(f, 1);
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
8
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
9 t = linspace(0,1,m);
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
10
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
11 pp_g = spapi(4, t, f');
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
12 pp_gp = fnder(pp_g);
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
13
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
14 g = @(t) fnval(pp_g, t);
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
15 gp = @(t) fnval(pp_gp, t);
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
16
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
17 C = parametrization.Curve(g, gp);
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
18 C = C.arcLengthParametrization();
0eef5c8ccb88 Copy dataSpline() from feature/laplace_curvilinear_test
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
19 end