OGS
LocalAssemblerInterface.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <vector>
14
17
18namespace ProcessLib
19{
20namespace PhaseField
21{
25{
26 virtual std::vector<double> const& getIntPtSigma(
27 const double t,
28 std::vector<GlobalVector*> const& x,
29 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
30 std::vector<double>& cache) const = 0;
31
32 virtual std::vector<double> const& getIntPtSigmaTensile(
33 const double t,
34 std::vector<GlobalVector*> const& x,
35 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
36 std::vector<double>& cache) const = 0;
37
38 virtual std::vector<double> const& getIntPtSigmaCompressive(
39 const double t,
40 std::vector<GlobalVector*> const& x,
41 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
42 std::vector<double>& cache) const = 0;
43
44 virtual std::vector<double> const& getIntPtEpsilon(
45 const double t,
46 std::vector<GlobalVector*> const& x,
47 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
48 std::vector<double>& cache) const = 0;
49
50 virtual std::vector<double> const& getIntPtEpsilonTensile(
51 const double t,
52 std::vector<GlobalVector*> const& x,
53 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_table,
54 std::vector<double>& cache) const = 0;
55
57 std::size_t mesh_item_id,
58 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_tables,
59 std::vector<GlobalVector*> const& x, double const t,
60 double& crack_volume) = 0;
61
62 virtual void computeEnergy(
63 std::size_t mesh_item_id,
64 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_tables,
65 std::vector<GlobalVector*> const& x, double const t,
66 double& elastic_energy, double& surface_energy,
67 double& pressure_work) = 0;
68};
69
70} // namespace PhaseField
71} // namespace ProcessLib
virtual std::vector< double > const & getIntPtSigmaTensile(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 & getIntPtEpsilonTensile(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 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 void computeCrackIntegral(std::size_t mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x, double const t, double &crack_volume)=0
virtual std::vector< double > const & getIntPtSigmaCompressive(const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const =0
virtual void computeEnergy(std::size_t mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x, double const t, double &elastic_energy, double &surface_energy, double &pressure_work)=0