Finite Element Domain Decomposition Library
FEDDLib
Toggle main menu visibility
Loading...
Searching...
No Matches
Dimless_Carreau_decl.hpp
1
#ifndef DIMLESS_CARREAU_DECL_hpp
2
#define DIMLESS_CARREAU_DECL_hpp
3
4
#include "feddlib/core/General/DifferentiableFuncClass.hpp"
5
// #include "feddlib/core/AceFemAssembly/Helper.hpp"
6
#include "feddlib/core/FEDDCore.hpp"
7
8
namespace
FEDD
9
{
10
65
66
template
<
class
SC = default_sc,
class
LO = default_lo,
class
GO = default_go,
class
NO = default_no>
67
class
Dimless_Carreau
:
public
DifferentiableFuncClass
<SC, LO, GO, NO>
68
{
69
public
:
70
typedef
MultiVector<SC, LO, GO, NO>
MultiVector_Type;
71
typedef
Teuchos::RCP<MultiVector_Type> MultiVectorPtr_Type;
72
typedef
Teuchos::RCP<const MultiVector_Type> MultiVectorConstPtr_Type;
73
74
typedef
DifferentiableFuncClass<SC, LO, GO, NO>
DifferentiableFuncClass_Type;
75
76
// Inherited Function from base abstract class
77
83
void
setParams
(ParameterListPtr_Type params)
override
;
90
void
evaluateMapping
(ParameterListPtr_Type params,
double
shearRate,
double
&viscosity)
override
;
99
void
evaluateDerivative
(ParameterListPtr_Type params,
double
shearRate,
double
&res)
override
;
100
104
void
echoInformationMapping
()
override
;
105
106
// New Added Functions
111
double
getViscosity
() {
return
viscosity_; }
112
117
Dimless_Carreau
(ParameterListPtr_Type parameters);
118
119
private
:
120
double
viscosity_;
121
std::string shearThinningModel_;
// for printing out which model is actually used
123
double
characteristicTime;
// corresponds to \lambda in the formulas in the literature here dimensionless
124
double
fluid_index_n;
// corresponds to n in the formulas being the power-law index
125
double
nu_0;
// is the zero shear-rate viscosity here dimensionless
126
double
nu_infty;
// is the infnite shear-rate viscosity here dimensionless
127
double
shear_rate_limitZero;
128
double
reference_viscosity;
// to obtain actual viscosity we have to multiply with reference viscosity
129
};
130
131
}
132
#endif
FEDD::DifferentiableFuncClass< default_sc, default_lo, default_go, default_no >::DifferentiableFuncClass
DifferentiableFuncClass(ParameterListPtr_Type parameters)
Definition
DifferentiableFuncClass_def.hpp:8
FEDD::Dimless_Carreau::getViscosity
double getViscosity()
Get the current viscosity value.
Definition
Dimless_Carreau_decl.hpp:111
FEDD::Dimless_Carreau::evaluateDerivative
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
Dimless_Carreau_def.hpp:36
FEDD::Dimless_Carreau::setParams
void setParams(ParameterListPtr_Type params) override
Each constitutive model includes different material parameters which will be specified in parametersP...
Definition
Dimless_Carreau_def.hpp:47
FEDD::Dimless_Carreau::Dimless_Carreau
Dimless_Carreau(ParameterListPtr_Type parameters)
Constructor for Dimless_Carreau.
Definition
Dimless_Carreau_def.hpp:7
FEDD::Dimless_Carreau::evaluateMapping
void evaluateMapping(ParameterListPtr_Type params, double shearRate, double &viscosity) override
Update the viscosity according to a chosen shear thinning generalized newtonian constitutive equation...
Definition
Dimless_Carreau_def.hpp:27
FEDD::Dimless_Carreau::echoInformationMapping
void echoInformationMapping() override
Print parameter values used in model at runtime.
Definition
Dimless_Carreau_def.hpp:63
FEDD::MultiVector
Definition
MultiVector_decl.hpp:61
FEDD
Adaptive Mesh Refinement.
Definition
AdaptiveMeshRefinement_decl.hpp:36
feddlib
core
AceFemAssembly
specific
GeneralizedNewtonianModels
Dimless_Carreau_decl.hpp
Generated by
1.17.0