Hello,
i'm solving a vector type laplace equation using dealii 7.1 . i have some
iterations in code that for each of them dealii is called and equation is
solved one time (i.e. totally including assembling and solving ) actually in
every iteration some constants in equation are developed and CGsolver was
totally non-convergent in my case . at first i defined my domain ( just for
first iteration) as :
if ( iter == 0)
{
GridGenerator::hyper_cube (triangulation, -1, 1);
triangulation.refine_global (3);
}in tracing problem i checked parts which were done with printf
command .using Bicgstab done parts and errors were
:
============================ Running main
assembling is begun in iteration : 0
assembling is done in iteration : 0
solving is done in iteration : 0
assembling is begun in iteration : 1
assembling is done in iteration : 1
solving is done in iteration : 1
assembling is begun in iteration : 2
--------------------------------------------------------
An error occurred in line <2246> of file
</home/smm/Work/deal.II/include/deal.II/lac/sparse_matrix.h> in function
void dealii::SparseMatrix<number>::add(unsigned int, unsigned int, number)
[with number =
double]
The violated condition was:
numbers::is_finite(value)
The name and call sequence of the exception was:
ExcNumberNotFinite()
Additional Information:
(none)
Stacktrace:
-----------
#0 ./main: dealii::SparseMatrix<double>::add(unsigned int, unsigned int,
double)
#1 ./main: elastic<2>::assemble_direct()
#2 ./main: elastic<2>::run()
#3 ./main: main
--------------------------------------------------------
make: *** [run] Aborted
while i changed my solver
to UMFPAck solver another error was shown :(UMFPACK is installed )
============================ Running main
assembling is begun in iteration : 0
assembling is done in iteration : 0
terminate called after throwing an instance of
'dealii::StandardExceptions::ExcNeedsUMFPACK'
what(): --------------------------------------------------------
An error occurred in line <1843> of file
</home/smm/Work/deal.II/source/lac/sparse_direct.cc> in function
void dealii::SparseDirectUMFPACK::factorize(const Matrix&) [with Matrix =
dealii::SparseMatrix<double>]
The violated condition was:
false
The name and call sequence of the exception was:
ExcNeedsUMFPACK()
Additional Information:
(none)
--------------------------------------------------------
make: *** [run] Aborted
it means equation was not solved even on time .
and when i changed domain to :
GridGenerator::hyper_cube (triangulation, 0, 1);
using Bicgstab solver again the error became :============================
Running main
assembling is begun in iteration : 0
assembling is done in iteration : 0
--------------------------------------------------------
An error occurred in line <457> of file
</home/smm/Work/deal.II/include/deal.II/lac/vector.templates.h> in function
dealii::Vector<Number>::real_type dealii::Vector<Number>::norm_sqr() const
[with Number = double, dealii::Vector<Number>::real_type = double]
The violated condition was:
numbers::is_finite(sum)
The name and call sequence of the exception was:
ExcNumberNotFinite()
Additional Information:
(none)
Stacktrace:
-----------
#0 /home/smm/Work/deal.II/lib/libdeal_II.g.so.7.1.0:
dealii::Vector<double>::norm_sqr() const
#1 /home/smm/Work/deal.II/lib/libdeal_II.g.so.7.1.0:
dealii::Vector<double>::l2_norm() const
#2 ./main: double dealii::SolverBicgstab<dealii::Vector<double>
>::criterion<dealii::SparseMatrix<double> >(dealii::SparseMatrix<double>
const&, dealii::Vector<double> const&, dealii::Vector<double> const&)
#3 ./main: bool dealii::SolverBicgstab<dealii::Vector<double>
>::iterate<dealii::SparseMatrix<double>,
dealii::PreconditionJacobi<dealii::SparseMatrix<double> >
>(dealii::SparseMatrix<double> const&,
dealii::PreconditionJacobi<dealii::SparseMatrix<double> > const&)
#4 ./main: void dealii::SolverBicgstab<dealii::Vector<double>
>::solve<dealii::SparseMatrix<double>,
dealii::PreconditionJacobi<dealii::SparseMatrix<double> >
>(dealii::SparseMatrix<double> const&, dealii::Vector<double>&,
dealii::Vector<double> const&,
dealii::PreconditionJacobi<dealii::SparseMatrix<double> > const&)
#5 ./main: elastic<2>::solve_direct()
#6 ./main: elastic<2>::run()
#7 ./main: main
--------------------------------------------------------
make: *** [run] Aborted
for checking i tried step 29 in tutorial which uses UMFPACK solver and i got
error exactly similar with my case but no problem trying step 9 in tutorial
which uses Bicgstab solver .
any help regard to these problems would be appreciated .
thanks in advance ,S.M.Mohseni
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii