PointsKalmanFilterPredictor::PointsKalmanFilterPredictor() : first_(true) { A_.block(0, 0, 3, 3) = Eigen::Matrix3d::Identity(); A_.block(3, 3, 3, 3) = Eigen::Matrix3d::Identity(); B_.block(0, 0, 3, 3) = Eigen::Matrix3d::Identity(); C_.block(0, 0, 3, 3) = Eigen::Matrix3d::Identity(); C_.block(0, 3, 3, 3) = Eigen::Matrix3d::Zero(); setDeltaT(1. / 15); }
ciMsaFluidSolver& ciMsaFluidSolver::setup(int NX, int NY) { setDeltaT(); setFadeSpeed(); setSolverIterations(); enableVorticityConfinement(false); setWrap( false, false ); //maa viscocity = FLUID_DEFAULT_VISC; colorDiffusion = FLUID_DEFAULT_COLOR_DIFFUSION; return setSize( NX, NY); }
/** * Extracts time bin width from workspace parameter * * The method uses the difference between first and second x-value of the * first spectrum as time bin width. If the workspace does not contain proper * data (0 spectra or less than 2 x-values), the method throws an * std::invalid_argument-exception Otherwise it calls setDeltaT. * * @param matrixWorkspace :: MatrixWorkspace with at least one spectrum with *at * least two x-values. */ void PoldiFitPeaks2D::setDeltaTFromWorkspace( const MatrixWorkspace_sptr &matrixWorkspace) { if (matrixWorkspace->getNumberHistograms() < 1) { throw std::invalid_argument("MatrixWorkspace does not contain any data."); } auto &xData = matrixWorkspace->x(0); if (xData.size() < 2) { throw std::invalid_argument( "Cannot process MatrixWorkspace with less than 2 x-values."); } // difference between first and second x-value is assumed to be the bin // width. setDeltaT(matrixWorkspace->x(0)[1] - matrixWorkspace->x(0)[0]); }
ofxMSAFluidSolver& ofxMSAFluidSolver::setup(int NX, int NY) { ofLog(OF_LOG_VERBOSE, "ofxMSAFluidSolver::init( " + ofToString(NX) + ", " + ofToString(NY) + " )"); doDensity = true; doProject = true; setDeltaT(); setFadeSpeed(); setSolverIterations(); enableVorticityConfinement(false); setWrap( false, false ); //maa viscocity = FLUID_DEFAULT_VISC; colorDiffusion = FLUID_DEFAULT_COLOR_DIFFUSION; return setSize( NX, NY); }
//--------------------------------------------------------------------------- int main(int argc, char *argv[]) { argList args = setRootCase( argc, argv ); TimeHolder runTime=createTime( Time::controlDictName, args ); fvMeshHolder mesh = createMesh( runTime ); basicPsiThermoHolder pThermo; volScalarFieldHolder rho; volScalarFieldHolder p; volScalarFieldHolder h; volScalarFieldHolder psi; volVectorFieldHolder U; surfaceScalarFieldHolder phi; compressible::turbulenceModelHolder turbulence; volScalarFieldHolder DpDt; result_createFields result = createFields( runTime, mesh, pThermo, rho, p, h, psi, U, phi, turbulence, DpDt ); dimensionedScalar rhoMax = result.m_rhoMax; dimensionedScalar rhoMin = result.m_rhoMin; MRFZonesHolder mrfZones; porousZonesHolder pZones; Switch pressureImplicitPorosity; createZones( mesh, U, mrfZones, pZones, pressureImplicitPorosity ); scalar cumulativeContErr = initContinuityErrs(); pimpleControlHolder pimple(mesh); Info<< "\nStarting time loop\n" << endl; while (runTime->run()) { bool adjustTimeStep; scalar maxCo; scalar maxDeltaT; readTimeControls( runTime, adjustTimeStep, maxCo, maxDeltaT ); scalar coNum, meanCoNum; compressibleCourantNo( runTime, mesh, phi, rho, coNum, meanCoNum ); setDeltaT( runTime, adjustTimeStep, maxCo, coNum, maxDeltaT ); (*runTime)++; Info<< "Time = " << runTime->timeName() << nl << endl; rhoEqn( rho, phi ); // --- Pressure-velocity PIMPLE corrector loop for (pimple->start(); pimple->loop(); (*pimple)++) { if (pimple->nOuterCorr() != 1) { p->storePrevIter(); rho->storePrevIter(); } fvVectorMatrixHolder UEqn = fun_Ueqn( pimple, rho, p, U, phi, turbulence, mrfZones, pZones ); fun_hEqn( pThermo, rho, p, h, phi, turbulence, DpDt ); // --- PISO loop for (int corr=0; corr<pimple->nCorr(); corr++) { fun_pEqn( mesh, runTime, pimple, pThermo, rho, p, h, psi, U, phi, turbulence, UEqn, mrfZones, DpDt, cumulativeContErr, corr, rhoMax, rhoMin ); } if (pimple->turbCorr()) { turbulence->correct(); } } runTime->write(); Info<< "ExecutionTime = " << runTime->elapsedCpuTime() << " s" << " ClockTime = " << runTime->elapsedClockTime() << " s" << nl << endl; } Info<< "End\n" << endl; return 0; }