Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 5
0
 /// <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;
 }
Exemplo n.º 6
0
 /// <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);
        }