getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] r5491 - /trunk/getfem/doc/sphinx/source/userdoc/gasm_hi


From: Yves . Renard
Subject: [Getfem-commits] r5491 - /trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst
Date: Tue, 29 Nov 2016 20:34:50 -0000

Author: renard
Date: Tue Nov 29 21:34:50 2016
New Revision: 5491

URL: http://svn.gna.org/viewcvs/getfem?rev=5491&view=rev
Log:
some doc for element extrapolation transformation

Modified:
    trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst

Modified: trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst?rev=5491&r1=5490&r2=5491&view=diff
==============================================================================
--- trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst        (original)
+++ trunk/getfem/doc/sphinx/source/userdoc/gasm_high.rst        Tue Nov 29 
21:34:50 2016
@@ -615,7 +615,7 @@
 
 In order to use this functionality, the user have first to declare to the 
workspace or to the model object an interpolate transformation which described 
the map between the current integration point and the point lying on the same 
mesh or on another mesh.
 
-Different kind of transformations can be described. For the moment, two kinds 
of transformations has been implemented. The first one, described here is a 
transformation described by an expression. The second one corresponds to the 
raytracing contact detection (see 
:ref:`ud-model-contact-friction_raytrace_inter_trans`)
+Different kind of transformations can be described. Several kinds of 
transformations has been implemented. The first one, described hereafter is a 
transformation described by an expression. A second one corresponds to the 
raytracing contact detection (see 
:ref:`ud-model-contact-friction_raytrace_inter_trans`). Some other 
transformations (neighbour element and element extrapolation) are describe in 
the next sections. 
 
 The transformation defined by an expression can be added to the workspace or 
the model thanks to the command::
  
@@ -681,12 +681,34 @@
 
 **CAUTION**: You have to think that when some variables are used in the 
transformation, the computation of the tangent system takes into account these 
dependence. However, the second derivative of a transformation with respect to 
a variable used has not been implemented. Thus, such a transformation is not 
allowed in the definition of a potential since it cannot be derived twice.
 
+Element extrapolation transformation
+------------------------------------
+
+A specific transformation (see previous section) is defined in order to allows 
the evaluation of certain quantities by extrapolation with respect to another 
element (in general a neighbour element). This is not strictly speaking a 
transformation since the point remain unchanged, but the evaluation is just 
made in another element extrapolating the shape functions outside this element. 
This transformation is used for stabilization term in fictitious domain 
applications (with cut elements) where it is more robust to extrapolate some 
quantities on a neighbour element having a sufficiently large intersection with 
the real domain than evaluating them on the current element if it has a small 
intersection with the real domain. The functions allowing to add such a 
transformation to a workspace or a model are::
+
+  add_element_extrapolation_transformation
+  (md, transname, my_mesh, std::map<size_type, size_type> &elt_corr);
+
+  add_element_extrapolation_transformation
+  (workspace, transname, my_mesh, std::map<size_type, size_type> &elt_corr);
+
+The map elt_corr should contains the correspondances between the elements 
where the transformation is to be applied and the respective elements where the 
extrapolation has to be made. On the element not listed in the map, no 
transformation is applied and the evaluation is made normally on the current 
element.
+  
+The following functions allows to change the element correspondance of an 
already added element extrapolation transformation::
+
+  set_element_extrapolation_correspondance
+  (md, transname, std::map<size_type, size_type> &elt_corr);
+  
+  set_element_extrapolation_correspondance
+  (workspace, transname, std::map<size_type, size_type> &elt_corr);
+
+
 .. _ud-gasm-high-inter-elt-disc:
 
 Evaluating discontinuities across inter-element edges/faces
 -----------------------------------------------------------
 
-A specific interpolate transformation (see previous section), called 
``neighbour_elt`` is defined by default in all models. This transformation can 
only be used when a computation is made on an internal edge/face of a mesh, 
i.e. an element face shared at least by two elements. It aims to compute 
discontinuity jumps of a variable across inter-element faces. It is 
particularly suitable to implement Discontinuous Galerkin and interior penalty 
methods, Ghost penalty terms or a posteriori estimators. The expressions::
+A specific interpolate transformation (see previous sections), called 
``neighbour_elt`` is defined by default in all models. This transformation can 
only be used when a computation is made on an internal edge/face of a mesh, 
i.e. an element face shared at least by two elements. It aims to compute 
discontinuity jumps of a variable across inter-element faces. It is 
particularly suitable to implement Discontinuous Galerkin and interior penalty 
methods, Ghost penalty terms or a posteriori estimators. The expressions::
 
   Interpolate(Normal, neighbour_elt)
   Interpolate(X, neighbour_elt)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]