Line | |
---|
1 | function pentaelem = pentaelem(varargin)
|
---|
2 | %PENTAELEM - contructor for pentaelem objects
|
---|
3 | %
|
---|
4 | % Usage:
|
---|
5 | % pentaelem = pentaelem(varargin)
|
---|
6 |
|
---|
7 | switch nargin
|
---|
8 | case 0
|
---|
9 | % if no input arguments, create a default object
|
---|
10 | pentaelem.type='pentaelem';
|
---|
11 | pentaelem.id=NaN;
|
---|
12 | pentaelem.matid=NaN;
|
---|
13 | pentaelem.g=zeros(6,1);
|
---|
14 | pentaelem.h=zeros(6,1);
|
---|
15 | pentaelem.s=zeros(6,1);
|
---|
16 | pentaelem.b=zeros(6,1);
|
---|
17 | pentaelem.friction_type=2;
|
---|
18 | pentaelem.viscosity_overshoot=0;
|
---|
19 | pentaelem.ontiling=0;
|
---|
20 | pentaelem.k=zeros(6,1);
|
---|
21 | pentaelem.p=1;
|
---|
22 | pentaelem.q=1;
|
---|
23 | pentaelem.shelf=NaN;
|
---|
24 | pentaelem.onbed=NaN;
|
---|
25 | pentaelem.onsurface=NaN;
|
---|
26 | pentaelem.meanvel=NaN;
|
---|
27 | pentaelem.epsvel=NaN;
|
---|
28 | pentaelem.collapse=0;
|
---|
29 | pentaelem.melting=zeros(6,1);
|
---|
30 | pentaelem.accumulation=zeros(6,1);
|
---|
31 | pentaelem.geothermalflux=zeros(6,1);
|
---|
32 | pentaelem.artificial_diffusivity='no';
|
---|
33 | pentaelem.thermal_steadystate=1;
|
---|
34 | pentaelem.reconditioning_number=NaN;
|
---|
35 |
|
---|
36 | pentaelem=class(pentaelem,'pentaelem');
|
---|
37 |
|
---|
38 | case 1
|
---|
39 | %If single argument of class pentaelem, we have a copy constructor.
|
---|
40 | if (isa(varargin{1},'pentaelem'))
|
---|
41 | pentaelem = varargin{1};
|
---|
42 | else
|
---|
43 | error('pentaelem constructor error message: copy constructor called on a non ''pentaelem'' class object');
|
---|
44 | end
|
---|
45 | otherwise
|
---|
46 | error('pentaelem constructor error message: 0 of 1 argument only in input.');
|
---|
47 | end
|
---|
Note:
See
TracBrowser
for help on using the repository browser.