PHengLEI-NCCR/API/PostProcess/include/Post_Identify.h

64 lines
1.9 KiB
C++

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// PPPPP H H EEEEE N N GGGGG L EEEEE III +
// P P H H E NN N G L E I +
// PPPPP HHHHH EEEEE N N N G GG L EEEEE I +
// P H H E N N N G G L E I +
// P H H EEEEE N N GGGGG LLLLL EEEEE III +
//------------------------------------------------------------------------+
// Platform for Hybrid Engineering Simulation of Flows +
// China Aerodynamics Research and Development Center +
// (C) Copyright, Since 2010 +
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//! @file Post_Identify.h
//! @brief Identify the motive derivative
//! @author He kun.
#pragma once
#include "PHHeader.h"
using namespace std;
namespace PHSPACE
{
class Identify
{
public:
bool isIdentify;
int nForceVar;
int nIdentifyVar;
int nDataLine;
int nwStep;
size_t nLinestart, nLineEnd;
int nLineOneCycle, nCycle;
int nFrequency, nOrder;
string identifyMethod;
string motionType;
RDouble reduceFrequency, amplitude;
RDouble physicalTimeStep;
RDouble lenthReference;
vector <string> nameList;
vector < vector <RDouble> > aeroForce;
RDouble *c0, *c1, *c2;
public:
Identify();
~Identify();
void Run();
void ReadForce();
void ForceArrange();
void IdentifyProcess();
void GetNumberOfCycle();
void getIntegral(int iVar);
void getIntegrand(int iVar, RDouble *f);
void GetIntegral4thOrder(int iVar, RDouble *f, RDouble &sum1, RDouble &sum2);
void GetIntegral2ndOrder(int iVar, RDouble *f, RDouble &sum1, RDouble &sum2);
void DumpHysteresisData();
void DumpResults();
};
}