LifeV
structure/fem/ExpressionDefinitions.hpp
Go to the documentation of this file.
1 //@HEADER
2 /*
3 *******************************************************************************
4 
5  Copyright (C) 2004, 2005, 2007 EPFL, Politecnico di Milano, INRIA
6  Copyright (C) 2010 EPFL, Politecnico di Milano, Emory University
7 
8  This file is part of LifeV.
9 
10  LifeV is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  LifeV is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with LifeV. If not, see <http://www.gnu.org/licenses/>.
22 
23 *******************************************************************************
24 */
25 //@HEADER
26 
27 /*!
28  @file
29  @brief File containing the procedures for the local assembly of the differential operators
30 
31  @author Gianmarco Mengaldo <gianmarco.mengaldo@gmail.com>
32  @author Paolo Tricerri <gianmarco.mengaldo@gmail.com>
33  @mantainer Paolo Tricerri <paolo.tricerri@epfl.ch>
34 
35  All the methods are described in the report StructuralSolver framework in LifeV: Description and Usage
36  */
37 
38 
39 #ifndef _EXPRESSIONDEFINITIONS_H_
40 #define _EXPRESSIONDEFINITIONS_H_
41 
42 #include <string>
43 #include <iostream>
44 
45 #include <lifev/core/LifeV.hpp>
46 
47 #include <lifev/core/array/MatrixSmall.hpp>
48 #include <lifev/core/array/VectorSmall.hpp>
49 
50 #include <lifev/core/array/MatrixEpetra.hpp>
51 #include <lifev/core/array/VectorEpetra.hpp>
52 
53 #include <lifev/eta/fem/ETFESpace.hpp>
54 #include <lifev/eta/expression/Integrate.hpp>
55 
56 #pragma GCC diagnostic ignored "-Wunused-variable"
57 #pragma GCC diagnostic ignored "-Wunused-parameter"
58 
59 #pragma GCC diagnostic warning "-Wunused-variable"
60 #pragma GCC diagnostic warning "-Wunused-parameter"
61 
62 namespace LifeV
63 {
64 
66 typedef ETFESpace<MeshType, MapEpetra, 3, 3 > ETFESpace_Type;
67 typedef ETFESpace<MeshType, MapEpetra, 3, 1 > scalarETFESpace_Type;
68 typedef VectorEpetra vector_Type;
69 typedef MatrixSmall<3,3> matrixSmall_Type;
70 
71 /*! /namespace ExpressionDefinitions
72 
73  This namespace is specially designed to contain the elementary
74  operations (corresponding to differential operators) that build
75  the local contributions to be used in the assembly procedures.
76 
77 */
79 {
80 
81 using namespace ExpressionAssembly;
82 
83 //! @name Public typedefs
84 //@{
85 
86 // Definition of F = \grad(displacement) + I
87 typedef ExpressionAddition<
89 
90 // Definition of J = det(F)
91 typedef ExpressionDeterminant<
93 
94 // Definition of the right Cauchy-Green tensor C = F^{T} * F
95 typedef ExpressionProduct<
100 
101 // Definition of the tensor F^{-T}
104 
105 // Used later specially in the multi-mechanism
106 // Definition of the tensor F^{-1}
107 typedef ExpressionInverse<
109 
110 
111 // Definition of the trace of the tensor C
112 typedef ExpressionTrace<
116 
117 // Definition of the trace of the tensor C^2 = C:C = tr(C^2)
118 typedef ExpressionDot<
127 
128 // Definition of the power of J ( specifically J^(-2.0/3.0) )
129 typedef ExpressionPower<
132 
133 // Definition of the power of J ( specifically J^(-2.0/3.0) )
135 
136 // Definition of the isochoric trace \bar{I_C} = J^( -2.0/3.0)*tr(C))
137 typedef ExpressionProduct<
144 
145 
146  // Typedefs for anisotropic laws
148 
150 
151  typedef ExpressionOuterProduct<
152  ExpressionInterpolateValue<MeshType, MapEpetra, 3, 3>,
154 
155  typedef ExpressionDot<
162 
163  typedef ExpressionProduct<
167 
175 
176 //@}
177 
178  deformationGradient_Type deformationGradient( const std::shared_ptr< ETFESpace_Type > dispETFESpace,
179  const vector_Type& disp, UInt offset, const matrixSmall_Type identity);
180 
182 
184 
186 
188 
190 
192 
194 
196 
198 
199 // Constructors for anisotropic laws
200  interpolatedValue_Type interpolateFiber( const std::shared_ptr< ETFESpace_Type > dispETFESpace,
201  const vector_Type& fiberVector);
202 
203  interpolatedValue_Type interpolateValue( const std::shared_ptr< ETFESpace_Type > dispETFESpace,
204  const vector_Type& valueVector);
205 
206  interpolatedScalarValue_Type interpolateScalarValue( const std::shared_ptr< scalarETFESpace_Type > dispETFESpace,
207  const vector_Type& valueVector);
208 
210 
212 
214 } //! End namespace ExpressionDefinitions
215 
216 
217 //! The namespace ExpressionDistributedModel is specific for the Dstributed Holzapfel model
218 //! the definitions have been inserted here in order to avoid huge declarations of expressions
219 //! in the header file of the model
220 
221 //! The goal of the current namespace is just to define the expressions (final and intermediate)
222 //! that are needed for the distributed model making use of the previous namespaces already
223 //! defined.
224 
226 {
227 using namespace ExpressionAssembly;
228 
229 //! @name Public typedefs
230 //@{
231 
232 // Definition of the expression which represents
233 // the derivative with respect to F of the distributed
234 // stretch of the fibers.
235 
236 // This typedef describes \kappa * trCBar
238 
239 // This typedef describes ( 1 - 3 \kappa) * IVithBar
241 
242 // This typedef describes \kappa * trCBar + ( 1 - 3 \kappa) * IVithBar
243 typedef ExpressionAddition<
246 
247 // This typedef describes \kappa * trCBar + ( 1 - 3 \kappa) * IVithBar - 1.0
248 typedef ExpressionAddition<
251 
252 // Term that represents F^-T : dF
253 typedef ExpressionDot<
255 
256 // Term that represents F : dF
257 typedef ExpressionDot<
259 
260 // Term that represents dF^T F : M
261 typedef ExpressionDot<
264 
265 // Term that represents F^T dF : M
266 typedef ExpressionDot<
269 
270 /*
271  Term that represents the first derivative of the isochoric trace with respect to F
272  In formula:
273 
274  D_F( \bar(I_C) ) : dF = D_F( J^(-2.0/3.0) * I_C ) : dF =
275  ( -2.0/3.0 ) * \bar(I_C) F^{-T}:dF + 2 J^(-2.0/3.0) F:dF
276 */
277 
281 
284 
285 typedef ExpressionAddition<
289 
290 /*
291  Term that represents the first derivative of the isochoric fourth invariant
292  In formula:
293 
294  D_F( \bar(I4^i) ) : dF = D_F( J^(-2.0/3.0) * I4^i ) : dF =
295  ( -2.0/3.0 ) * \bar(I4^i) F^{-T}:dF + J^(-2.0/3.0) ( dF^T F + F^T dF ): M
296 */
297 typedef ExpressionAddition<
302 
303 /*
304  Term that represents the sum of the two linearizations to have the derivative
305  of the distributed stretch
306 */
307 
308 typedef ExpressionAddition<
312 
313 //====================================================
314 
315 /*
316  Definition of the expression that is the tensorial part
317  of the first Piola-Kirchhoff tensor for this model
318 
319  In the derivation of the Piola-Kirchhoff tensor,
320  the tensorial part is of the form
321 
322  \kappa F - ( 1/3 )\kappa I_C F^{-T} +
323  + ( 1 - 3\kappa ) FM - ( (1-3\kappa) / 3 ) * I_4 * F^{-T}
324 */
333 
334 typedef ExpressionAddition<
337 //====================================================
338 //@}
339 
340 // Constructors for the expressions defined by the typedefs
341 //@{
342 
344 
346 
348  const distributedIsochoricStretch_Type distrI4 );
349 
351  const ExpressionDefinitions::isochoricStretch_Type I_4ith, const Real kappa );
352 
354 
356 
359 
362 
364 
366 
368 
370 
372 
377 
383 
391 
393 
397 
398  scaledFtimesM_Type scaleFtimesM( const Real coeff,
401 
405 
412 //@}
413 
414 } // end namespace ExpressionDistributedModel
415 
416 // name space that is specific for the Anisotropic Multi-mechanism class.
418 {
419 using namespace ExpressionAssembly;
420 
421 typedef ExpressionSubstraction<
424 
425 typedef ExpressionSubstraction<
428 
429 typedef ExpressionDivision<
432 
434 
438 
441 
444 
445 
446 typedef ExpressionProduct<
450 
453 
455 
457 
459 
461 
464 
467 
469 
471 
473 
475 
477 
479 
482 
485 
487 
490 
493 
494 
497 
498 
500  const Real valueToSubtract);
501 
503  const Real valueToSubtract );
504 
506  const Real refFourthInvariant );
507 
508 
510  const Real intCoeff,
511  const Real extCoeff,
512  const Real translation);
513 
515 
518 
521 
524 
527  const ExpressionDefinitions::inverseTensor_Type FzeroAminus1 );
528 
531 
533 
535 
537 
539  const normActivatedFiber_Type normFiber);
540 
543 
546 
548  const Real exp);
549 
551 
552 
554 
556 
558  const activeNormalizedOuterProduct_Type activeM);
559 
562 
564  const activeInterpolatedFiberStretch_Type activeI4);
565 
567  const activeStretch_Type activeI4);
568 
570  const activeStretch_Type activeI4);
571 
574 
577 
579  const ExpressionDefinitions::inverseTensor_Type FAminus1);
580 }// end namespace ExpressionDistributedModel
581 
582 } //! End namespace LifeV
583 #endif
class ExpressionEmult Class for representing the transpose operation of an expression ...
class ExpressionDivision Class for representing a quotient between two expressions.
ExpressionAddition< distributedIsochoricTrace_Type, distributedIsochoricStretch_Type > distributedInvariants_Type
outerProduct_Type fiberTensor(const interpolatedValue_Type ithFiber)
ExpressionMinusTransposed< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > minusTransposedTensor_Type
ETFESpace< MeshType, MapEpetra, 3, 3 > ETFESpace_Type
rightCauchyGreenTensor_Type tensorC(const ExpressionTranspose< deformationGradient_Type > tF, const deformationGradient_Type F)
scaledDeterminant_Type scaleDeterminant(const Real coeff, const ExpressionDefinitions::powerExpression_Type Jel)
ExpressionProduct< ExpressionScalar, ExpressionDefinitions::traceTensor_Type > scaledTrace_Type
normActivatedFiber_Type normActivatedFiber(const activatedFiber_Type f)
determinantTensorF_Type determinantF(const deformationGradient_Type F)
normalizedVector_Type unitVector(const activatedFiber_Type vector)
class ExpressionEmult Class for representing the transpose operation of an expression ...
ExpressionProduct< ExpressionDphiI, ExpressionDefinitions::inverseTensor_Type > activeTestGradient_Type
ExpressionAddition< ExpressionAddition< scaledTensorF_Type, scaledTraceTimesMinusTF_Type >, ExpressionAddition< scaledFtimesM_Type, scaledFourthInvariantTimesMinusTF_Type > > tensorialPart_distrType
FTtimesDFscalarM_distrType FTtimesDFscalarM(const ExpressionDefinitions::deformationGradient_Type F, const ExpressionDefinitions::outerProduct_Type M)
class ExpressionEmult Class for representing the transpose operation of an expression ...
class ExpressionPower Class for representing a product between two expressions.
activation_Type activationConstructor(const ExpressionMultimechanism::difference_Type absoluteStretch, const Real intCoeff, const Real extCoeff, const Real translation)
RegionMesh< LinearTetra > MeshType
powerExpression_Type powerExpression(const determinantTensorF_Type J, const Real exponent)
ExpressionDot< ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionOuterProduct< ExpressionInterpolateValue< MeshType, MapEpetra, 3, 3 >, ExpressionInterpolateValue< MeshType, MapEpetra, 3, 3 > > > stretch_Type
incompressibleDifference_Type incompressibleAbsoluteStretch(const ExpressionDefinitions::stretch_Type IV, const Real valueToSubtract)
ExpressionVectorFromNonConstantScalar< incompressibleDifference_Type, 3 > expressionVectorFromIncompressibleDifference_Type
linearizationFisochoricTrace_Type derivativeIsochoricTrace(const ExpressionDefinitions::isochoricTrace_Type isoTr, const ExpressionDefinitions::powerExpression_Type Jel, const ExpressionDefinitions::deformationGradient_Type F, const ExpressionDefinitions::minusTransposedTensor_Type F_T)
ExpressionProduct< ExpressionDphiJ, ExpressionDefinitions::inverseTensor_Type > activeLinearization_Type
scaledTraceTimesMinusTF_Type scaleTraceMinuTF(const Real coeff, const ExpressionDefinitions::traceTensor_Type Ic, const ExpressionDefinitions::minusTransposedTensor_Type F_T)
scaledTrace_Type scaleTrace(const Real coeff, const ExpressionDefinitions::traceTensor_Type tr)
class ExpressionSubstraction Class for representing a difference between two expressions.
ExpressionDot< ExpressionDefinitions::deformationGradient_Type, ExpressionDphiJ > FscalarDF_distrType
ExpressionDot< rightCauchyGreenMultiMechanism_Type, activeNormalizedOuterProduct_Type > activeStretch_Type
scaledIsochoricFourthInvariant_Type scaleIsochoricFourthInvariant(const Real coeff, const ExpressionDefinitions::isochoricStretch_Type isoI4)
normalizedFiber_Type normalizedFiberDirection(const activatedFiber_Type fiber, const normActivatedFiber_Type normFiber)
difference_Type absoluteStretch(const ExpressionDefinitions::isochoricStretch_Type IVbar, const Real valueToSubtract)
activeIsochoricDeterminant_Type activeIsochoricDeterminant(activatedDeterminantF_Type Ja)
ExpressionSubstraction< ExpressionDefinitions::stretch_Type, ExpressionScalar > incompressibleDifference_Type
class ExpressionProduct Class for representing a product between two expressions. ...
ExpressionDivision< activatedFiber_Type, normActivatedFiber_Type > normalizedFiber_Type
rightCauchyGreenMultiMechanism_Type activationRightCauchyGreen(const ExpressionDefinitions::minusTransposedTensor_Type FzeroAminusT, const ExpressionDefinitions::rightCauchyGreenTensor_Type C, const ExpressionDefinitions::inverseTensor_Type FzeroAminus1)
class ExpressionInterpolateGradient Class representing an interpolation in an expression.
ExpressionInterpolateValue< MeshType, MapEpetra, 3, 3 > interpolatedValue_Type
class ExpressionEmult Class for representing the transpose operation of an expression ...
class ExpressionEmult Class for representing the transpose operation of an expression ...
scaledTensorF_Type scaleF(const Real coeff, const ExpressionDefinitions::deformationGradient_Type F)
ExpressionDot< ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > > traceSquaredTensor_Type
stretch_Type fiberStretch(const rightCauchyGreenTensor_Type C, const outerProduct_Type M)
activeTestGradient_Type activatedTestGradient(const ExpressionDphiI gradTest, const ExpressionDefinitions::inverseTensor_Type FAminus1)
ExpressionSquareRoot< squaredNormActivatedFiber_Type > normActivatedFiber_Type
ExpressionProduct< ExpressionScalar, ExpressionDefinitions::powerExpression_Type > scaledDeterminant_Type
activeIsochoricStretch_Type activeIsochoricFourthInvariant(const activeIsochoricDeterminant_Type activeJ, const activeInterpolatedFiberStretch_Type activeI4)
ExpressionProduct< ExpressionPower< ExpressionDeterminant< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > >, ExpressionTrace< ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > > > isochoricTrace_Type
ExpressionAddition< ExpressionProduct< scaledIsochoricFourthInvariant_Type, minusTFscalarDF_distrType >, ExpressionProduct< ExpressionDefinitions::powerExpression_Type, ExpressionAddition< dFTtimesFscalarM_distrType, FTtimesDFscalarM_distrType > > > linearizationFisochoricFourthInvariant_Type
ExpressionDot< ExpressionProduct< ExpressionTranspose< ExpressionDefinitions::deformationGradient_Type >, ExpressionDphiJ >, ExpressionDefinitions::outerProduct_Type > FTtimesDFscalarM_distrType
ExpressionDot< ExpressionProduct< ExpressionTranspose< ExpressionDphiJ >, ExpressionDefinitions::deformationGradient_Type >, ExpressionDefinitions::outerProduct_Type > dFTtimesFscalarM_distrType
ExpressionIsochoricChangeOfVariable< determinantTensorF_Type > isochoricChangeOfVariable_Type
interpolatedValue_Type interpolateFiber(const std::shared_ptr< ETFESpace_Type > dispETFESpace, const vector_Type &fiberVector)
MatrixSmall< 3, 3 > matrixSmall_Type
activeLinearization_Type activatedLinearization(const ExpressionDphiJ der, const ExpressionDefinitions::inverseTensor_Type inverse)
ExpressionIsochoricChangeOfVariable< activatedDeterminantF_Type > activeIsochoricDeterminant_Type
minusTFscalarDF_distrType minusTFscalarDF(const ExpressionDefinitions::minusTransposedTensor_Type minusFT)
ExpressionProduct< activeIsochoricDeterminant_Type, activeInterpolatedFiberStretch_Type > activeIsochoricStretch_Type
ETFESpace< MeshType, MapEpetra, 3, 1 > scalarETFESpace_Type
activePowerIsochoricStretch_Type activePowerIsochoricFourthInvariant(const activePowerExpression_Type activeJ, const activeStretch_Type activeI4)
distributedIsochoricTrace_Type distributedIsochoricTrace(const Real coeff, const ExpressionDefinitions::isochoricTrace_Type ICbar)
ExpressionSubstraction< ExpressionDefinitions::isochoricStretch_Type, ExpressionScalar > difference_Type
distributedInvariants_Type distributeInvariants(const distributedIsochoricTrace_Type distrIC, const distributedIsochoricStretch_Type distrI4)
ExpressionProduct< ExpressionScalar, ExpressionDefinitions::isochoricTrace_Type > distributedIsochoricTrace_Type
distributedStretch_Type distributedStretch(const ExpressionDefinitions::isochoricTrace_Type trCBar, const ExpressionDefinitions::isochoricStretch_Type I_4ith, const Real kappa)
ExpressionProduct< ExpressionScalar, ExpressionDefinitions::deformationGradient_Type > scaledTensorF_Type
inverseTensor_Type inv(const deformationGradient_Type F)
class ExpressionOuterProduct Class for representing a vector product multiplication between two vecto...
activeInterpolatedFiberStretch_Type activeInterpolatedFiberStretch(const rightCauchyGreenMultiMechanism_Type activeC, const ExpressionDefinitions::outerProduct_Type activeM)
ExpressionProduct< scaledTrace_Type, ExpressionDefinitions::minusTransposedTensor_Type > scaledTraceTimesMinusTF_Type
class ExpressionSquareRoot Class for representing a product between two expressions.
activeStretch_Type activeFiberStretch(const rightCauchyGreenMultiMechanism_Type activeC, const activeNormalizedOuterProduct_Type activeM)
ExpressionProduct< activePowerExpression_Type, activeStretch_Type > activePowerIsochoricStretch_Type
class ExpressionPower Class for representing a product between two expressions.
ExpressionInterpolateValue< MeshType, MapEpetra, 3, 1 > interpolatedScalarValue_Type
ExpressionOuterProduct< ExpressionInterpolateValue< MeshType, MapEpetra, 3, 3 >, ExpressionInterpolateValue< MeshType, MapEpetra, 3, 3 > > outerProduct_Type
ExpressionProduct< ExpressionScalar, ExpressionProduct< ExpressionDefinitions::deformationGradient_Type, ExpressionDefinitions::outerProduct_Type > > scaledFtimesM_Type
ExpressionProduct< ExpressionPower< ExpressionDeterminant< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > >, ExpressionDot< ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionOuterProduct< ExpressionInterpolateValue< MeshType, MapEpetra, 3, 3 >, ExpressionInterpolateValue< MeshType, MapEpetra, 3, 3 > > > > isochoricStretch_Type
ExpressionProduct< ExpressionDefinitions::deformationGradient_Type, ExpressionDefinitions::interpolatedValue_Type > activatedFiber_Type
ExpressionProduct< scaledFourthInvariant_Type, ExpressionDefinitions::minusTransposedTensor_Type > scaledFourthInvariantTimesMinusTF_Type
activePowerExpression_Type activePowerExpression(activatedDeterminantF_Type Ja, const Real exp)
ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > rightCauchyGreenTensor_Type
class ExpressionEmult Class for representing the transpose operation of an expression ...
class ExpressionDot Class for representing a dot product between two expressions. ...
ExpressionOuterProduct< normalizedVector_Type, normalizedVector_Type > activeNormalizedOuterProduct_Type
isochoricStretch_Type isochoricFourthInvariant(const powerExpression_Type Jel, const stretch_Type I_4ith)
activeNoInterpolationStretch_Type activeNoInterpolationFourthInvariant(const activeIsochoricDeterminant_Type activeJ, const activeStretch_Type activeI4)
ExpressionProduct< ExpressionDefinitions::minusTransposedTensor_Type, ExpressionProduct< ExpressionDefinitions::rightCauchyGreenTensor_Type, ExpressionDefinitions::inverseTensor_Type > > rightCauchyGreenMultiMechanism_Type
minusTransposedTensor_Type minusT(const deformationGradient_Type F)
activeOuterProduct_Type activeOuterProduct(const activatedFiber_Type activatedFiber)
class ExpressionDphiJ Class representing the gradient of the solution in an expression ...
ExpressionAddition< ExpressionProduct< ExpressionScalar, linearizationFisochoricTrace_Type >, ExpressionProduct< ExpressionScalar, linearizationFisochoricFourthInvariant_Type > > linearizationDistributedStretch_Type
relativeDifference_Type relativeDifference(const incompressibleDifference_Type difference, const Real refFourthInvariant)
activatedDeterminantF_Type activateDeterminantF(const ExpressionDefinitions::determinantTensorF_Type Jzero, const ExpressionDefinitions::interpolatedScalarValue_Type JzeroA)
traceTensor_Type traceTensor(const rightCauchyGreenTensor_Type C)
dFTtimesFscalarM_distrType dFTtimesFscalarM(const ExpressionDefinitions::deformationGradient_Type F, const ExpressionDefinitions::outerProduct_Type M)
ExpressionDot< activatedFiber_Type, activatedFiber_Type > squaredNormActivatedFiber_Type
double Real
Generic real data.
Definition: LifeV.hpp:175
class ExpressionInterpolateValue Class representing an interpolation in an expression.
class ExpressionEmult Class for representing the transpose operation of an expression ...
ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > deformationGradient_Type
isochoricTrace_Type isochoricTrace(const powerExpression_Type Jel, const traceTensor_Type I)
ExpressionVectorFromNonConstantScalar< difference_Type, 3 > expressionVectorFromDifference_Type
scaledIsochoricTrace_Type scaleIsochoricTrace(const Real coeff, const ExpressionDefinitions::isochoricTrace_Type isoTr)
expressionVectorFromIncompressibleDifference_Type vectorFromIncompressibleDifference(const ExpressionMultimechanism::incompressibleDifference_Type activation)
scaledFourthInvariant_Type scaleFourthInvariant(const Real coeff, const ExpressionDefinitions::stretch_Type I4)
ExpressionPower< activatedDeterminantF_Type > activePowerExpression_Type
tensorialPart_distrType tensorialPartPiola(const Real kappa, const ExpressionDefinitions::traceTensor_Type tr, const ExpressionDefinitions::stretch_Type I4, const ExpressionDefinitions::deformationGradient_Type F, const ExpressionDefinitions::minusTransposedTensor_Type F_T, const ExpressionDefinitions::outerProduct_Type M)
ExpressionOuterProduct< activatedFiber_Type, activatedFiber_Type > activeOuterProduct_Type
linearizationDistributedStretch_Type derivativeDistributedStretch(const Real kappa, const ExpressionDefinitions::isochoricTrace_Type isoTr, const ExpressionDefinitions::isochoricStretch_Type isoI4, const ExpressionDefinitions::powerExpression_Type Jel, const ExpressionDefinitions::deformationGradient_Type F, const ExpressionDefinitions::minusTransposedTensor_Type F_T, const ExpressionDefinitions::outerProduct_Type M)
ExpressionProduct< ExpressionDefinitions::determinantTensorF_Type, ExpressionDefinitions::powerExpression_Type > activatedJ_Type
activeNormalizedOuterProduct_Type activeNormalizedOuterProduct(const normalizedVector_Type activatedFiber)
linearizationFisochoricFourthInvariant_Type derivativeIsochoricFourthInvariant(const ExpressionDefinitions::isochoricStretch_Type isoI4, const ExpressionDefinitions::powerExpression_Type Jel, const ExpressionDefinitions::deformationGradient_Type F, const ExpressionDefinitions::minusTransposedTensor_Type F_T, const ExpressionDefinitions::outerProduct_Type M)
ExpressionTrace< ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > > traceTensor_Type
ExpressionProduct< ExpressionScalar, ExpressionDefinitions::isochoricStretch_Type > distributedIsochoricStretch_Type
squaredNormActivatedFiber_Type squaredNormActivatedFiber(const activatedFiber_Type f)
class ExpressionScalar Class representing a scalar constant in an expression.
ExpressionProduct< ExpressionScalar, ExpressionDefinitions::isochoricTrace_Type > scaledIsochoricTrace_Type
activeMinusTtensor_Type createActiveMinusTtensor(const ExpressionDefinitions::minusTransposedTensor_Type FminusT, const ExpressionTranspose< ExpressionDefinitions::deformationGradient_Type > FzeroA)
ExpressionProduct< ExpressionScalar, ExpressionDefinitions::stretch_Type > scaledFourthInvariant_Type
distributedIsochoricStretch_Type distributedIsochoricFourthInvariant(const Real coeff, const ExpressionDefinitions::isochoricStretch_Type I4bar)
activatedJ_Type activateJ(const ExpressionDefinitions::determinantTensorF_Type Jzero, const ExpressionDefinitions::powerExpression_Type JzeroA)
ExpressionDeterminant< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > determinantTensorF_Type
ExpressionProduct< ExpressionScalar, ExpressionDefinitions::isochoricStretch_Type > scaledIsochoricFourthInvariant_Type
class ExpressionPhiI Class representing the gradient of the test function in an expression ...
class ExpressionVector Class representing a constant matrix value in an expression ...
ExpressionArcTan< difference_Type > activation_Type
scaledFourthInvariantTimesMinusTF_Type scaleI4timesMinutTF(const Real coeff, const ExpressionDefinitions::stretch_Type I4, const ExpressionDefinitions::minusTransposedTensor_Type F_T)
scaledFtimesM_Type scaleFtimesM(const Real coeff, const ExpressionDefinitions::deformationGradient_Type F, const ExpressionDefinitions::outerProduct_Type M)
ExpressionProduct< activeIsochoricDeterminant_Type, activeStretch_Type > activeNoInterpolationStretch_Type
expressionVectorFromDifference_Type vectorFromActivation(const ExpressionMultimechanism::difference_Type activation)
isochoricChangeOfVariable_Type isochoricDeterminant(const determinantTensorF_Type J)
ExpressionProduct< ExpressionDefinitions::minusTransposedTensor_Type, ExpressionTranspose< ExpressionDefinitions::deformationGradient_Type > > activeMinusTtensor_Type
deformationGradient_Type deformationGradient(const std::shared_ptr< ETFESpace_Type > dispETFESpace, const vector_Type &disp, UInt offset, const matrixSmall_Type identity)
class ExpressionAddition Class for representing an addition between two expressions.
ExpressionDivision< ExpressionDefinitions::determinantTensorF_Type, ExpressionDefinitions::interpolatedScalarValue_Type > activatedDeterminantF_Type
class ETFESpace A light, templated version of the FESpace
Definition: ETFESpace.hpp:93
interpolatedScalarValue_Type interpolateScalarValue(const std::shared_ptr< scalarETFESpace_Type > dispETFESpace, const vector_Type &valueVector)
ExpressionDivision< incompressibleDifference_Type, ExpressionScalar > relativeDifference_Type
ExpressionInverse< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > inverseTensor_Type
ExpressionPower< ExpressionDeterminant< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > > powerExpression_Type
ExpressionNormalize< activatedFiber_Type > normalizedVector_Type
interpolatedValue_Type interpolateValue(const std::shared_ptr< ETFESpace_Type > dispETFESpace, const vector_Type &valueVector)
ExpressionVectorFromNonConstantScalar< relativeDifference_Type, 3 > expressionVectorFromRelativeDifference_Type
ExpressionDot< rightCauchyGreenMultiMechanism_Type, ExpressionDefinitions::outerProduct_Type > activeInterpolatedFiberStretch_Type
deformationActivatedTensor_Type createDeformationActivationTensor(const ExpressionDefinitions::deformationGradient_Type Ft, const ExpressionDefinitions::inverseTensor_Type F0_ta)
ExpressionDot< ExpressionDefinitions::minusTransposedTensor_Type, ExpressionDphiJ > minusTFscalarDF_distrType
uint32_type UInt
generic unsigned integer (used mainly for addressing)
Definition: LifeV.hpp:191
activatedFiber_Type activateFiberDirection(const ExpressionDefinitions::deformationGradient_Type F, const ExpressionDefinitions::interpolatedValue_Type ithFiber)
FscalarDF_distrType FscalarDF(const ExpressionDefinitions::deformationGradient_Type F)
ExpressionAddition< ExpressionProduct< scaledIsochoricTrace_Type, minusTFscalarDF_distrType >, ExpressionProduct< scaledDeterminant_Type, FscalarDF_distrType > > linearizationFisochoricTrace_Type
ExpressionProduct< ExpressionDefinitions::deformationGradient_Type, ExpressionDefinitions::inverseTensor_Type > deformationActivatedTensor_Type
ExpressionAddition< distributedInvariants_Type, ExpressionScalar > distributedStretch_Type
expressionVectorFromRelativeDifference_Type vectorFromRelativeDifference(const ExpressionMultimechanism::relativeDifference_Type relDifference)
traceSquaredTensor_Type traceSquared(const rightCauchyGreenTensor_Type C)