Пример #1
0
//--------------------------------------------------------------------------------
COutputConfig::COutputConfig()
	{
	m_nRefCount++;

	if(m_pDBKeyName != NULL)
		return;

	CRegKey rkConfig(g_rkRoot, (LPCTSTR) NULL);

	if(! rkConfig.CreateKey())
		{
		SetResultCode(errOS);
		SetOSResult(::GetLastError());
		return;
		}

	CRegValueSz rvStr(rkConfig, REG_VALNAME_LOGFILE);
	CString sTemp;

	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pLogFile, sTemp);

	rvStr.SetValueName(REG_OUTPUT_DBKEYNAME);

	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pDBKeyName, sTemp);
	else
		ALLOC_STRING(m_pDBKeyName, "Database");

	CRegValueDWord rvVal(rkConfig, REG_VALNAME_TRACELEVEL_FLAGS);
	if(! rvVal.ReadValue(&m_nTraceLevel))
		m_nTraceLevel = m_nTraceLevelDefault;

	rvVal.SetValueName(REG_VALNAME_FLAGS);
	rvVal.ReadValue(&m_nFlags);

	rvStr.SetValueName(REG_OUTPUT_MONKEYNAME);
	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pMonKeyName, sTemp);
	else
		ALLOC_STRING(m_pMonKeyName, "Monitors");

	// read the database config
	{
	CRegKey rkDB(rkConfig, m_pDBKeyName);
	if(! rkDB.OpenKey())
		return;
	CRegValueSz rvStr(rkDB, "");

	rvStr.SetValueName(REG_OUTPUT_VALNAME_DB_ODBC);
	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pODBCString, sTemp);
	else
		ALLOC_STRING(m_pODBCString, "");

	rvStr.SetValueName(REG_OUTPUT_VALNAME_DB_TYPE);
	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pDBType, sTemp);
	else
		ALLOC_STRING(m_pDBType, "");

	rvStr.SetValueName(REG_OUTPUT_VALNAME_DB_PROC);
	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pProcAccnt, sTemp);
	else
		ALLOC_STRING(m_pProcAccnt, "");

	rvStr.SetValueName(REG_OUTPUT_VALNAME_DB_TABLE);
	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pTableAccnt, sTemp);
	else
		ALLOC_STRING(m_pTableAccnt, "");

	}

	rvStr.SetValueName(REG_SECSERV_MAIN_IP);
	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pSecServIP, sTemp);

	rvVal.SetValueName(REG_SECSERV_MAIN_PORT);
	rvVal.ReadValue(&m_nSecServPort);

	rvStr.SetValueName(REG_SECSERV_BKUP_IP);
	if(rvStr.ReadValue(sTemp))
		ALLOC_STRING(m_pSecServBkupIP, sTemp);

	rvVal.SetValueName(REG_SECSERV_BKUP_PORT);
	rvVal.ReadValue(&m_nSecServBkupPort);
	}
Пример #2
0
int main(int argc, char *argv[])
{
    #include "setRootCase.H"
    #include "createTime.H"
    #include "createMesh.H"

    Info << "Reading T_init" << endl;
    volScalarField T_init
    (
        IOobject("T_init", runTime.constant(), mesh, IOobject::MUST_READ),
        mesh
    );
    
    Info << "Reading P_init" << endl;
    volScalarField P_init
    (
        IOobject("P_init", runTime.constant(), mesh, IOobject::MUST_READ),
        mesh
    );

    Info << "Reading rt_init" << endl;
    volScalarField rt_init
    (
        IOobject("rt_init", runTime.constant(), mesh, IOobject::MUST_READ),
        mesh
    );
    
    Info << "Reading r_init" << endl;
    volScalarField r_init
    (
        IOobject("r_init", runTime.constant(), mesh, IOobject::MUST_READ),
        mesh
    );

    Info << "Reading or creating tracer field rhof_init" << endl;
    surfaceScalarField rhof_init
    (
        IOobject("rhof_init", runTime.constant(), mesh, IOobject::READ_IF_PRESENT),
        linearInterpolate(rt_init)
    );
    
    Info << "Creating T" << endl;
    volScalarField T
    (
        IOobject("T", runTime.timeName(), mesh, IOobject::NO_READ),
        T_init
    );
    
    Info << "Creating P" << endl;
    volScalarField P
    (
        IOobject("P", runTime.timeName(), mesh, IOobject::NO_READ),
        P_init
    );
    
    Info << "Creating rt" << endl;
    volScalarField rt
    (
        IOobject("rt", runTime.timeName(), mesh, IOobject::NO_READ),
        rt_init
    );

    Info << "Creating rl" << endl;
    volScalarField rl
    (
        IOobject("rl", runTime.timeName(), mesh, IOobject::NO_READ),
        r_init
    );

    Info << "Creating rv" << endl;
    volScalarField rv
    (
        IOobject("rv", runTime.timeName(), mesh, IOobject::NO_READ),
        r_init
    );
    
    Info << "Creating rl_diag" << endl;
    volScalarField rl_diag
    (
        IOobject("rl_diag", runTime.timeName(), mesh, IOobject::NO_READ),
        r_init
    );

    Info << "Creating rv_diag" << endl;
    volScalarField rv_diag
    (
        IOobject("rv_diag", runTime.timeName(), mesh, IOobject::NO_READ),
        r_init
    );
    
    Info << "Creating rl_analytic" << endl;
    volScalarField rl_analytic
    (
        IOobject("rl_analytic", runTime.timeName(), mesh, IOobject::NO_READ),
        r_init
    );
    
    Info << "Creating rv_analytic" << endl;
    volScalarField rv_analytic
    (
        IOobject("rv_analytic", runTime.timeName(), mesh, IOobject::NO_READ),
        r_init
    );
    
    Info << "Creating rt_analytic" << endl;
    volScalarField rt_analytic
    (
        IOobject("rt_analytic", runTime.timeName(), mesh, IOobject::NO_READ),
        r_init
    );
    
    Info << "Creating S" << endl;
    volScalarField S
    (
        IOobject("S", runTime.timeName(), mesh, IOobject::NO_READ),
        r_init
    );

    Info << "Creating rhof" << endl;
    surfaceScalarField rhof
    (
        IOobject("rhof", runTime.timeName(), mesh, IOobject::NO_READ),
        rhof_init
    );

    IOdictionary rtDict
    (
        IOobject
        (
            "totalMoistureDict",
            mesh.time().system(),
            mesh,
            IOobject::READ_IF_PRESENT,
            IOobject::NO_WRITE
        )
    );
    
    IOdictionary rlDict
    (
        IOobject
        (
            "liquidWaterDict",
            mesh.time().system(),
            mesh,
            IOobject::READ_IF_PRESENT,
            IOobject::NO_WRITE
        )
    );
    
    IOdictionary rvDict
    (
        IOobject
        (
            "waterVapourDict",
            mesh.time().system(),
            mesh,
            IOobject::READ_IF_PRESENT,
            IOobject::NO_WRITE
        )
    );
    
    IOdictionary tempDict
    (
        IOobject
        (
            "tempDict",
            mesh.time().system(),
            mesh,
            IOobject::READ_IF_PRESENT,
            IOobject::NO_WRITE
        )
    );
    
    IOdictionary PDict
    (
        IOobject
        (
            "pressureDict",
            mesh.time().system(),
            mesh,
            IOobject::READ_IF_PRESENT,
            IOobject::NO_WRITE
        )
    );

    const noAdvection velocityField;
    autoPtr<tracerField> rtVal(tracerField::New(rtDict, velocityField));
    
    autoPtr<tracerField> rlVal(tracerField::New(rlDict, velocityField));
    
    autoPtr<tracerField> rvVal(tracerField::New(rvDict, velocityField));
    
    autoPtr<tracerField> tempVal(tracerField::New(tempDict, velocityField));
    
    autoPtr<tracerField> PVal(tracerField::New(PDict, velocityField));
    
    Info << "writing rt for time " << runTime.timeName() << endl;
    rtVal->applyTo(rt);
    rt.write();
    
    Info << "writing rl for time " << runTime.timeName() << endl;
    rlVal->applyTo(rl);
    rl.write();

    Info << "writing rv for time " << runTime.timeName() << endl;
    rvVal->applyTo(rv);
    rv.write();
    
    Info << "writing rl_diag for time " << runTime.timeName() << endl;
    rlVal->applyTo(rl_diag);
    rl_diag.write();

    Info << "writing rv_diag for time " << runTime.timeName() << endl;
    rvVal->applyTo(rv_diag);
    rv_diag.write();

    Info << "writing rl_analytic for time " << runTime.timeName() << endl;
    rlVal->applyTo(rl_analytic);
    rl_analytic.write();
    
    Info << "writing rv_analytic for time " << runTime.timeName() << endl;
    rvVal->applyTo(rv_analytic);
    rv_analytic.write();

    Info << "writing rt_analytic for time " << runTime.timeName() << endl;
    rtVal->applyTo(rt_analytic);
    rt_analytic.write();

    Info << "writing S for time " << runTime.timeName() << endl;
    S.write();

    Info << "writing qf for time " << runTime.timeName() << endl;
    rtVal->applyTo(rhof);
    rhof.write();
    
    Info << "writing T" << endl;
    tempVal->applyTo(T);
    T.write();
    
    Info << "writing P" << endl;
    PVal->applyTo(P);
    P.write();

    return EXIT_SUCCESS;
}
Пример #3
0
//--------------------------------------------------------------------------------
bool COutputConfig::WriteConfig()
	{
	CRegKey rkConfig(g_rkRoot, (LPCTSTR) NULL);

	if(! rkConfig.OpenKey())
		{
		SetResultCode(errOS);
		SetOSResult(::GetLastError());
		return false;
		}

	CRegValueSz rvStr(rkConfig, REG_VALNAME_LOGFILE);
	CString sTemp;

	if(m_pLogFile != NULL)
		rvStr.WriteValue(m_pLogFile);

	rvStr.SetValueName(REG_OUTPUT_DBKEYNAME);

	if(m_pDBKeyName != NULL)
		rvStr.WriteValue(m_pDBKeyName);

	CRegValueDWord rvVal(rkConfig, REG_VALNAME_TRACELEVEL_FLAGS);
	rvVal.WriteValue(m_nTraceLevel);

	rvVal.SetValueName(REG_VALNAME_FLAGS);
	rvVal.WriteValue(m_nFlags);

	rvStr.SetValueName(REG_OUTPUT_MONKEYNAME);
	if(m_pMonKeyName != NULL)
		rvStr.WriteValue(m_pMonKeyName);

	// write the database config
	{
	CRegKey rkDB(rkConfig, m_pDBKeyName);
	if(! rkDB.CreateKey())
		return true;
	CRegValueSz rvStr(rkDB, "");

	rvStr.SetValueName(REG_OUTPUT_VALNAME_DB_ODBC);
	if(m_pODBCString != NULL)
		rvStr.WriteValue(m_pODBCString);

	rvStr.SetValueName(REG_OUTPUT_VALNAME_DB_TYPE);
	if(m_pDBType != NULL)
		rvStr.WriteValue(m_pDBType);

	rvStr.SetValueName(REG_OUTPUT_VALNAME_DB_PROC);
	if(m_pProcAccnt != NULL)
		rvStr.WriteValue(m_pProcAccnt);

	rvStr.SetValueName(REG_OUTPUT_VALNAME_DB_TABLE);
	if(m_pTableAccnt != NULL)
		rvStr.WriteValue(m_pTableAccnt);
	}

	rvStr.SetValueName(REG_SECSERV_MAIN_IP);
	if(m_pSecServIP != NULL)
		rvStr.WriteValue(m_pSecServIP);

	rvVal.SetValueName(REG_SECSERV_MAIN_PORT);
	rvVal.WriteValue(m_nSecServPort);

	rvStr.SetValueName(REG_SECSERV_BKUP_IP);
	if(m_pSecServBkupIP != NULL)
		rvStr.WriteValue(m_pSecServBkupIP);

	rvVal.SetValueName(REG_SECSERV_BKUP_PORT);
	rvVal.WriteValue(m_nSecServBkupPort);

	return true;
	}