Dear deal.II developers,

 

I have tried to write my program for the solution of the fully coupled
Stokes-Poisson-Nernst-Planck system with trilinos. Therefore I have adapted
example step-32. So far everything is ok and for small problems (~200,000
dofs) the code works well. But it was impossible to run my code for 1.5
million dofs, because of the huge memory consumption (I am running the
program on a node with 8 processors and 32 GB of memory). I have the
following snippet of code in my program during the setup-dof function: 

 

{

     Amg_preconditioner.reset ();

     Mp_preconditioner.reset ();

     stokes_matrix.clear ();

     stokes_matrix_copy.clear ();

 

     BlockSparsityPattern stokes_sparsity_pattern (2,2);

     

     BlockCompressedSetSparsityPattern csp (2,2);

 

     csp.block(0,0).reinit (n_u, n_u);

     csp.block(0,1).reinit (n_u, n_p);

     csp.block(1,0).reinit (n_p, n_u);

     csp.block(1,1).reinit (n_p, n_p);

   

     csp.collect_sizes ();

 

     Table<2,DoFTools::Coupling> coupling (dim+1, dim+1);

     for (unsigned int c=0; c<dim+1; ++c)

       for (unsigned int d=0; d<dim+1; ++d){

        coupling[c][d] = DoFTools::always;

       }

        

    DoFTools::make_sparsity_pattern (stokes_dof_handler, coupling, csp);

 

    stokes_constraints.condense (csp);

 

     stokes_sparsity_pattern.copy_from (csp);

 

     stokes_matrix.reinit (stokes_partitioner,

                           stokes_sparsity_pattern);

                           

     stokes_matrix_copy.reinit (stokes_partitioner,

                           stokes_sparsity_pattern);

 

   }

 

I found out that the memory increases during the call
DoFTools::make_sparsity_pattern (stokes_dof_handler, coupling, csp);

But when I check the memory consumption of the dof_handler it seems to
remain the same. So which object needs so much memory (because the memory of
csp should be released at the end of the function)?

 

Is there a possibility to circumvent this huge memory consumption, so that I
have got a chance to run my program for larger problems?

 

Thanks a lot in advance. 

Florian

 

----------------------------------------------------------------------------
-

Dipl.-Math. techn. Florian Keller

Institut für Mechanische Verfahrenstechnik und Mechanik, Universität
Karlsruhe (TH)

Straße am Forum 8, Geb. 30.70, D-76131 Karlsruhe

Tel.: +49 (0)721 608 - 2411

Fax: +49 721 608-2403

E-Mail: [EMAIL PROTECTED]

 

_______________________________________________

Reply via email to