Loading [MathJax]/extensions/MathZoom.js
OGS
LocalAssemblerInterface.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <vector>
14
17
18namespace ProcessLib
19{
20namespace HMPhaseField
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& getIntPtEpsilon(
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& getIntPtWidth(
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
45 std::size_t mesh_item_id,
46 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_tables,
47 std::vector<GlobalVector*> const& x, double const t,
48 double const dt) = 0;
49
50 virtual void computeEnergy(
51 std::size_t mesh_item_id,
52 std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_tables,
53 std::vector<GlobalVector*> const& x, double const t,
54 double& elastic_energy, double& surface_energy,
55 double& pressure_work) = 0;
56};
57
58} // namespace HMPhaseField
59} // namespace ProcessLib
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 approximateFractureWidth(std::size_t mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x, double const t, double const dt)=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
virtual std::vector< double > const & getIntPtWidth(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