1#ifndef POWERLAW_DECL_hpp
2#define POWERLAW_DECL_hpp
4#include "feddlib/core/General/DifferentiableFuncClass.hpp"
6#include "feddlib/core/FEDDCore.hpp"
67 template <
class SC = default_sc,
class LO = default_lo,
class GO = default_go,
class NO = default_no>
72 typedef Teuchos::RCP<MultiVector_Type> MultiVectorPtr_Type;
73 typedef Teuchos::RCP<const MultiVector_Type> MultiVectorConstPtr_Type;
84 void setParams(ParameterListPtr_Type params)
override;
92 void evaluateMapping(ParameterListPtr_Type params,
double shearRate,
double &viscosity)
override;
101 void evaluateDerivative(ParameterListPtr_Type params,
double shearRate,
double &res)
override;
113 double getViscosity() {
return viscosity_; };
119 PowerLaw(ParameterListPtr_Type parameters);
123 std::string shearThinningModel_;
125 double powerlaw_index_n;
126 double powerlaw_constant_K;
129 double shear_rate_limitZero;
DifferentiableFuncClass(ParameterListPtr_Type parameters)
Definition DifferentiableFuncClass_def.hpp:10
Definition MultiVector_decl.hpp:36
PowerLaw(ParameterListPtr_Type parameters)
Constructor for CarreauYasuda.
Definition PowerLaw_def.hpp:9
void evaluateMapping(ParameterListPtr_Type params, double shearRate, double &viscosity) override
Update the viscosity according to a chosen shear thinning generalized newtonian constitutive equation...
Definition PowerLaw_def.hpp:30
void echoInformationMapping() override
Print parameter values used in model at runtime.
Definition PowerLaw_def.hpp:85
void setParams(ParameterListPtr_Type params) override
Each constitutive model includes different material parameters which will be specified in parametersP...
Definition PowerLaw_def.hpp:69
void evaluateDerivative(ParameterListPtr_Type params, double shearRate, double &res) override
For Newton method and NOX we need additional term in Jacobian considering directional derivative of o...
Definition PowerLaw_def.hpp:51
Adaptive Mesh Refinement.
Definition AdaptiveMeshRefinement.cpp:5