swh:1:snp:f521c49ab17ef7db6ec70b2430e1ed203f50383f
Raw File
Tip revision: ceace3738a871785207924d670fb457db0f32a39 authored by Dmitri Naumov on 20 March 2021, 11:33:04 UTC
[App/IO] Remove unused XmlNumInterface.
Tip revision: ceace37
FormKelvinVectorFromThermalExpansivity.h
/**
 * \file
 * \copyright
 * Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org)
 *            Distributed under a Modified BSD License.
 *              See accompanying file LICENSE.txt or
 *              http://www.opengeosys.org/project/license
 *
 * Created on February 12, 2021, 4:34 PM
 */

#pragma once

#include <Eigen/Dense>
#include <variant>

#include "MaterialLib/MPL/Property.h"
#include "MathLib/KelvinVector.h"

namespace MaterialPropertyLib
{
/**
 * \brief A function to form a Kelvin vector from thermal expansivity for
 * thermal strain.
 *
 * It takes the thermal expansivity, either a scalar number for isotropic
 * thermal expansion or a three element vector for anisotropic thermal
 * expansion, to get a Kelvin vector for thermal strain.
 *
 * @param values: Thermal expansivity, which can be scalar number or a three
 *                element vector.
 * @return        Thermal expansivity in Kelvin vector type.
 */
template <int GlobalDim>
MathLib::KelvinVector::KelvinVectorType<GlobalDim>
formKelvinVectorFromThermalExpansivity(
    MaterialPropertyLib::PropertyDataType const& values);

}  // namespace MaterialPropertyLib
back to top