Example #1
0
        private void runAllTransientAnalysis_Sync()
        {
            // make sure femm file is created
            if (!Motor.isFEMModelReady(CurrentFEMMFile))
            {
                Motor.BuildFEMModel(CurrentFEMMFile);
            }

            // run static first
            runStaticAnalysis();

            sw = new Stopwatch();
            sw.Start();

            // now run the transient analysis
            foreach (String name in TransAnalysisGroup.Keys)
            {
                // un-subcribe event
                TransAnalysisGroup[name].OnFinishedAnalysis -= OnFinishAnalysis_internal;

                // run in sync
                TransAnalysisGroup[name].RunAnalysis();

                // close all opened
                FEMM.CloseFemm();
            }

            sw.Stop();
            log.Info("Analysis time :" + sw.Elapsed.TotalSeconds + "s");

            refreshAnalysisResults();
            OnMotorAnalysisResultsUpdate(this, null);
        }
Example #2
0
        public void runStaticAnalysis()
        {
            // load from disk first
            staticAnalyser.LoadResultsFromDisk();
            if (staticAnalyser.Results == null)
            {
                FEMM.CloseFemm();

                // make sure ans file is created
                if (!Motor.isFEMModelReady(CurrentFEMMFile))
                {
                    Motor.BuildFEMModel(CurrentFEMMFile);
                }

                staticAnalyser.OnFinishedAnalysis -= staticAnalyser_OnFinishedAnalysis;
                staticAnalyser.OnFinishedAnalysis += staticAnalyser_OnFinishedAnalysis;
                // do measure
                staticAnalyser.RunAnalysis();

                FEMM.CloseFemm();
            }
            else
            {
                staticAnalyser_OnFinishedAnalysis(this, staticAnalyser.Results);
            }
        }
Example #3
0
        public void runDQCurrentAnalysis()
        {
            // make sure femm file is created
            if (!Motor.isFEMModelReady(CurrentFEMMFile))
            {
                Motor.BuildFEMModel(CurrentFEMMFile);
            }

            // static analysis first
            runStaticAnalysis();

            sw = new Stopwatch();
            sw.Start();

            dqcurrentAnalyser.OnFinishedAnalysis -= dqcurrentAnalyser_OnFinishedAnalysis;
            dqcurrentAnalyser.OnFinishedAnalysis += dqcurrentAnalyser_OnFinishedAnalysis;

            dqcurrentAnalyser.StartAnalysis();//start async
        }
Example #4
0
        public void runTransientAnalysis(String name = "Transient\\sample")
        {
            // make sure femm file is created
            if (!Motor.isFEMModelReady(CurrentFEMMFile))
            {
                Motor.BuildFEMModel(CurrentFEMMFile);
            }

            // run static analysis
            runStaticAnalysis();

            sw = new Stopwatch();
            sw.Start();

            TransAnalysisGroup[name].OnFinishedAnalysis -= OnFinishAnalysis_internal;
            TransAnalysisGroup[name].OnFinishedAnalysis += OnFinishAnalysis_internal;

            TransAnalysisGroup[name].StartAnalysis();//start async
        }
Example #5
0
 // forcefully build fem file
 public void buildFEMM()
 {
     FEMM.CloseFemm();
     Motor.BuildFEMModel(CurrentFEMMFile);
     FEMM.CloseFemm();
 }