source: issm/trunk/src/m/utils/Mesh/GetCharacteristicLength.m@ 9734

Last change on this file since 9734 was 9734, checked in by seroussi, 14 years ago

finished mesh

File size: 1.4 KB
Line 
1function length=GetCharacteristicLength(index,x,y,varargin)
2%GETCHARACTERISTICLENGTH - compute characteristic length for a mesh
3%
4% compute characteristic lengths of every element of a mesh.
5%
6% Usage:
7% length =GetCharacteristicLength(index,x,y);
8% length =GetCharacteristicLength(index,x,y,z);
9%
10% Examples:
11% length =GetCharacteristicLength(md.mesh.elements,md.mesh.x,md.mesh.y);
12% length =GetCharacteristicLength(md.mesh.elements,md.mesh.x,md.mesh.y,md.z);
13
14
15%get number of elements and number of nodes
16nels=size(index,1);
17nods=numel(x);
18
19%some checks
20if nargout~=1 | (nargin~=3 & nargin~=4),
21 help GetCharacteristicLength
22 error('GetCharacteristicLength error message: bad usage')
23end
24if ((numel(y)~=nods) | (nargin==4 & numel(z)~=nods)),
25 error('GetCharacteristicLength error message: x,y and z do not have the same length')
26end
27if max(index(:))>nods,
28 error(['GetCharacteristicLength error message: index should not have values above ' num2str(nods) ])
29end
30if (nargin==3 & size(index,2)~=3),
31 error('GetCharacteristicLength error message: index should have 3 columns for 2d meshes.')
32end
33if (nargin==4 & size(index,2)~=6),
34 error('GetCharacteristicLength error message: index should have 6 columns for 3d meshes.')
35end
36
37%get areas or volumes.
38areas=GetAreas(index,x,y,varargin{:});
39
40%for a 2d mesh:
41if nargin==3,
42 length=sqrt(2*areas);
43else
44 error('not supported yet');
45end
Note: See TracBrowser for help on using the repository browser.