Mercurial > repos > public > sbplib
annotate subsSymfun.m @ 1310:eb015fe9605b feature/poroelastic
Add viscoelastic displacement BC for normal-tangential. Bugfix traction BC for normal-tangential
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Mon, 20 Jul 2020 22:06:33 -0700 |
parents | 489bea7fc33f |
children |
rev | line source |
---|---|
599
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Subs for a symfun |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 % f remains a symbolic function. If any of it's arguments is eliminated |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 % it is removed from the argument list while preserving the order of the |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 % other arguments |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 function f = subsSymfun(f, old, new) |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 args = argnames(f); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 newExpr = subs(f, old, new); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 vars = symvar(subs(args, old, new)); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 newArgs = args(ismember(args,vars)); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 f = symfun(newExpr, newArgs); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 end |