[major-changes] use of referenced model, use of variable step solver

This commit is contained in:
Thomas Dehaeze
2018-10-29 12:57:13 +01:00
parent 5e6f1dbc38
commit fa3658509c
43 changed files with 157 additions and 225 deletions

View File

@@ -2,7 +2,27 @@ function [axisc] = initializeAxisc()
%%
axisc = struct();
axisc.m = 40; % [kg]
%% Axis Compensator - Static Properties
% Structure
axisc.structure.density = 3400; % [kg/m3]
axisc.structure.color = [0.792 0.820 0.933];
axisc.structure.STEP = './STEPS/axisc/axisc_structure.STEP';
% Wheel
axisc.wheel.density = 2700; % [kg/m3]
axisc.wheel.color = [0.753 0.753 0.753];
axisc.wheel.STEP = './STEPS/axisc/axisc_wheel.STEP';
% Mass
axisc.mass.density = 7800; % [kg/m3]
axisc.mass.color = [0.792 0.820 0.933];
axisc.mass.STEP = './STEPS/axisc/axisc_mass.STEP';
% Gear
axisc.gear.density = 7800; % [kg/m3]
axisc.gear.color = [0.792 0.820 0.933];
axisc.gear.STEP = './STEPS/axisc/axisc_gear.STEP';
axisc.m = 40; % TODO [kg]
%% Axis Compensator - Dynamical Properties
axisc.k.ax = 1; % TODO [N*m/deg)]
axisc.c.ax = (1/1)*sqrt(axisc.k.ax/axisc.m);

View File

@@ -2,8 +2,14 @@ function [granite] = initializeGranite()
%%
granite = struct();
granite.m = 2000; % [kg]
%% Static Properties
granite.density = 2800; % [kg/m3]
granite.volume = 0.72; % [m3] TODO - should
granite.mass = granite.density*granite.volume; % [kg]
granite.color = [1 1 1];
granite.STEP = './STEPS/granite/granite.STEP';
%% Dynamical Properties
granite.k.x = 1e8; % [N/m]
granite.c.x = 1e4; % [N/(m/s)]

View File

@@ -101,10 +101,11 @@ function [inputs] = initializeInputs(opts_param)
Fg = zeros(length(t), 3);
%% External Forces applied on the Sample
Fs = zeros(length(t), 3);
Fs = zeros(length(t), 6);
%% Create the input Structure that will contain all the inputs
inputs = struct( ...
'Ts', sim_conf.Ts, ...
'Dw', timeseries(Dw, t), ...
'Dy', timeseries(Dy, t), ...
'Ry', timeseries(Ry, t), ...

View File

@@ -22,6 +22,7 @@ function [] = initializeMirror(opts_param)
mirror.rad = 180; % radius of the mirror (at the bottom surface) [mm]
mirror.density = 2400; % Density of the mirror [kg/m3]
mirror.color = [0.4 1.0 1.0]; % Color of the mirror
mirror.cone_length = mirror.rad*tand(opts.angle)+mirror.h+mirror.jacobian; % Distance from Apex point of the cone to jacobian point

View File

@@ -12,8 +12,27 @@ function [ry] = initializeRy(opts_param)
%%
ry = struct();
ry.m = 200; % [kg]
%% Tilt Stage - Static Properties
% Ry - Guide for the tilt stage
ry.guide.density = 7800; % [kg/m3]
ry.guide.color = [0.792 0.820 0.933];
ry.guide.STEP = './STEPS/ry/Tilt_Guide.STEP';
% Ry - Rotor of the motor
ry.rotor.density = 2400; % [kg/m3]
ry.rotor.color = [0.792 0.820 0.933];
ry.rotor.STEP = './STEPS/ry/Tilt_Motor_Axis.STEP';
% Ry - Motor
ry.motor.density = 3200; % [kg/m3]
ry.motor.color = [0.792 0.820 0.933];
ry.motor.STEP = './STEPS/ry/Tilt_Motor.STEP';
% Ry - Plateau Tilt
ry.stage.density = 7800; % [kg/m3]
ry.stage.color = [0.792 0.820 0.933];
ry.stage.STEP = './STEPS/ry/Tilt_Stage.STEP';
ry.m = 200; % TODO [kg]
%% Tilt Stage - Dynamical Properties
if opts.rigid
ry.k.tilt = 1e10; % Rotation stiffness around y [N*m/deg]
else

View File

@@ -12,9 +12,24 @@ function [rz] = initializeRz(opts_param)
%%
rz = struct();
%% Spindle - Static Properties
% Spindle - Slip Ring
rz.slipring.density = 7800; % [kg/m3]
rz.slipring.color = [0.792 0.820 0.933];
rz.slipring.STEP = './STEPS/rz/Spindle_Slip_Ring.STEP';
% Spindle - Rotor
rz.rotor.density = 7800; % [kg/m3]
rz.rotor.color = [0.792 0.820 0.933];
rz.rotor.STEP = './STEPS/rz/Spindle_Rotor.STEP';
% Spindle - Stator
rz.stator.density = 7800; % [kg/m3]
rz.stator.color = [0.792 0.820 0.933];
rz.stator.STEP = './STEPS/rz/Spindle_Stator.STEP';
% Estimated mass of the mooving part
rz.m = 250; % [kg]
%% Spindle - Dynamical Properties
% Estimated stiffnesses
rz.k.ax = 2e9; % Axial Stiffness [N/m]
rz.k.rad = 7e8; % Radial Stiffness [N/m]

View File

@@ -1,97 +0,0 @@
function [solids] = initializeSolids()
%% Granite
solids.granite.density = 2800; % [kg/m3]
solids.granite.color = [1 1 1];
solids.granite.STEP = './STEPS/granite/granite.STEP';
%% Y-Translation
% Ty Granite frame
solids.ty.granite_frame.density = 7800; % [kg/m3]
solids.ty.granite_frame.color = [0.753 1 0.753];
solids.ty.granite_frame.STEP = './STEPS/Ty/Ty_Granite_Frame.STEP';
% Guide Translation Ty
solids.ty.guide.density = 7800; % [kg/m3]
solids.ty.guide.color = [0.792 0.820 0.933];
solids.ty.guide.STEP = './STEPS/ty/Ty_Guide.STEP';
% Ty - Guide_Translation12
solids.ty.guide12.density = 7800; % [kg/m3]
solids.ty.guide12.color = [0.792 0.820 0.933];
solids.ty.guide12.STEP = './STEPS/Ty/Ty_Guide_12.STEP';
% Ty - Guide_Translation11
solids.ty.guide11.density = 7800; % [kg/m3]
solids.ty.guide11.color = [0.792 0.820 0.933];
solids.ty.guide11.STEP = './STEPS/ty/Ty_Guide_11.STEP';
% Ty - Guide_Translation22
solids.ty.guide22.density = 7800; % [kg/m3]
solids.ty.guide22.color = [0.792 0.820 0.933];
solids.ty.guide22.STEP = './STEPS/ty/Ty_Guide_22.STEP';
% Ty - Guide_Translation21
solids.ty.guide21.density = 7800; % [kg/m3]
solids.ty.guide21.color = [0.792 0.820 0.933];
solids.ty.guide21.STEP = './STEPS/Ty/Ty_Guide_21.STEP';
% Ty - Plateau translation
solids.ty.frame.density = 7800; % [kg/m3]
solids.ty.frame.color = [0.792 0.820 0.933];
solids.ty.frame.STEP = './STEPS/ty/Ty_Stage.STEP';
% Ty Stator Part
solids.ty.stator.density = 5400; % [kg/m3]
solids.ty.stator.color = [0.792 0.820 0.933];
solids.ty.stator.STEP = './STEPS/ty/Ty_Motor_Stator.STEP';
% Ty Rotor Part
solids.ty.rotor.density = 5400; % [kg/m3]
solids.ty.rotor.color = [0.792 0.820 0.933];
solids.ty.rotor.STEP = './STEPS/ty/Ty_Motor_Rotor.STEP';
%% Tilt Stage
% Ry - Guide for the tilt stage
solids.ry.guide.density = 7800; % [kg/m3]
solids.ry.guide.color = [0.792 0.820 0.933];
solids.ry.guide.STEP = './STEPS/ry/Tilt_Guide.STEP';
% Ry - Rotor of the motor
solids.ry.rotor.density = 2400; % [kg/m3]
solids.ry.rotor.color = [0.792 0.820 0.933];
solids.ry.rotor.STEP = './STEPS/ry/Tilt_Motor_Axis.STEP';
% Ry - Motor
solids.ry.motor.density = 3200; % [kg/m3]
solids.ry.motor.color = [0.792 0.820 0.933];
solids.ry.motor.STEP = './STEPS/ry/Tilt_Motor.STEP';
% Ry - Plateau Tilt
solids.ry.stage.density = 7800; % [kg/m3]
solids.ry.stage.color = [0.792 0.820 0.933];
solids.ry.stage.STEP = './STEPS/ry/Tilt_Stage.STEP';
%% Spindle
% Spindle - Slip Ring
solids.rz.slipring.density = 7800; % [kg/m3]
solids.rz.slipring.color = [0.792 0.820 0.933];
solids.rz.slipring.STEP = './STEPS/rz/Spindle_Slip_Ring.STEP';
% Spindle - Rotor
solids.rz.rotor.density = 7800; % [kg/m3]
solids.rz.rotor.color = [0.792 0.820 0.933];
solids.rz.rotor.STEP = './STEPS/rz/Spindle_Rotor.STEP';
% Spindle - Stator
solids.rz.stator.density = 7800; % [kg/m3]
solids.rz.stator.color = [0.792 0.820 0.933];
solids.rz.stator.STEP = './STEPS/rz/Spindle_Stator.STEP';
%% Axis Compensator
% Structure
solids.axisc.structure.density = 3400; % [kg/m3]
solids.axisc.structure.color = [0.792 0.820 0.933];
solids.axisc.structure.STEP = './STEPS/axisc/axisc_structure.STEP';
% Wheel
solids.axisc.wheel.density = 2700; % [kg/m3]
solids.axisc.wheel.color = [0.753 0.753 0.753];
solids.axisc.wheel.STEP = './STEPS/axisc/axisc_wheel.STEP';
% Mass
solids.axisc.mass.density = 7800; % [kg/m3]
solids.axisc.mass.color = [0.792 0.820 0.933];
solids.axisc.mass.STEP = './STEPS/axisc/axisc_mass.STEP';
% Gear
solids.axisc.gear.density = 7800; % [kg/m3]
solids.axisc.gear.color = [0.792 0.820 0.933];
solids.axisc.gear.STEP = './STEPS/axisc/axisc_gear.STEP';
%% Save
save('./mat/solids.mat', 'solids')
end

View File

@@ -8,12 +8,51 @@ function [ty] = initializeTy(opts_param)
opts.(opt{1}) = opts_param.(opt{1});
end
end
%%
ty = struct();
ty.m = 250; % [kg]
%% Y-Translation - Static Properties
% Ty Granite frame
ty.granite_frame.density = 7800; % [kg/m3]
ty.granite_frame.color = [0.753 1 0.753];
ty.granite_frame.STEP = './STEPS/Ty/Ty_Granite_Frame.STEP';
% Guide Translation Ty
ty.guide.density = 7800; % [kg/m3]
ty.guide.color = [0.792 0.820 0.933];
ty.guide.STEP = './STEPS/ty/Ty_Guide.STEP';
% Ty - Guide_Translation12
ty.guide12.density = 7800; % [kg/m3]
ty.guide12.color = [0.792 0.820 0.933];
ty.guide12.STEP = './STEPS/Ty/Ty_Guide_12.STEP';
% Ty - Guide_Translation11
ty.guide11.density = 7800; % [kg/m3]
ty.guide11.color = [0.792 0.820 0.933];
ty.guide11.STEP = './STEPS/ty/Ty_Guide_11.STEP';
% Ty - Guide_Translation22
ty.guide22.density = 7800; % [kg/m3]
ty.guide22.color = [0.792 0.820 0.933];
ty.guide22.STEP = './STEPS/ty/Ty_Guide_22.STEP';
% Ty - Guide_Translation21
ty.guide21.density = 7800; % [kg/m3]
ty.guide21.color = [0.792 0.820 0.933];
ty.guide21.STEP = './STEPS/Ty/Ty_Guide_21.STEP';
% Ty - Plateau translation
ty.frame.density = 7800; % [kg/m3]
ty.frame.color = [0.792 0.820 0.933];
ty.frame.STEP = './STEPS/ty/Ty_Stage.STEP';
% Ty Stator Part
ty.stator.density = 5400; % [kg/m3]
ty.stator.color = [0.792 0.820 0.933];
ty.stator.STEP = './STEPS/ty/Ty_Motor_Stator.STEP';
% Ty Rotor Part
ty.rotor.density = 5400; % [kg/m3]
ty.rotor.color = [0.792 0.820 0.933];
ty.rotor.STEP = './STEPS/ty/Ty_Motor_Rotor.STEP';
ty.m = 250; % TODO [kg]
%% Y-Translation - Dynamicals Properties
if opts.rigid
ty.k.ax = 1e10; % Axial Stiffness for each of the 4 guidance (y) [N/m]
else