Skip to content

Commit

Permalink
closes #2127 fix parabolic CRB truth model
Browse files Browse the repository at this point in the history
  • Loading branch information
lberti committed Jun 30, 2023
1 parent 3708ba2 commit c3b1aea
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
4 changes: 2 additions & 2 deletions mor/mor/feel/feelmor/crb.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1827,7 +1827,7 @@ CRB<TruthModelType>::offlineFixedPointPrimal(parameter_type const& mu )//, spars

for ( M_bdf_primal->start(u),M_bdf_primal_save->start(u);
!M_bdf_primal->isFinished() && !M_bdf_primal_save->isFinished();
M_bdf_primal->next() , M_bdf_primal_save->next() )
M_bdf_primal->next(u) , M_bdf_primal_save->next() )
{
int bdf_iter = M_bdf_primal->iteration();

Expand Down Expand Up @@ -1913,7 +1913,7 @@ CRB<TruthModelType>::offlineFixedPointPrimal(parameter_type const& mu )//, spars

}while( increment_norm > increment_fixedpoint_tol && iteration < max_fixedpoint_iterations );

M_bdf_primal->shiftRight( u );
// M_bdf_primal->shiftRight( u );
if ( ! M_model->isSteady() )
{
u.close();
Expand Down
20 changes: 10 additions & 10 deletions mor/mor/feel/feelmor/crbmodel.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3615,7 +3615,7 @@ CRBModel<TruthModelType>::solveFemUsingOfflineEim( parameter_type const& mu )
double bdf_coeff ;
auto vec_bdf_poly = M_backend->newVector( Xh );

for( mybdf->start(*InitialGuess); !mybdf->isFinished(); mybdf->next() )
for( mybdf->start(*InitialGuess); !mybdf->isFinished(); mybdf->next(u) )
{
bdf_coeff = mybdf->polyDerivCoefficient( 0 );
auto bdf_poly = mybdf->polyDeriv();
Expand All @@ -3636,7 +3636,7 @@ CRBModel<TruthModelType>::solveFemUsingOfflineEim( parameter_type const& mu )
{
M_backend_primal->solve( _matrix=A , _solution=u, _rhs=Rhs, _rebuild=true);
}
mybdf->shiftRight(u);
// mybdf->shiftRight(u);
}

return u;
Expand Down Expand Up @@ -3696,7 +3696,7 @@ CRBModel<TruthModelType>::solveFemMonolithicFormulation( parameter_type const& m
int iter=0;
double norm=0;

for( mybdf->start(*InitialGuess); !mybdf->isFinished(); mybdf->next() )
for( mybdf->start(*InitialGuess); !mybdf->isFinished(); mybdf->next(u) )
{
bdf_coeff = mybdf->polyDerivCoefficient( 0 );
auto bdf_poly = mybdf->polyDeriv();
Expand Down Expand Up @@ -3725,7 +3725,7 @@ CRBModel<TruthModelType>::solveFemMonolithicFormulation( parameter_type const& m
M_backend_primal->solve( _matrix=A , _solution=u, _rhs=F[0], _rebuild=true);
}

mybdf->shiftRight(u);
// mybdf->shiftRight(u);

if( is_linear )
norm = 0;
Expand Down Expand Up @@ -3866,7 +3866,7 @@ CRBModel<TruthModelType>::solveFemUsingAffineDecompositionFixedPoint( parameter_
auto vec_bdf_poly = M_backend->newVector( Xh );


for( mybdf->start(*initialGuess); !mybdf->isFinished(); mybdf->next() )
for( mybdf->start(*initialGuess); !mybdf->isFinished(); mybdf->next(u) )
{
iter=0;
bdf_coeff = mybdf->polyDerivCoefficient( 0 );
Expand Down Expand Up @@ -3901,7 +3901,7 @@ CRBModel<TruthModelType>::solveFemUsingAffineDecompositionFixedPoint( parameter_
norm = this->computeNormL2( uold , u );
iter++;
} while( norm > increment_fixedpoint_tol && iter<max_fixedpoint_iterations );
mybdf->shiftRight(u);
//mybdf->shiftRight(u);
}
return u;
}
Expand Down Expand Up @@ -4061,7 +4061,7 @@ CRBModel<TruthModelType>::solveFemDualMonolithicFormulation( parameter_type cons
udu=*dual_initial_field;
}

for( mybdf->start(*InitialGuess); !mybdf->isFinished(); mybdf->next() )
for( mybdf->start(*InitialGuess); !mybdf->isFinished(); mybdf->next(udu) )
{
bdf_coeff = mybdf->polyDerivCoefficient( 0 );
auto bdf_poly = mybdf->polyDeriv();
Expand Down Expand Up @@ -4095,7 +4095,7 @@ CRBModel<TruthModelType>::solveFemDualMonolithicFormulation( parameter_type cons

M_backend_dual->solve( _matrix=Adu , _solution=udu, _rhs=Rhs , _prec=M_preconditioner_dual);

mybdf->shiftRight(udu);
// mybdf->shiftRight(udu);
}

return udu;
Expand Down Expand Up @@ -4230,7 +4230,7 @@ CRBModel<TruthModelType>::solveFemDualUsingAffineDecompositionFixedPoint( parame
}


for( mybdf->start(udu); !mybdf->isFinished(); mybdf->next() )
for( mybdf->start(udu); !mybdf->isFinished(); mybdf->next(udu) )
{
iter=0;
bdf_coeff = mybdf->polyDerivCoefficient( 0 );
Expand Down Expand Up @@ -4271,7 +4271,7 @@ CRBModel<TruthModelType>::solveFemDualUsingAffineDecompositionFixedPoint( parame
norm = this->computeNormL2( uold , udu );
iter++;
} while( norm > increment_fixedpoint_tol && iter<max_fixedpoint_iterations );
mybdf->shiftRight(udu);
// mybdf->shiftRight(udu);
}
return udu;
}
Expand Down

0 comments on commit c3b1aea

Please sign in to comment.