43 #define PI 3.14159265359
62 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
87 return 0.088002 * ( x + 0.5 );
90 return - ( 0.02068 * 2.0 ) * ( y );
93 return - ( 0.02068 * 2.0 ) * ( z );
96 ERROR_MSG (
"This entry is not allowed: ud_functions.hpp");
118 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
139 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
145 Real displacementVenantKirchhoffPenalized (
const Real& ,
const Real& x,
const Real& y,
const Real& z,
const ID& i)
150 return - 0.01649141 * ( x - 0.5 );
153 return 0.069238236 / 2.0 * ( y );
156 return - 0.01649141 * ( z + 0.5 );
159 ERROR_MSG (
"This entry is not allowed: ud_functions.hpp");
213 Real radius = std::sqrt( x*x + y*y);
216 Real highestPressure(200000);
217 Real totalTime = 4.5;
218 Real halfTime = totalTime / 2.0;
220 Real a = ( highestPressure / 2 ) * ( 1/ ( halfTime*halfTime ) );
226 pressure = - a * (t - totalTime)*(t - totalTime) + highestPressure;
231 return pressure * ( x / radius ) ;
234 return pressure * ( y / radius ) ;
269 return std::sin( theta );
275 return std::cos( theta );
284 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
292 Real theta = ( -
PI / 6.0 );
307 return std::sin( theta );
313 return std::cos( theta );
322 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
343 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
365 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
387 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
408 ERROR_MSG (
"This entrie is not allowed: ud_functions.hpp");
415 fibersDirectionList::fibersDirectionList() :
416 M_mapNameDefinition( )
419 fibersDirectionList::~fibersDirectionList()
422 void fibersDirectionList::setupFiberDefinitions(
const UInt nbFamilies )
428 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." );
431 fiberFunctionPtr_Type pointerToFunction(
new fiberFunction_Type( Family1 ) );
432 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
433 (
"Family1", pointerToFunction ) );
435 pointerToFunction.reset(
new fiberFunction_Type( Family2 ) );
436 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
437 (
"Family2", pointerToFunction ) );
439 pointerToFunction.reset(
new fiberFunction_Type( Family3 ) );
440 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
441 (
"Family3", pointerToFunction ) );
443 pointerToFunction.reset(
new fiberFunction_Type( Family4 ) );
444 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
445 (
"Family4", pointerToFunction ) );
447 pointerToFunction.reset(
new fiberFunction_Type( Family5 ) );
448 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
449 (
"Family5", pointerToFunction ) );
451 pointerToFunction.reset(
new fiberFunction_Type( Family6 ) );
452 M_mapNameDefinition.insert( std::pair<std::string, fiberFunctionPtr_Type>
453 (
"Family6", pointerToFunction ) );
458 fibersDirectionList::fiberFunctionPtr_Type fibersDirectionList::fiberDefinition(
const std::string nameFamily )
461 mapNameDefinitionFiberFunction_Type::const_iterator IT;
463 IT = M_mapNameDefinition.find ( nameFamily );
465 if ( IT != M_mapNameDefinition.end() )
471 std::cout <<
" Wrong identification of the fiber function! " << std::endl;
472 fiberFunctionPtr_Type pointerToFunction(
new fiberFunction_Type() );
474 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)