Mercurial > repos > public > sbplib
annotate +parametrization/dataSpline.m @ 1314:58df4a35fe43 feature/poroelastic
Add traction operators that include the viscous terms and use them to clean up the imposition of traction BC.
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Sat, 25 Jul 2020 15:56:31 -0700 |
parents | 0eef5c8ccb88 |
children | 60c875c18de3 |
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 |