42 #include<lifev/core/array/VectorSmall.hpp> 43 #include<lifev/core/array/MatrixSmall.hpp> 45 #define PI 3.14159265359
64 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
89 return 0.088002 * ( x + 0.5 );
92 return - ( 0.02068 * 2.0 ) * ( y );
95 return - ( 0.02068 * 2.0 ) * ( z );
98 ERROR_MSG (
"This entry is not allowed: ud_functions.hpp");
120 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
141 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
195 Real radius = std::sqrt( x*x + y*y);
198 Real highestPressure(200000);
199 Real totalTime = 4.5;
200 Real halfTime = totalTime / 2.0;
202 Real a = ( highestPressure / 2 ) * ( 1/ ( halfTime*halfTime ) );
208 pressure = - a * (t - totalTime)*(t - totalTime) + highestPressure;
213 return pressure * ( x / radius ) ;
216 return pressure * ( y / radius ) ;
235 Real thetaChangeOfVariable = std::atan( y / x );
240 thetaChangeOfVariable +=
PI;
305 return - std::sin( thetaChangeOfVariable ) * std::cos( theta );
313 return std::cos( thetaChangeOfVariable ) * std::cos( theta );
321 return std::sin( theta );
328 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
339 Real theta = 0.74725;
340 Real thetaChangeOfVariable = std::atan( y / x );
345 thetaChangeOfVariable +=
PI;
410 return - std::sin( thetaChangeOfVariable ) * std::cos( theta );
418 return std::cos( thetaChangeOfVariable ) * std::cos( theta );
426 return std::sin( theta );
433 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
441 Real theta = -0.74725;
442 Real thetaChangeOfVariable = std::atan( y / x );
447 thetaChangeOfVariable +=
PI;
512 return - std::sin( thetaChangeOfVariable ) * std::cos( theta );
520 return std::cos( thetaChangeOfVariable ) * std::cos( theta );
528 return std::sin( theta );
535 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
556 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
578 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
600 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
621 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
628 fibersDirectionList::fibersDirectionList() :
629 M_mapNameDefinition( )
632 fibersDirectionList::~fibersDirectionList()
635 void fibersDirectionList::setupFiberDefinitions(
const UInt nbFamilies )
641 ASSERT( nbFamilies < 6,
"At the moment, a maximum number = 6 of families can be used! If you want more \n modifiy the file ud_functions.hpp in the application folder." );
644 fiberFunctionPtr_Type pointerToFunction(
new fiberFunction_Type( Family1 ) );
645 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
646 (
"Family1", pointerToFunction ) );
648 pointerToFunction.reset(
new fiberFunction_Type( Family2 ) );
649 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
650 (
"Family2", pointerToFunction ) );
652 pointerToFunction.reset(
new fiberFunction_Type( Family3 ) );
653 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
654 (
"Family3", pointerToFunction ) );
656 pointerToFunction.reset(
new fiberFunction_Type( Family4 ) );
657 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
658 (
"Family4", pointerToFunction ) );
660 pointerToFunction.reset(
new fiberFunction_Type( Family5 ) );
661 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
662 (
"Family5", pointerToFunction ) );
664 pointerToFunction.reset(
new fiberFunction_Type( Family6 ) );
665 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
666 (
"Family6", pointerToFunction ) );
671 fibersDirectionList::fiberFunctionPtr_Type fibersDirectionList::fiberDefinition(
const std::string nameFamily )
674 mapNameDefinitionFiberFunction_Type::const_iterator IT;
676 IT = M_mapNameDefinition.find ( nameFamily );
678 if ( IT != M_mapNameDefinition.end() )
684 std::cout <<
" Wrong identification of the fiber function! " << std::endl;
685 fiberFunctionPtr_Type pointerToFunction(
new fiberFunction_Type() );
687 return pointerToFunction;
Real d0(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
void updateInverseJacobian(const UInt &iQuadPt)
Real w0(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Real f(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
double Real
Generic real data.
uint32_type UInt
generic unsigned integer (used mainly for addressing)