function [rz] = initializeRz(args) arguments args.type char {mustBeMember(args.type,{'none', 'rigid', 'flexible'})} = 'flexible' args.x0 (1,1) double {mustBeNumeric} = 0 % Equilibrium position of the Joint [m] args.y0 (1,1) double {mustBeNumeric} = 0 % Equilibrium position of the Joint [m] args.z0 (1,1) double {mustBeNumeric} = 0 % Equilibrium position of the Joint [m] args.rx0 (1,1) double {mustBeNumeric} = 0 % Equilibrium position of the Joint [rad] args.ry0 (1,1) double {mustBeNumeric} = 0 % Equilibrium position of the Joint [rad] end rz = struct(); switch args.type case 'none' rz.type = 0; case 'rigid' rz.type = 1; case 'flexible' rz.type = 2; end % Spindle - Slip Ring rz.slipring.density = 7800; % [kg/m3] rz.slipring.STEP = './STEPS/rz/Spindle_Slip_Ring.STEP'; % Spindle - Rotor rz.rotor.density = 7800; % [kg/m3] rz.rotor.STEP = './STEPS/rz/Spindle_Rotor.STEP'; % Spindle - Stator rz.stator.density = 7800; % [kg/m3] rz.stator.STEP = './STEPS/rz/Spindle_Stator.STEP'; rz.k.rot = 1e6; % TODO - Rotational Stiffness (Rz) [N*m/deg] rz.k.tilt = 1e6; % Rotational Stiffness (Rx, Ry) [N*m/deg] rz.k.ax = 2e9; % Axial Stiffness (Z) [N/m] rz.k.rad = 7e8; % Radial Stiffness (X, Y) [N/m] rz.c.rot = 1.6e3; rz.c.tilt = 1.6e3; rz.c.ax = 7.1e4; rz.c.rad = 4.2e4; rz.x0 = args.x0; rz.y0 = args.y0; rz.z0 = args.z0; rz.rx0 = args.rx0; rz.ry0 = args.ry0; save('./mat/stages.mat', 'rz', '-append');