[Dune] Handling several materials
HELFER Thomas 202608
thomas.helfer at cea.fr
Mon Apr 6 16:20:08 CEST 2020
Hi Christian,
Thanks again for this answer. To begin with, I'll follow your suggestion.
However, I find them interesting, for example for combining small strain analysis in some materials
and finite strain analysis on other parts.
In case of adaptative remeshing, would those modules update individual domains, so I
would not have to care about those technicalities you mentionned ?
Thomas
________________________________________
De : Christian Engwer [christian.engwer at uni-muenster.de]
Envoyé : lundi 6 avril 2020 16:12
À : HELFER Thomas 202608
Cc : dune at lists.dune-project.org
Objet : Re: [Dune] Handling several materials
Hi Thomas,
> I have a naïve question about how I could hande several materials in solid mechanics (with different state variables on each materials).
> It looks like the dune-subgrid module and dune-multidomaingrid provide appropriate functionalities.
> Would someone confirm that those modules are the way to go ?
These modules are a bit overkill for what you want to do. They are
intended for handling different PDEs in different arts of the domain
and in particular different unknowns. If you only want to use
different material properteis, you can simly do this inside your
parameter class.
If you look for example at the linear-elasticity operator in
dune-pdelab, you parametrize the operator with an object that fulfills
the LinearElasticityParameterInterface model. In this class you have
two methods `lambda` and `mu` to specify the Lame parameters. Both
methods take an element and a local coordinate, i.e. they model
spatially varying parameters. If your function is analytic, you can
simply evaluate functions at the given global position (transforming
from local to global coordinates). I assume you are using something
more complicated...
The usual way people do this, is as follows: Assume you you are using
gmsh to generate your mesh. In the gmsh file you can define different
physical entities, i.e. subdomains. In the mesh file, these subdomain
indices are present as integer values attached to each cell. The
Dune::GmshReader allow to pass in a std::vector, which will be filled
by the indices for each cell. You can then use these indices to map to
a particular parameter set. There are some technicalities, as the mesh
can be modified after initialization and the cell numbering does not
have to match that in the gmsh file, but the general approach is
this...
Best
Christian
More information about the Dune
mailing list