/// <summary> /// Overloaded Constructor /// </summary> /// <param name="_name">Name of <see cref="KO_GUI"/></param> /// <param name="_id">ID of the <see cref="KO_GUI"/></param> public KO_GUI(string _name, int _id) { Name_GUI = _name; ID_GUI = _id; KO_CV_FL_GUI = new KO_CornverVariables(VehicleCorner.FrontLeft); KO_CV_FR_GUI = new KO_CornverVariables(VehicleCorner.FrontRight); KO_CV_RL_GUI = new KO_CornverVariables(VehicleCorner.RearLeft); KO_CV_RR_GUI = new KO_CornverVariables(VehicleCorner.RearRight); KO_Central = new KO_CentralVariables(); KO_SimParams = new KO_SimulationParams(); //xuc_KO = new XUC_KinematicOptimization(); //Param_Imp_Form = new ParametersAndImportance(); Design_Form = new DesignForm(); Design_Form.Set_KO_Variables(ref KO_Central, ref KO_CV_FL_GUI, ref KO_CV_FR_GUI, ref KO_CV_RL_GUI, ref KO_CV_RR_GUI); Design_Form.Set_KO_SimulationParams(ref KO_SimParams); /////<summary>Passing the <see cref="KO_CornverVariables"/> Objects of the 4 corners to the <see cref="Param_Imp_Form"/></summary> //Param_Imp_Form.SetCornerVariables(KO_CV_FL_GUI, KO_CV_FR_GUI, KO_CV_RL_GUI, KO_CV_RR_GUI); }
/// <summary> /// Constructor /// </summary> /// <param name="_koCV">Object of the <see cref="KO_CornverVariables"/> Class</param> /// <param name="_vCorner">Corner of the Vehicle which is being computed</param> /// <param name="_vehicle">The <see cref="Vehicle"/> item itself</param> public KO_Solver(ref KO_CornverVariables _koCV, ref KO_CentralVariables _koCentral, ref KO_SimulationParams _simpParams, VehicleCorner _vCorner, ref DesignForm _designForm, OptimizaionParameter _optParam) { KO_CV = _koCV; VCorner = _vCorner; KO_Central = _koCentral; SimParams = _simpParams; Design_Form = _designForm; optParam = _optParam; if (optParam == OptimizaionParameter.BumpSteer) { Initialize_Optimizer_BS(); } else if (optParam == OptimizaionParameter.SpringMotionRatio) { Initialize_Optimizer_ActuationPoints_RockerPoints(); } else if (optParam == OptimizaionParameter.ARBMotionRatio) { } }
/// <summary> /// ---Used for Assymetric Suspensions--- /// Method to Obtain the object of the <see cref="DesignForm"/> which is the Parent of this Form and Assign Parent Object of <see cref="actuationPointCompute'"/> /// </summary> /// <param name="_KOCentral"></param> /// <param name="_KO_CV"></param> /// <param name="_designForm"></param> public void Get_ParentObject_Data(ref KO_CentralVariables _KOCentral, ref KO_CornverVariables _KO_CV, DesignForm _designForm, VehicleCorner _vCorner, ref KO_SimulationParams _koSim) { KO_Central = _KOCentral; KO_CV_Main = _KO_CV; ParentObject = _designForm; VCorner_Main = _vCorner; Symmetry = false; KO_SimParams = _koSim; actuationPointCompute.Get_ParentObjectData(ref KO_CV_Main, ParentObject, VCorner_Main, DevelopmentStages.ActuationPoints); }
/// <summary> /// ---Used for Symmetry--- /// Method to Obtain the object of the <see cref="DesignForm"/> which is the Parent of this Form and Assign Parent Object of <see cref="actuationPointCompute'"/> /// </summary> /// <param name="_KOCentral"></param> /// <param name="_KO_CV_Main"></param> /// <param name="_KO_CV_Counter"></param> /// <param name="_VCornerMain"></param> /// <param name="_VCornerCounter"></param> /// <param name="_designForm"></param> public void Get_ParentObject_Data(ref KO_CentralVariables _KOCentral, ref KO_CornverVariables _KO_CV_Main, ref KO_CornverVariables _KO_CV_Counter, VehicleCorner _VCornerMain, VehicleCorner _VCornerCounter, DesignForm _designForm, ref KO_SimulationParams _koSim) { KO_Central = _KOCentral; KO_CV_Main = _KO_CV_Main; KO_CV_Counter = _KO_CV_Counter; ParentObject = _designForm; VCorner_Main = _VCornerMain; VCorner_Counter = _VCornerCounter; Symmetry = true; KO_SimParams = _koSim; actuationPointCompute.Get_ParentObjectData(ref _KO_CV_Main, ref _KO_CV_Counter, ParentObject, VCorner_Main, _VCornerCounter, DevelopmentStages.ActuationPoints); }
/// <summary> /// <para>---2nd--- This method is to be called 2nd</para> /// <para>Method to initialize the Simulation Parameters which contains crucial information regarding the Parameters of the Simulation which affect the Charts in this UserControl</para> /// </summary> /// <param name="_koSimParams">Object of the <see cref="KO_SimulationParams"/> which contains crucial information regarding the Parameters of the Simulation which affect the Charts in this UserControl</param> public void GetSimulationParameters(KO_SimulationParams _koSimParams) { ko_SimParams = _koSimParams; }
/// <summary> /// Method to Initialize OR Update the Simulation Parameters /// </summary> /// <param name="_koSimparams"></param> public void Init_Update_Simulationparameters(KO_SimulationParams _koSimparams) { KO_SimParams = _koSimparams; }
/// <summary> /// Method to invoke the Optimization Algorithm mwthods to compute the Actuation points of Damper and Pushrod on the Rocker /// </summary> /// <param name="_koCV">Object of the <see cref="KO_CornverVariables"/></param> /// <param name="_koCentral">Object of the <see cref="KO_CentralVariables"/></param> /// <param name="_koSimParams">Object of the <see cref="KO_SimulationParams"/></param> /// <param name="_vCorner">Corner of the Vehicle which is caling this method</param> /// <param name="_designForm">Object of the <see cref="DesignForm"/> which is the parent GUI form</param> public void Optimize_Actuation_RockerPoints(ref KO_CornverVariables _koCV, ref KO_CentralVariables _koCentral, ref KO_SimulationParams _koSimParams, VehicleCorner _vCorner, DesignForm _designForm) { KO_SOlver = new KO_Solver(ref _koCV, ref _koCentral, ref _koSimParams, _vCorner, ref _designForm, OptimizaionParameter.SpringMotionRatio); }
/// <summary> /// Method to Invoke the Optimization Algorithm to compute the Inboard Toe Link Point for Minimum Bump Steer or User Requested Bump Steer /// </summary> /// <param name="_koCV">Object of the <see cref="KO_CornverVariables"/></param> /// <param name="_koCentral">Object of the <see cref="KO_CentralVariables"/></param> /// <param name="_koSimParams">Object of the <see cref="KO_SimulationParams"/></param> /// <param name="_vCorner">Corner of the Vehicle which is caling this method</param> /// <param name="_designForm">Object of the <see cref="DesignForm"/> which is the parent GUI form</param> public void Optimize_InboardToeLink(ref KO_CornverVariables _koCV, ref KO_CentralVariables _koCentral, ref KO_SimulationParams _koSimParams, VehicleCorner _vCorner, DesignForm _designForm) { KO_SOlver = new KO_Solver(ref _koCV, ref _koCentral, ref _koSimParams, _vCorner, ref _designForm, OptimizaionParameter.BumpSteer); _koCV.VCornerParams.ToeLinkInboard = Round_Point(_koCV.VCornerParams.ToeLinkInboard, 3); }