You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWATI/Include/nmNum/nmCalculation/nmCalculationSolver.h

31 lines
955 B
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#ifndef NMCALCULATIONSOLVER_H
#define NMCALCULATIONSOLVER_H
#include <QObject>
#include <iostream>
#include "nmCalculation_global.h"
#include "singlePhaseSolver.h"
using namespace std;
class CWell;
class NMCALCULATION_EXPORT nmCalculationSolver
{
public:
nmCalculationSolver();
// 执行求解,需要 vtk文件井的信息包括每个井的圆心、半径
bool execSolve(QString vtkFilePath, QString reservoirParamFilePath, QString wellsParamFilePath, QString dllDir, QString outputFile);
private:
// 为求解器读取所有需要的数据
void readVTK(QString vtkFlePath);
// 读取网格信息包括点、cell等信息
bool readMesh(std::string fname, std::vector<Point> &points, std::vector<Cell> &cells);
// 读取油藏属性
bool readReservoirParamters(std::string fname, double* pBaseData);
// 读取井的信息,包括:文件名、几口井、每口井的物理参数
bool readWells(std::string fname, int& numWell, CWell* well);
};
#endif // NMCALCULATIONSOLVER_H