Add flexible mirror. And dimension of mirror

This commit is contained in:
2020-04-14 11:30:25 +02:00
parent e1cde2bd5b
commit 3665313d14
10 changed files with 69 additions and 21 deletions

View File

@@ -1076,9 +1076,11 @@ The output =mirror_center= corresponds to the center of the Sphere and is the po
:END:
#+begin_src matlab
arguments
args.type char {mustBeMember(args.type,{'none', 'rigid'})} = 'rigid'
args.shape char {mustBeMember(args.shape,{'spherical', 'conical'})} = 'spherical'
args.angle (1,1) double {mustBeNumeric, mustBePositive} = 45 % [deg]
args.type char {mustBeMember(args.type,{'none', 'rigid', 'flexible'})} = 'rigid'
args.shape char {mustBeMember(args.shape,{'spherical', 'conical'})} = 'spherical'
args.angle (1,1) double {mustBeNumeric, mustBePositive} = 45 % [deg]
args.mass (1,1) double {mustBeNumeric, mustBePositive} = 10 % [kg]
args.freq (6,1) double {mustBeNumeric, mustBeNonnegative} = 200*ones(6,1) % [Hz]
end
#+end_src
@@ -1101,10 +1103,43 @@ First, we initialize the =mirror= structure.
mirror.type = 0;
case 'rigid'
mirror.type = 1;
case 'flexible'
mirror.type = 2;
end
#+end_src
** Material and Geometry
** Mass and Inertia
:PROPERTIES:
:UNNUMBERED: t
:END:
#+begin_src matlab
mirror.mass = args.mass;
mirror.freq = args.freq;
#+end_src
** Stiffness and Damping properties
:PROPERTIES:
:UNNUMBERED: t
:END:
#+begin_src matlab
mirror.K = zeros(6,1);
mirror.K(1:3) = mirror.mass * (2*pi*mirror.freq(1:3)).^2;
mirror.C = zeros(6,1);
mirror.C(1:3) = 0.2 * sqrt(mirror.K(1:3).*mirror.mass);
#+end_src
** Equilibrium position of the each joint.
:PROPERTIES:
:UNNUMBERED: t
:END:
#+begin_src matlab
mirror.Deq = zeros(6,1);
#+end_src
** Geometry
:PROPERTIES:
:UNNUMBERED: t
:END:
@@ -1115,7 +1150,7 @@ We define the geometrical values.
mirror.thickness = 0.025; % Thickness of the plate supporting the sample [m]
mirror.hole_rad = 0.120; % radius of the hole in the mirror [m]
mirror.hole_rad = 0.125; % radius of the hole in the mirror [m]
mirror.support_rad = 0.1; % radius of the support plate [m]
@@ -1125,15 +1160,13 @@ We define the geometrical values.
mirror.jacobian = 0.20;
case 'rigid'
mirror.jacobian = 0.20 - mirror.h;
case 'flexible'
mirror.jacobian = 0.20 - mirror.h;
end
mirror.rad = 0.180; % radius of the mirror (at the bottom surface) [m]
#+end_src
#+begin_src matlab
mirror.density = 2400; % Density of the material [kg/m3]
#+end_src
#+begin_src matlab
mirror.cone_length = mirror.rad*tand(args.angle)+mirror.h+mirror.jacobian; % Distance from Apex point of the cone to jacobian point
#+end_src
@@ -1142,7 +1175,7 @@ Now we define the Shape of the mirror.
We first start with the internal part.
#+begin_src matlab
mirror.shape = [...
0 mirror.h-mirror.thickness
mirror.support_rad+5e-3 mirror.h-mirror.thickness
mirror.hole_rad mirror.h-mirror.thickness; ...
mirror.hole_rad 0; ...
mirror.rad 0 ...
@@ -1166,7 +1199,7 @@ Then, we define the reflective used part of the mirror.
Finally, we close the shape.
#+begin_src matlab
mirror.shape = [mirror.shape; 0 mirror.h];
mirror.shape = [mirror.shape; mirror.support_rad+5e-3 mirror.h];
#+end_src
** Save the Structure
@@ -1234,7 +1267,7 @@ The =mirror= structure is saved.
args.Fpr (1,1) double {mustBeNumeric, mustBePositive} = 150e-3
args.Mpm (1,1) double {mustBeNumeric, mustBePositive} = 1
args.Mph (1,1) double {mustBeNumeric, mustBePositive} = 10e-3
args.Mpr (1,1) double {mustBeNumeric, mustBePositive} = 100e-3
args.Mpr (1,1) double {mustBeNumeric, mustBePositive} = 120e-3
% initializeCylindricalStruts
args.Fsm (1,1) double {mustBeNumeric, mustBePositive} = 0.1
args.Fsh (1,1) double {mustBeNumeric, mustBePositive} = 50e-3