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
MarkertLawOriginal.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  b;
33 
34  d;
35 
36 
37  public:
38 
40  if nargin < 2
41  d = 16.6;
42  if nargin < 1
43  b = 7990;
44  end
45  end
46  this.b= b;
47  this.d= d;
48  this.xLabel= " \lambda [-] ";
49  this.yLabel= " Pressure [MPa] ";
50  }
51 
52 
53  function [fhandle , dfhandle , fbdhandle , dfbdhandle ] = getFunction() {
54  b1 = this.b;
55  d1 = this.d;
56 
57  /* % Regular function
58  * fhandle = @(t)b1./t.^2.*(t.^d1-1);
59  * dfhandle = @(t)b1./t.^3.*((d1-2).*t.^d1+2);
60  * fbdhandle = @(t,b1,d1)b1./t.^2.*(t.^d1-1);
61  * dfbdhandle = @(t,b1,d1)b1./t.^3.*((d1-2).*t.^d1+2); */
62 
63  /* % Variant with support [1, \infty] */
64  fhandle = @(t)max(0,b1./t.^2.*(t.^d1-1));
65  dfhandle = @(t)(t>1).*(b1./t.^3.*((d1-2).*t.^d1+2));
66  fbdhandle = @(t,b1,d1)max(0,b1./t.^2.*(t.^d1-1));
67  dfbdhandle = @(t,b1,d1)max(0,b1./t.^3.*((d1-2).*t.^d1+2));
68 
69  /* % Variant without dlam/dC term (1/2\lambda)
70  * fhandle = @(t)b1./t.*(t.^d1-1);
71  * dfhandle = @(t)b1./t.^2.*((d1-2).*t.^d1+2);
72  * fbdhandle = @(t,b1,d1)b1./t.*(t.^d1-1);
73  * dfbdhandle = @(t,b1,d1)b1./t.^2.*((d1-2).*t.^d1+2); */
74  }
75 
76 
77  function str = getConfigStr() {
78  str = sprintf(" b: %g, d: %g ",this.b,this.d);
79  }
80 
81 
82  function pm = plot(range,varargin) {
83  if nargin < 2
84  range = [.9 1.2];
85  end
86  pm = plot@general.functions.AFunGen(this, " R ", range, varargin[:]);
87  }
88 
89 
90  public: /* ( Static ) */
91 
92  static function createScratchPlot() {
93  range = [.9 1.4];
94  so = general.functions.MarkertLawOriginal(7990,16.6);
95  pm = so.plot(range," b ");
96  ax = get(gcf," Children ");
97  ax = flipud(ax);
98  hold(ax(1)," on ");
99  hold(ax(2)," on ");
100  ylim(ax(1),[0 16500]);
101  ylim(ax(2),[0 4.1e5]);
102  s = general.functions.MarkertLaw(7990,16.6,1e9);
103  s.plot(range,ax," r ");
104  s = general.functions.MarkertLaw(1000*7990,4.5,1e9);
105  s.plot(range,ax," g ");
106  legend(ax(1)," Original b=7990,d=16.6 "," Modified b=7990,d=16.6 "," Modified b=7990000,d=4.5 ");/* ,'Location','NorthWest'); */
107 
108  pm.savePlots(" /home/dwirtz/software/muscle/latex/img "," Format "," eps ");
109  }
110 
111 
112 
113 };
114 }
115 }
116 }
117 
118 
119 
function pm = plot(range, varargin)
A variable number of input arguments.
AFUNGEN Summary of this class goes here Detailed explanation goes here.
Definition: AFunGen.m:19
Returns the original markert law functions for the OVERALL energy density funcion derivative w...
function [ fhandle , dfhandle , fbdhandle , dfbdhandle ] = getFunction()