本文整理汇总了C++中fsi::vector::rows方法的典型用法代码示例。如果您正苦于以下问题:C++ vector::rows方法的具体用法?C++ vector::rows怎么用?C++ vector::rows使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fsi::vector
的用法示例。
在下文中一共展示了vector::rows方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: optimize
void ImplicitMultiLevelFsiSolver::optimize(
const fsi::vector & y,
const fsi::vector & x0,
fsi::vector & xk
)
{
assert( init );
assert( y.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
|| y.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
+ fsi->fluidSolver->couplingGridSize * fsi->fluid->dim );
assert( x0.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
|| x0.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
+ fsi->fluidSolver->couplingGridSize * fsi->fluid->dim );
assert( xk.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
|| xk.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
+ fsi->fluidSolver->couplingGridSize * fsi->fluid->dim );
assert( x0.rows() == xk.rows() );
assert( y.rows() == xk.rows() );
fsi->newMeasurementSeries();
postProcessing->performPostProcessing( y, x0, xk );
}
示例2: evaluate
void ImplicitMultiLevelFsiSolver::evaluate(
const fsi::vector & x,
fsi::vector & output,
fsi::vector & R
)
{
assert( init );
assert( x.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
|| x.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
+ fsi->fluidSolver->couplingGridSize * fsi->fluid->dim );
assert( output.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
|| output.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
+ fsi->fluidSolver->couplingGridSize * fsi->fluid->dim );
assert( R.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
|| R.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
+ fsi->fluidSolver->couplingGridSize * fsi->fluid->dim );
assert( x.rows() == output.rows() );
assert( x.rows() == R.rows() );
fsi->evaluate( x, output, R );
}
示例3: optimize
virtual void optimize(
const fsi::vector & y,
const fsi::vector & /*x0*/,
fsi::vector & xk
)
{
assert( y.rows() == 3 );
assert( xk.rows() == 2 );
// Analytical optimum
xk( 0 ) = (y[2] - y[0]) / 2.0;
xk( 1 ) = (y[0] + y[1] + y[2]) / 3.0;
}
示例4: evaluate
virtual void evaluate(
const fsi::vector & x,
fsi::vector & output,
fsi::vector & R
)
{
assert( x.rows() == 2 );
assert( R.rows() == 3 );
fsi::vector t( 3 );
t << -1, 0, 1;
R = x( 0 ) * t + x( 1 ) * Eigen::MatrixXd::Ones( 3, 1 );
output = R;
}
示例5: isConvergence
virtual bool isConvergence(
const fsi::vector & x,
const fsi::vector & xprev
)
{
assert( x.rows() == xprev.rows() );
iter++;
allConverged_ = false;
if ( (x - xprev).norm() < tol * x.norm() )
allConverged_ = true;
return allConverged_;
}
示例6: setFunction
void ESDIRK::setFunction(
const int k,
const fsi::vector & f,
const fsi::vector & result
)
{
assert( f.rows() == result.rows() );
assert( k <= nbStages - 1 );
if ( F.cols() == 0 )
F.resize( nbStages, f.rows() );
if ( solStages.cols() == 0 )
solStages.resize( nbStages, f.rows() );
F.row( k ) = f;
solStages.row( k ) = result;
}
示例7: getSolution
void SDCFsiSolver::getSolution(
fsi::vector & solution,
fsi::vector & f
)
{
assert( dofFluid > 0 );
assert( dofSolid >= 0 );
assert( dofFluid + dofSolid == solution.rows() );
assert( solution.rows() == f.rows() );
fsi::vector solFluid( dofFluid ), solSolid( dofSolid ), fFluid( dofFluid ), fSolid( dofSolid );
fluid->getSolution( solFluid, fFluid );
solid->getSolution( solSolid, fSolid );
solution.head( dofFluid ) = solFluid;
solution.tail( dofSolid ) = solSolid;
f.head( dofFluid ) = fFluid;
f.tail( dofSolid ) = fSolid;
}
示例8: storeSolution
void DataStorage::storeSolution(
const fsi::vector & sol,
int substep
)
{
assert( sol.rows() == solStages.cols() );
assert( substep <= solStages.rows() );
assert( not std::isnan( sol.norm() ) );
solStages.row( substep ) = sol;
}
示例9: storeFunction
void DataStorage::storeFunction(
const fsi::vector & f,
int substep
)
{
assert( f.rows() == F.cols() );
assert( substep <= F.rows() );
assert( not std::isnan( f.norm() ) );
F.row( substep ) = f;
}
示例10: operator
int operator()(
const fsi::vector & x,
fsi::vector & fvec
) const
{
fsi::vector output( x.rows() );
model->evaluate( x, output, fvec );
fvec -= *y;
return 0;
}
示例11: setOldSolution
void ESDIRK::setOldSolution(
int timeIndex,
const fsi::vector & result
)
{
assert( timeIndex >= this->timeIndex );
if ( qold.rows() == result.rows() )
qold = solStages.bottomRows( 1 ).transpose();
else
if ( timeIndex > this->timeIndex )
qold = result;
this->timeIndex = timeIndex;
}
示例12: isConvergence
bool ImplicitMultiLevelFsiSolver::isConvergence(
const fsi::vector & x,
const fsi::vector & xprev
)
{
assert( init );
assert( x.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
|| x.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
+ fsi->fluidSolver->couplingGridSize * fsi->fluid->dim );
assert( xprev.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
|| xprev.rows() == fsi->solidSolver->couplingGridSize * fsi->solid->dim
+ fsi->fluidSolver->couplingGridSize * fsi->fluid->dim );
assert( x.rows() == xprev.rows() );
return fsi->isConvergence( x, xprev );
}