From 2d68cd83b6018c99fce4d619e9eecd76abe956dc Mon Sep 17 00:00:00 2001 From: Norihiro Watanabe <norihiro.watanabe@ufz.de> Date: Fri, 23 Sep 2016 14:22:13 +0200 Subject: [PATCH] add MaterialLib/FractureModels and its base class --- MaterialLib/CMakeLists.txt | 1 + .../FractureModels/FractureModelBase.h | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 MaterialLib/FractureModels/FractureModelBase.h diff --git a/MaterialLib/CMakeLists.txt b/MaterialLib/CMakeLists.txt index 2120e13374d..55fc32038ba 100644 --- a/MaterialLib/CMakeLists.txt +++ b/MaterialLib/CMakeLists.txt @@ -2,6 +2,7 @@ get_source_files(SOURCES) append_source_files(SOURCES Adsorption) append_source_files(SOURCES SolidModels) +append_source_files(SOURCES FractureModels) append_source_files(SOURCES Fluid) append_source_files(SOURCES Fluid/Density) diff --git a/MaterialLib/FractureModels/FractureModelBase.h b/MaterialLib/FractureModels/FractureModelBase.h new file mode 100644 index 00000000000..fd0a1778f53 --- /dev/null +++ b/MaterialLib/FractureModels/FractureModelBase.h @@ -0,0 +1,40 @@ +/** + * \copyright + * Copyright (c) 2012-2016, 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 <Eigen/Eigen> + +#include "ProcessLib/Parameter/Parameter.h" + +namespace MaterialLib +{ +namespace Fracture +{ + +template <int DisplacementDim> +class FractureModelBase +{ +public: + virtual ~FractureModelBase() {} + + virtual void computeConstitutiveRelation( + double const t, + ProcessLib::SpatialPosition const& x, + Eigen::Ref<Eigen::VectorXd const> w_prev, + Eigen::Ref<Eigen::VectorXd const> w, + Eigen::Ref<Eigen::VectorXd const> sigma_prev, + Eigen::Ref<Eigen::VectorXd> sigma, + Eigen::Ref<Eigen::MatrixXd> C) = 0; + +}; + +} // namespace Fracture +} // namespace MaterialLib + -- GitLab