annotate +noname/testCfl.m @ 88:7b092f0fd620 feature/arclen-param

Added branch name.
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 30 Nov 2015 12:13:22 +0100
parents 7249f105e67b
children 9933169d2651
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39
7249f105e67b Added silent option to noname.testCfl.
Jonatan Werpers <jonatan@werpers.com>
parents: 2
diff changeset
1 function testCfl(discr, timestepper_method, T, alpha0, tol,threshold, silentFlag)
2
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 default_arg('tol',0.00005);
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 default_arg('threshold',1e2);
39
7249f105e67b Added silent option to noname.testCfl.
Jonatan Werpers <jonatan@werpers.com>
parents: 2
diff changeset
4 default_arg('silentFlag', false);
2
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 alpha0(2) = alpha0(1)+2*(alpha0(2)-alpha0(1));
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 while( (alpha0(2)-alpha0(1))/alpha0(1) > tol)
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 alpha = mean(alpha0);
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 ts = discr.getTimestepper(timestepper_method,[],alpha);
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 warning('off','all')
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 ts.evolve(T,true);
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 warning('on','all')
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 [v,t] = ts.getV();
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 max_val = max(v);
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 if isnan(max_val) || max_val == Inf || max_val > threshold
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 alpha0(2) = alpha;
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 else
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 alpha0(1) = alpha;
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 end
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26
39
7249f105e67b Added silent option to noname.testCfl.
Jonatan Werpers <jonatan@werpers.com>
parents: 2
diff changeset
27 if ~silentFlag
7249f105e67b Added silent option to noname.testCfl.
Jonatan Werpers <jonatan@werpers.com>
parents: 2
diff changeset
28 fprintf('[%.3e,%.3e]: a = %.3e, max= %.2e\n',alpha0(1),alpha0(2), alpha,max_val);
7249f105e67b Added silent option to noname.testCfl.
Jonatan Werpers <jonatan@werpers.com>
parents: 2
diff changeset
29 end
2
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 end
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 fprintf('T = %-3d dof = %-4d order = %d: clf = %.4e\n',T, discr.size(), discr.order, alpha0(1));
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33
bce9e28c1e26 Added a cfl paramater to getTimestepper in Discretization. Added function to get cfl value for a Discr.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 end