From ca4a92c3ac8f78f4d018654c4e41b63f1e6a81dc Mon Sep 17 00:00:00 2001 From: Christoph Lehmann <christoph.lehmann@ufz.de> Date: Mon, 21 Mar 2022 11:41:46 +0100 Subject: [PATCH] Extended documentation --- .../properties/property/Constant/t_value.md | 19 ++++++++++++++++++- .../docs/userguide/basics/conventions.md | 10 +++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Documentation/ProjectFile/properties/property/Constant/t_value.md b/Documentation/ProjectFile/properties/property/Constant/t_value.md index 7111dc3dce4..6b61a788c5b 100644 --- a/Documentation/ProjectFile/properties/property/Constant/t_value.md +++ b/Documentation/ProjectFile/properties/property/Constant/t_value.md @@ -1 +1,18 @@ -A numeric value of one of the implemented data types as given in MaterialPropertyLib::PropertyDataType. +The numerical value of one of the implemented data types, as given in MaterialPropertyLib::PropertyDataType. + +Scalars, vectors (2 or 3 components), symmetric 3D tensors (6 components) and +full tensors (4 or 9 components) are supported. Based on the number of +components, OGS will deduce the type of the quantity (scalar/vector/tensor, +1D/2D/3D) automatically. + +The elements of `<values>` are in row-major order. I.e., if you write the +following into your project file +``` +<value> +1 2 +3 4 +</value> +``` +OGS will read the proper 2x2 matrix. + +For the order of symmetric tensor components please refer to [the user guide](https://www.opengeosys.org/docs/userguide/basics/conventions/#symmetric-tensors). diff --git a/web/content/docs/userguide/basics/conventions.md b/web/content/docs/userguide/basics/conventions.md index 7b2181e8665..679652089ab 100644 --- a/web/content/docs/userguide/basics/conventions.md +++ b/web/content/docs/userguide/basics/conventions.md @@ -88,13 +88,17 @@ This order is used, e.g., to display the per component convergence of the non-li * [TwoPhaseFlow with PP](https://doxygen.opengeosys.org/d0/d3f/namespaceProcessLib_1_1TwoPhaseFlowWithPP.html#processvariablestpfwpp) * [TwoPhaseFlow with Prho](https://doxygen.opengeosys.org/d4/de4/namespaceProcessLib_1_1TwoPhaseFlowWithPrho.html#processvariablestpfwprho) -## Kelvin mapping +## <a name="symmetric-tensors"></a> Symmetric tensors and Kelvin mapping To map the elasticity/stiffness tensor OpenGeoSys internally uses a Kelvin mapping with an adapted component ordering for computational reasons \[[1](https://arxiv.org/abs/1605.09606)\]. -For 2D, the Kelvin-Vector of the stress tensor looks like $\sigma=(\sigma_{xx},\sigma_{yy},\sigma_{zz},\sqrt{2}\sigma_{xy})$ whereas the 3D version reads as $\sigma=(\sigma_{xx},\sigma_{yy},\sigma_{zz},\sqrt{2}\sigma_{xy}, \sqrt{2}\sigma_{yz},\sqrt{2}\sigma_{xz})$. The actual output consists of the full (symmetric) tensor elements (without the factor $\sqrt{2}$) retaining the same order. +For 2D, the Kelvin-Vector of the stress tensor looks like $\sigma=(\sigma_{xx},\sigma_{yy},\sigma_{zz},\sqrt{2}\sigma_{xy})$ whereas the 3D version reads as $\sigma=(\sigma_{xx},\sigma_{yy},\sigma_{zz},\sqrt{2}\sigma_{xy}, \sqrt{2}\sigma_{yz},\sqrt{2}\sigma_{xz})$. For Kelvin mapping also see the [conversion function documentation](https://doxygen.opengeosys.org/d6/dce/namespacemathlib_1_1kelvinvector#ad78b122c10e91732e95181b6c9a92486). +The input and output of symmetric tensors consists of the full (symmetric) tensor elements (without the factor $\sqrt{2}$), retaining the same order. +I.e., Input and output components are be $\sigma=(\sigma_{xx},\sigma_{yy},\sigma_{zz},\sigma_{xy})$ +and $\sigma=(\sigma_{xx},\sigma_{yy},\sigma_{zz},\sigma_{xy},\sigma_{yz},\sigma_{xz})$, respectively. + ## Staggered Scheme A staggered scheme solves coupled problems by alternating on separate physical domains (e.g. thermal and mechanical) in contrast to monolithic schemes which solve all domains simultaneously (e.g. thermomechanical). @@ -138,4 +142,4 @@ For isotropic, linear elasticity we provide the interval [[2]](#2) and the recom {{< bib "stonor2019" >}} <a id="3">[3]</a> -{{< bib "mikwhe2013" >}} \ No newline at end of file +{{< bib "mikwhe2013" >}} -- GitLab