OGS
HydroMechanics/LocalAssemblerInterface.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
9
10namespace ProcessLib
11{
12namespace HydroMechanics
13{
14template <int DisplacementDim>
17{
18 virtual std::size_t setIPDataInitialConditions(
19 std::string_view const name, double const* values,
20 int const integration_order) = 0;
21
22 virtual std::vector<double> getSigma() const = 0;
23
24 virtual std::vector<double> getEpsilon() const = 0;
25
26 virtual std::vector<double> getStrainRateVariable() const = 0;
27
28 virtual std::vector<double> const& getIntPtSigma(
29 const double t,
30 std::vector<GlobalVector*> const& x,
31 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
32 std::vector<double>& cache) const = 0;
33
34 virtual std::vector<double> const& getIntPtEpsilon(
35 const double t,
36 std::vector<GlobalVector*> const& x,
37 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
38 std::vector<double>& cache) const = 0;
39
40 virtual std::vector<double> const& getIntPtDarcyVelocity(
41 const double t,
42 std::vector<GlobalVector*> const& x,
43 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
44 std::vector<double>& cache) const = 0;
45
46 // TODO move to NumLib::ExtrapolatableElement
47 virtual unsigned getNumberOfIntegrationPoints() const = 0;
48
49 virtual int getMaterialID() const = 0;
50
52 DisplacementDim>::MaterialStateVariables const&
53 getMaterialStateVariablesAt(unsigned /*integration_point*/) const = 0;
54};
55
56} // namespace HydroMechanics
57} // namespace ProcessLib
virtual unsigned getNumberOfIntegrationPoints() const =0
virtual std::size_t setIPDataInitialConditions(std::string_view const name, double const *values, int const integration_order)=0
virtual std::vector< double > getSigma() const =0
virtual std::vector< double > const & getIntPtSigma(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
virtual std::vector< double > const & getIntPtDarcyVelocity(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
virtual std::vector< double > const & getIntPtEpsilon(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
virtual MaterialLib::Solids::MechanicsBase< DisplacementDim >::MaterialStateVariables const & getMaterialStateVariablesAt(unsigned) const =0
virtual std::vector< double > getStrainRateVariable() const =0
virtual std::vector< double > getEpsilon() const =0