Re: [deal.II] Thermohydromechanical finite element modeling

2020-01-24 Thread amir kiani
Dear Wolfgang Thank you for your support. Good luck and good wishes. Amir On Friday, January 24, 2020 at 10:09:42 PM UTC+3:30, Wolfgang Bangerth wrote: > > On 1/24/20 9:45 AM, amir kiani wrote: > > I am trying to find an FEM library that helps me to model a fully > > coupled THM modeling. >

Re: [deal.II] Extract constant modes slow

2020-01-24 Thread Wolfgang Bangerth
On 1/24/20 11:52 AM, Jonathan Russ wrote: > > Since you asked I decided to time each thing individually that I > commented out to make sure I knew which function call was taking so > long. It turns out that I was incorrect before when I said that > extract_constant_modes was slow. I was

Re: [deal.II] Thermohydromechanical finite element modeling

2020-01-24 Thread Wolfgang Bangerth
On 1/24/20 9:45 AM, amir kiani wrote: > I am trying to find an FEM library that helps me to model a fully > coupled THM modeling. > I want to implement a THM formulation exactly the same as the attached file. > Can I use deal.ii for this purpose? Yes, but there is no code freely available to the

Re: [deal.II] Extract constant modes slow

2020-01-24 Thread Jonathan Russ
Professor Bangerth - Thank you for your reply, however, I just seemed to have solved my problem. I had a block system with one vector valued field and one scalar valued field. When I extract the constant modes for the vector valued field it is very fast (using the vector component mask).

Re: [deal.II] Extract constant modes slow

2020-01-24 Thread Wolfgang Bangerth
On 1/23/20 5:00 PM, Jonathan Russ wrote: > > I noticed that the Trilinos ML preconditioner accessed through the > TrilinosWrappers benefits heavily from supplying the constant modes or > the null-space of the laplace operator. Using the extract_constant_modes > functionality I notice that this

Re: [deal.II] number of cells sharing a line

2020-01-24 Thread luca.heltai
Nicola, I would simply do this by std::mapline(0)), unsigned int> line_count; for(const auto : tria.active_cell_iterators()) { for(unsigned int i=0; i< GeometryInfo::lines_per_cell; ++i) { const it = line_count.find(cell->line(i)); if(it !=