26 typedef memory::shared_ptr<gsFlowTerm> Ptr;
27 typedef memory::unique_ptr<gsFlowTerm> uPtr;
32 unsigned m_geoFlags, m_testFunFlags, m_shapeFunFlags;
69 void updateEvalFlags(
unsigned& geoFlags,
unsigned& testFunFlags,
unsigned& shapeFunFlags)
71 geoFlags |= m_geoFlags;
72 testFunFlags |= m_testFunFlags;
73 shapeFunFlags |= m_shapeFunFlags;
79 void setConstCoeff(T value)
95 { setConstCoeff(1.0); }
111 typedef memory::shared_ptr<gsFlowTermNonlin> Ptr;
112 typedef memory::unique_ptr<gsFlowTermNonlin> uPtr;
122 bool m_isCurrentSolSet;
134 void setCurrentSolution(std::vector<
gsField<T> >& solutions)
136 m_currentSolU = solutions.front();
137 m_isCurrentSolSet =
true;
142 m_currentSolU = solution;
143 m_isCurrentSolSet =
true;
149 virtual void computeCoeffSolU(
const gsMapData<T>& mapData)
151 GISMO_ASSERT(m_isCurrentSolSet,
"No velocity solution set in gsFlowTermNonlin.");
153 m_solUVals.resize(mapData.dim.first, mapData.
points.cols());
154 m_solUVals = m_currentSolU.
value(mapData.
points, mapData.patchId);
207 { this->setConstCoeff(1./m_timeStep); }
250 m_viscosity(viscosity)
257 { this->setConstCoeff(m_viscosity); }
294#ifndef GISMO_BUILD_LIB
295#include GISMO_HPP_HEADER(gsFlowTerms.hpp)
A scalar of vector field defined on a m_parametric geometry.
Definition gsField.h:55
gsMatrix< T > value(const gsMatrix< T > &u, int i=0) const
Evaluation of the field at points u.
Definition gsField.h:122
A class computing nonlinear terms of the weak formulation appearing in incompressible flow problems.
Definition gsFlowTerms.h:107
A class for integrals of the form: viscosity * test function gradient * shape function gradient.
Definition gsFlowTerms.h:241
virtual void evalCoeff(const gsMapData< T > &mapData)
Evaluate the term coefficient.
Definition gsFlowTerms.h:256
A class for integrals of the form: test function gradient * shape function gradient.
Definition gsFlowTerms.h:217
virtual void assemble(const gsMapData< T > &mapData, const gsVector< T > &quWeights, const std::vector< gsMatrix< T > > &testFunData, const std::vector< gsMatrix< T > > &shapeFunData, gsMatrix< T > &localMat)
Assemble the current local matrix.
Definition gsFlowTerms.hpp:56
A class for integrals of the form: (1 / time step) * test function value * shape function value.
Definition gsFlowTerms.h:190
virtual void evalCoeff(const gsMapData< T > &mapData0)
Evaluate the term coefficient.
Definition gsFlowTerms.h:206
A class for integrals of the form: test function value * shape function value.
Definition gsFlowTerms.h:166
virtual void assemble(const gsMapData< T > &mapData, const gsVector< T > &quWeights, const std::vector< gsMatrix< T > > &testFunData, const std::vector< gsMatrix< T > > &shapeFunData, gsMatrix< T > &localMat)
Assemble the current local matrix.
Definition gsFlowTerms.hpp:37
A class for integrals of the form: test function value * rhs function value.
Definition gsFlowTerms.h:268
virtual void assemble(const gsMapData< T > &mapData, const gsVector< T > &quWeights, const std::vector< gsMatrix< T > > &testFunData, const std::vector< gsMatrix< T > > &shapeFunData, gsMatrix< T > &localMat)
Assemble the current local matrix.
Definition gsFlowTerms.hpp:80
A class computing individual terms of the weak formulation appearing in incompressible flow problems.
Definition gsFlowTerms.h:22
virtual void assemble(const gsMapData< T > &mapData, const gsVector< T > &quWeights, const std::vector< gsMatrix< T > > &testFunData, const std::vector< gsMatrix< T > > &shapeFunData, gsMatrix< T > &localMat)
Assemble the current local matrix.
Definition gsFlowTerms.h:57
virtual void assemble(const gsMapData< T > &mapData, const gsVector< T > &quWeights, const std::vector< gsMatrix< T > > &testFunData, const std::vector< gsMatrix< T > > &shapeFunData, std::vector< gsMatrix< T > > &localMat)
Assemble the current local matrices.
Definition gsFlowTerms.h:66
virtual void evalCoeff(const gsMapData< T > &mapData)
Evaluate the term coefficient.
Definition gsFlowTerms.h:94
A function from a n-dimensional domain to an m-dimensional image.
Definition gsFunction.h:60
the gsMapData is a cache of pre-computed function (map) values.
Definition gsFuncData.h:349
gsMatrix< T > points
input (parametric) points
Definition gsFuncData.h:372
A matrix with arbitrary coefficient type and fixed or dynamic size.
Definition gsMatrix.h:41
A vector with arbitrary coefficient type and fixed or dynamic size.
Definition gsVector.h:37
Main header to be included by clients using the G+Smo library.
#define GISMO_NO_IMPLEMENTATION
Definition gsDebug.h:129
#define GISMO_ASSERT(cond, message)
Definition gsDebug.h:89
The G+Smo namespace, containing all definitions for the library.
@ NEED_VALUE
Value of the object.
Definition gsForwardDeclarations.h:72
@ NEED_DERIV
Gradient of the object.
Definition gsForwardDeclarations.h:73
@ NEED_GRAD_TRANSFORM
Gradient transformation matrix.
Definition gsForwardDeclarations.h:77
@ NEED_MEASURE
The density of the measure pull back.
Definition gsForwardDeclarations.h:76