khartmansjsu / khartmansjsu/MOC-Linux

Implementing Standalone call to CreateMOCGrid()

Open
#3 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation
Dominant language
Gnuplot
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

MOC_GridDlg.cpp has a method called CMOC_GridDlg::OnCalcMOCBUTTOM(). This method is printed below for reference.

void CMOC_GridDlg::OnCalcMOCBUTTON()
{
        int flag = 0;
        m_STTRun_BUTTON.EnableWindow(0);
        //      This is the function that starts the whole calculation process
        MOC_GridCalc *moc = new MOC_GridCalc;
        UpdateData(TRUE);
        m_CalcMOC_BUTTON.EnableWindow(0);
        if(moc->SetInitialProperties( m_pres_i, m_temp_i,  m_molWt_i,
                 m_gamma_i,  m_pAmb,  m_nC,  m_RWTU,  m_RWTD,  m_dTLimit, m_nRRCAboveBD,
                 m_nSLi, m_nSLj, m_vel, m_throat_CHECK.GetCheck(), m_ispIdeal));

        else
        {
                AfxMessageBox("Could not set properties");
                exit(1);
        }

        //      Set the design variable, designValues[0] and [1] to the correct values depending on the
        //      designParamtype

        if ( designParam == EXITMACH) designValues[0] = m_mDesign;
        else if ( designParam == EPS) designValues[0] = m_eps;
        else if ( designParam == NOZZLELENGTH) designValues[0] = m_length;
        else if ( designParam == EXITPRESSURE) designValues[0] = m_pExit;

        if ( nozzleType == FIXEDEND)
        {
                designParam = ENDPOINT;
                designValues[0] = m_xE;
                designValues[1] = m_rE;
        }
        else if (nozzleType == CONE) designValues[1] = m_coneAngle;

        moc->SetSolutionParameters(  nozzleGeom,  nozzleType ,  designParam,  designValues[0],
                         designValues[1], m_thetaBi);
        moc->SetPrintMode(m_print_COMBO.GetCurSel());
        flag = moc->CreateMOCGrid();

        m_CalcMOC_BUTTON.EnableWindow(1);

        if (flag && m_print_COMBO.GetCurSel()) m_STTRun_BUTTON.EnableWindow(1);
        delete moc;
        return;
}

In this issue, I will document my progress on making a "main" function which will call the CreateMOCGrid method in linux, and produce the same output files which are generated in normal operation.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with MOC_GridDlg.cpp and the OnCalcMOCBUTTON method to trace the inputs passed to CreateMOCGrid(). Implement the Linux main entry point around that flow, then compare its generated files with the outputs_M3.5Perf directory. Done means the standalone Linux run produces the same output files as normal operation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
operating-systems, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.