PolyFEM
Loading...
Searching...
No Matches
ActiveFiber.cpp
Go to the documentation of this file.
1#include "ActiveFiber.hpp"
2
4{
5
7 : Tmax_("Tmax"), activation_("activation")
8 {
9 }
10
11 void ActiveFiber::add_multimaterial(const int index, const json &params, const Units &units)
12 {
13 GenericFiber::add_multimaterial(index, params, units);
14
15 Tmax_.add_multimaterial(index, params, units.stress());
16 activation_.add_multimaterial(index, params, "");
17 }
18
19 std::map<std::string, Assembler::ParamFunc> ActiveFiber::parameters() const
20 {
21 std::map<std::string, ParamFunc> res = GenericFiber<ActiveFiber>::parameters();
22
23 const auto &Tmax = this->Tmax_;
24 const auto &activation = this->activation_;
25
26 res["Tmax"] = [&Tmax](const RowVectorNd &, const RowVectorNd &p, double t, int e) {
27 return Tmax(p, t, e);
28 };
29
30 res["activation"] = [&activation](const RowVectorNd &, const RowVectorNd &p, double t, int e) {
31 return activation(p, t, e);
32 };
33
34 return res;
35 }
36} // namespace polyfem::assembler
std::string stress() const
Definition Units.hpp:27
std::map< std::string, ParamFunc > parameters() const override
void add_multimaterial(const int index, const json &params, const Units &units) override
virtual void add_multimaterial(const int index, const json &params, const Units &units) override
std::map< std::string, Assembler::ParamFunc > parameters() const override
void add_multimaterial(const int index, const json &params, const std::string &unit_type)
Definition MatParams.cpp:30
Used for test only.
nlohmann::json json
Definition Common.hpp:9
Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3 > RowVectorNd
Definition Types.hpp:13