/** * \file * \copyright * Copyright (c) 2012-2020, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license * */ #pragma once #include "NumLib/Extrapolation/ExtrapolatableElement.h" #include "ProcessLib/LocalAssemblerInterface.h" namespace ProcessLib { namespace ThermoHydroMechanics { struct LocalAssemblerInterface : public ProcessLib::LocalAssemblerInterface, public NumLib::ExtrapolatableElement { virtual std::vector getSigma() const = 0; virtual std::vector const& getIntPtSigma( const double t, std::vector const& x, std::vector const& dof_table, std::vector& cache) const = 0; virtual std::vector const& getIntPtEpsilon( const double t, std::vector const& x, std::vector const& dof_table, std::vector& cache) const = 0; virtual std::vector const& getIntPtDarcyVelocity( const double t, std::vector const& x, std::vector const& dof_table, std::vector& cache) const = 0; }; } // namespace ThermoHydroMechanics } // namespace ProcessLib