Hi Daniel,
               Thank you for the suggestion and I also think it can be one 
of the way to successfully run both solutions by sharing information on 
correct corresponding q_points. 
I tried the same approach (as I am also using partitioned approach for 
thermomechanical coupling) but so far my (mesh files being read for both 
thermal and solid mechanics parts are same but ) triangulation are 
different. 
So I also want to use the same triangulation with different dof_handler for 
both parts. 

*The scenario of workflow in my case is following:*
The thermal code uses the *Triangulation<dim> triangulation_thermal* while 
the solid mechanics code is using *parallel::distributed::Triangulation<dim> 
triangulation_solid*. Yes the thermal part is programmed in serial and the 
solid mechanics part in parallel. The solid mechanics code runs and makes 
the grid with it's triangulation, As I want to use the same triangulation 
so I try to copy this triangulation with function 
*triangulation_solid.copy_triangulation(triangulation_thermal) 
*and here the *triangulation_thermal *is the one which I will pass to the 
name space and class of thermal analysis part before running it. Moreover 
during my analysis of solid mechanics part I also refine the mesh (and 
would also want to use the same refined mesh for the thermal analysis too 
by copying it).  

After describing the scenario following are my concerns where I need your 
expert opinion : 
*1)* when I use the *copy_triangulation() *function, I come across the 
error (even here the mesh is not refined so far but still) mentioning : 




*  void dealii::Triangulation<dim, spacedim>::copy_triangulation(const 
dealii::Triangulation<dim, spacedim>&) [with int dim = 2; int spacedim = 
2]The violated condition was:     (vertices.size() == 0) && (levels.size() 
== 0) && (faces == nullptr)Additional information:     You are trying to 
perform an operation on a triangulation that is only allowed if the 
triangulation is currently empty. However, it currently stores 100 vertices 
and has cells on 1 levels.*

*2)* As far as the documentation of *tria.h* is concerned it also informs 
that the *copy_triangulation()* cannot copy the refined mesh (where in my 
case the mesh might also get refined during analysis based on certain 
criteria and I would like to use same refined triangulation by copying it 
for thermal analysis so that triangulation is same in both problems).

considering the above scenario as well as the concerns, I would be grateful 
to receive any suggestion from your side. Hope I am clear in my description.
Waiting for your kind response. Thank you in advance!

*Best regards,*
Muhammad

On Thursday, March 3, 2016 at 10:49:37 AM UTC+1, Daniel Arndt wrote:
>
> Hello Sudharsan,
>
> what you want to do is to step through all the cells and reinitialize both 
> DoFHandlers simultaneously, i.e. something like
>
> cell_elastic=dh_elastic.begin_active();
> cell_temperature=dh_temperature.begin_active();
> for (;cell_elastic != dh_elastic.end(); ++cell_elastic, ++cell_temperature)
> {
>   fe_values_elastic.reinit(cell_elastic);
>   fe_values_temperature.reinit(cell_temperature);
>   fe_values_temperature.get_function_values(temperature, 
> local_temperature);
> ...
> }
>
> This of course can only work if both DoFHandlers are based on the same 
> Triangulation.
>
> Best regards,
> Daniel
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/1ca1a6d7-81a2-4353-af83-2d8e4d002c30%40googlegroups.com.

Reply via email to