KerMor  0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SiebertTendonFun.m
Go to the documentation of this file.
1 namespace models{
2 namespace muscle{
3 namespace functions{
4 
5 
6 /* (Autoinserted by mtoc++)
7  * This source code has been filtered by the mtoc++ executable,
8  * which generates code that can be processed by the doxygen documentation tool.
9  *
10  * On the other hand, it can neither be interpreted by MATLAB, nor can it be compiled with a C++ compiler.
11  * Except for the comments, the function bodies of your M-file functions are untouched.
12  * Consequently, the FILTER_SOURCE_FILES doxygen switch (default in our Doxyfile.template) will produce
13  * attached source files that are highly readable by humans.
14  *
15  * Additionally, links in the doxygen generated documentation to the source code of functions and class members refer to
16  * the correct locations in the source code browser.
17  * However, the line numbers most likely do not correspond to the line numbers in the original MATLAB source files.
18  */
19 
30  public:
31 
32  l0;
33 
34  lm = .742;
45 
46  F1 = 1345;
57  public:
58 
60  if nargin < 1
61  l0 = [];
62  end
63  if ~isempty(l0)
64  this.l0= l0;
65  this.lam_m= 1+this.lm/l0;
66  end
67  }
68 
69 
70  function [fhandle , dfhandle ] = getFunction() {
71  k = 4.36;
72  F_1 = this.F1;
73  c = F_1/(exp(k)-1);
74  K = 8030; /* [mN/mm] */
75 
76 
77  lnull = this.l0;
78  if ~isempty(lnull)
79  lm = this.lam_m;
80  fhandle = @(l)(l<=lm)*c.*(exp(k*(l-1)/(lm-1))-1) + (l > lm).*(F_1+K*(l-lm)*lnull);
81  else
82  lm = .742;
83  fhandle = @(l)(l<=lm)*c.*(exp(k*l/lm)-1) + (l > lm).*(F_1+K*(l-lm));
84  end
85  dfhandle = [];
86  }
87 
88 
89  function str = getConfigStr() {
90  if ~isempty(this.l0)
91  str = sprintf(" l0: %g, \\lambda_m: %g ",this.l0,this.lam_m);
92  else
93  str = sprintf(" Original from paper Siebert 2012 ");
94  end
95  }
96 
97 
98  function plot(range) {
99  point = this.lm;
100  if ~isempty(this.l0)
101  point = this.lam_m;
102  if nargin < 2
103  range = [1 1.2*point];
104  end
105  lab = " \lambda [-] ";
106  else
107  if nargin < 2
108  range = [0 4];
109  end
110  lab = " \Delta stretch [mm] ";
111  end
112  plot@general.functions.AFunGen(this, range);
113 
114 /* ax = get(gcf,'Children');
115  * ax = ax(2); % second one is the left one - hope this is reproducible */
116 
117  ax = gca;
118  hold(ax," on ");
119  plot(ax,point,this.F1," rx "," MarkerSize ",16);
120  xlabel(ax,lab);
121  ylabel(ax," force [mN] ");
122  }
123 
124 
125 
126 };
127 }
128 }
129 }
130 
131 
132 
Returns the modified markert law functions for the OVERALL energy density funcion derivative w...
AFUNGEN Summary of this class goes here Detailed explanation goes here.
Definition: AFunGen.m:19
function [ fhandle , dfhandle ] = getFunction()