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