[deal.II] PETScWrappers::SparseDirectMUMPS use in parallel version of step-22

2017-09-13 Thread Anna Avdeeva
Dear All,

I have modified step-22 to solve system of Maxwell's equations, and then 
used step-40(and 55) to parallelize the code.
In the serial version I used

template
struct InnerPreconditioner;
template<>
struct InnerPreconditioner<0>
{
typedef SparseDirectUMFPACK type;
};
template<>
struct InnerPreconditioner<1>
{
// type of preconditioner for an iterative solver
};

Which defined the type of preconditioner I need for CG solver, in order to 
obtain yet another preconditioner for FGMRES solution of my system.
Now with parallel implementation I would like to use 
PETScWrappers::SparseDirectMUMPS instead of SparseDirectUMFPACK.

However I am getting the following error:

 error: ‘SparseDirectMUMPS’ in namespace ‘LA’ does not name a type
 typedef LA::SparseDirectMUMPS type;

Here LA is defined as 
namespace LA
{
#if defined(DEAL_II_WITH_PETSC) && !(defined(DEAL_II_WITH_TRILINOS) && 
defined(FORCE_USE_OF_TRILINOS))
using namespace dealii::LinearAlgebraPETSc;
#  define USE_PETSC_LA
#elif defined(DEAL_II_WITH_TRILINOS)
using namespace dealii::LinearAlgebraTrilinos;
#else
#  error DEAL_II_WITH_PETSC or DEAL_II_WITH_TRILINOS required
#endif
}

Is it possible to do something similar to step-22 with  SparseDirectMUMPS, 
or I have to rewrite the code and remove the struct InnerPreconditioner ?

Thank you very much in advance for all your help.

Anna
 








-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [deal.II] Parallel implementation

2017-09-13 Thread Anna Avdeeva
Dear Wolfgang,

thank you very much for the link. I have followed their approach, but 
before I can check the result, I have to substitute the solver I used for a 
parallel solver.

Anna 

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [deal.II] PETScWrappers::SparseDirectMUMPS use in parallel version of step-22

2017-09-13 Thread Timo Heister
Anna,

> Now with parallel implementation I would like to use
> PETScWrappers::SparseDirectMUMPS instead of SparseDirectUMFPACK.
>
> However I am getting the following error:
>
>  error: ‘SparseDirectMUMPS’ in namespace ‘LA’ does not name a type
>  typedef LA::SparseDirectMUMPS type;

You have to use PETScWrappers::SparseDirectMUMPS here


-- 
Timo Heister
http://www.math.clemson.edu/~heister/

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[deal.II] Re: Linking error when compiling with Trilinos

2017-09-13 Thread Bruno Turcksin
Hi,

You have several problems.

On Wednesday, September 13, 2017 at 4:58:10 AM UTC-4, Maxi Miller wrote:

>
> ~/local_opt/trilinos/lib/libmuelu-adapters.so: error: undefined reference 
> to 'dmumps_c'
>
You have compile deal or trilinos with MUMPS support but the linker does 
not find it

/petsc/lib/libsuperlu_dist.so ~/local_opt/parmetis/lib/libparmetis.a ~
> /local_opt/metis/lib/libmetis.a /usr/lib64/liblapack.so /usr/lib64/libblas
> .so /usr/lib64/libhwloc.so /usr/lib64/libX11.so /usr/lib64/libssl.so /usr/
> lib64/libcrypto.so ~/local_opt/openmpi/lib/libmpi_usempif08.so ~
> /local_opt/openmpi/lib/libmpi_usempi_ignore_tkr.so ~/local_opt/openmpi/lib
> /libmpi_mpifh.so -ldl -lrt ~/local_opt/p4est/lib/libp4est.so ~/local_opt/
> p4est/lib/libsc.so /usr/lib64/libopenblas.so -lmpi_usempif08 
> -lmpi_usempi_ignore_tkr 
> -lmpi_mpifh -lmpi -lgfortran -lquadmath -lm -lpthread -lc -lgcc_s -lgcc ~
> /local_opt/openmpi/lib/libmpi.so 
> ~/local_opt/intel/mkl/lib/intel64/libmkl_rt.so: error: undefined 
> reference to 'printf'
> ~/local_opt/intel/mkl/lib/intel64/libmkl_rt.so: error: undefined 
> reference to 'strchr'
>
The error is from MKL which implements Lapack BUT in you are also using 
openblas which implements Lapack and Lapack. So you are mixing three 
different implementation of Lapack (MKL, Openblas, and lapack). That's a 
recipe for disaster make sure all the libraries that you are compiling are 
using the same implementation of Lapack.

Best,

Bruno


-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[deal.II] what is the material id after coarsening

2017-09-13 Thread Zhibo Luo
Hi guys,

I encountered a problem recently when I refine and coarse mesh. I know the 
material id is inherited from mother to child cell upon mesh refinement. 
But what is the rules when coarsening the mesh? For example, in 2D, I have 
four neighbored cells which have different material ids, then what is the 
material id when these four cells are combined into one cell? what I should 
do if I want to coarsening the cells with the same material id?

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [deal.II] what is the material id after coarsening

2017-09-13 Thread Wolfgang Bangerth

On 09/13/2017 09:12 AM, Zhibo Luo wrote:


I encountered a problem recently when I refine and coarse mesh. I know 
the material id is inherited from mother to child cell upon mesh 
refinement. But what is the rules when coarsening the mesh? For example, 
in 2D, I have four neighbored cells which have different material ids, 
then what is the material id when these four cells are combined into one 
cell? what I should do if I want to coarsening the cells with the same 
material id?


It's just the same value as you set before you refined the cell originally.

When you refine cells, the children are new and we need a rule what 
their material_ids should be. But when you coarsen these children again, 
then the mother cell you get has been there all along -- so we need no 
rule what material_id it should get, it just retains the material_id it 
has always had.


Best
 W.

--

Wolfgang Bangerth  email: bange...@colostate.edu
   www: http://www.math.colostate.edu/~bangerth/

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [deal.II] what is the material id after coarsening

2017-09-13 Thread Zhibo Luo
Thank you Prof. Wolfgan. I just realize that. So if I want to coarsen the 
neighbored cells with the same material id, I should find their parent cell 
and set the same material id. Is this right?

Best regards,
Zhibo

在 2017年9月13日星期三 UTC-4上午11:49:38,Wolfgang Bangerth写道:
>
> On 09/13/2017 09:12 AM, Zhibo Luo wrote: 
> > 
> > I encountered a problem recently when I refine and coarse mesh. I know 
> > the material id is inherited from mother to child cell upon mesh 
> > refinement. But what is the rules when coarsening the mesh? For example, 
> > in 2D, I have four neighbored cells which have different material ids, 
> > then what is the material id when these four cells are combined into one 
> > cell? what I should do if I want to coarsening the cells with the same 
> > material id? 
>
> It's just the same value as you set before you refined the cell 
> originally. 
>
> When you refine cells, the children are new and we need a rule what 
> their material_ids should be. But when you coarsen these children again, 
> then the mother cell you get has been there all along -- so we need no 
> rule what material_id it should get, it just retains the material_id it 
> has always had. 
>
> Best 
>   W. 
>
> -- 
>  
> Wolfgang Bangerth  email: bang...@colostate.edu 
>  
> www: http://www.math.colostate.edu/~bangerth/ 
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [deal.II] what is the material id after coarsening

2017-09-13 Thread Wolfgang Bangerth

On 09/13/2017 09:59 AM, Zhibo Luo wrote:
Thank you Prof. Wolfgan. I just realize that. So if I want to coarsen 
the neighbored cells with the same material id, I should find their 
parent cell and set the same material id. Is this right?


You can.

What I'm saying is that if you had set the material_id of a cell (say, 
to a value of 42) before it was refined and replaced by its children, 
then after coarsening these children the parent cell will still have the 
value 42.


Best
 W.


--

Wolfgang Bangerth  email: bange...@colostate.edu
   www: http://www.math.colostate.edu/~bangerth/

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.

To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.