本文整理汇总了C++中fsi::vector::data方法的典型用法代码示例。如果您正苦于以下问题:C++ vector::data方法的具体用法?C++ vector::data怎么用?C++ vector::data使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fsi::vector
的用法示例。
在下文中一共展示了vector::data方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setSolution
void SDCFsiSolver::setSolution(
const fsi::vector & solution,
const fsi::vector & f
)
{
Eigen::Map<const fsi::vector> solFluid( solution.data(), dofFluid );
Eigen::Map<const fsi::vector> solSolid( solution.data() + dofFluid, dofSolid );
Eigen::Map<const fsi::vector> fFluid( f.data(), dofFluid );
Eigen::Map<const fsi::vector> fSolid( f.data() + dofFluid, dofSolid );
fluid->setSolution( solFluid, fFluid );
solid->setSolution( solSolid, fSolid );
}
示例2: implicitSolve
void SDCFsiSolver::implicitSolve(
bool corrector,
const int k,
const int kold,
const scalar t,
const scalar dt,
const fsi::vector & qold,
const fsi::vector & rhs,
fsi::vector & f,
fsi::vector & result
)
{
Eigen::Map<const fsi::vector> qoldFluid( qold.data(), dofFluid );
Eigen::Map<const fsi::vector> qoldSolid( qold.data() + dofFluid, dofSolid );
Eigen::Map<const fsi::vector> rhsFluid( rhs.data(), dofFluid );
Eigen::Map<const fsi::vector> rhsSolid( rhs.data() + dofFluid, dofSolid );
fluid->prepareImplicitSolve( corrector, k, kold, t, dt, qoldFluid, rhsFluid );
solid->prepareImplicitSolve( corrector, k, kold, t, dt, qoldSolid, rhsSolid );
// Perform FSI iterations to solve the coupled problem
postProcessing->fsi->newMeasurementSeries();
// Initial solution
fsi::vector x0;
if ( corrector )
x0 = xStages.at( k + 1 );
else
x0 = xStages.at( k );
postProcessing->initStage( k );
postProcessing->performPostProcessing( x0, postProcessing->fsi->x );
postProcessing->finalizeStage();
getSolution( result, f );
evaluateFunction( k, result, t, f );
xStages.at( k + 1 ) = postProcessing->fsi->x;
fluid->finalizeImplicitSolve( k );
solid->finalizeImplicitSolve( k );
}
示例3: evaluateFunction
void SDCFsiSolver::evaluateFunction(
const int k,
const fsi::vector & q,
const scalar t,
fsi::vector & f
)
{
fsi::vector fFluid( dofFluid ), fSolid( dofSolid );
Eigen::Map<const fsi::vector> qFluid( q.data(), dofFluid );
Eigen::Map<const fsi::vector> qSolid( q.data() + dofFluid, dofSolid );
fluid->evaluateFunction( k, qFluid, t, fFluid );
solid->evaluateFunction( k, qSolid, t, fSolid );
f.head( dofFluid ) = fFluid;
f.tail( dofSolid ) = fSolid;
}