swh:1:snp:f521c49ab17ef7db6ec70b2430e1ed203f50383f
Raw File
Tip revision: 9bdc4d68a57f7926f6ee7ba931c66228564430aa authored by Jörg Buchwald on 05 October 2021, 18:27:21 UTC
add test using PETSc requiring mat_type seqaij for ILU
Tip revision: 9bdc4d6
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