|
template<std::size_t I = 0, typename ... TStress> |
std::enable_if< I==sizeof...(TStress), void >::type | recursiveBuildStress (const double &fij, const Vector3d &ra, const Vector3d &rA, const Vector3d &rb, const Vector3d &rB, const Vector3d &rab, const Vector3d &rAB, const int &i_gridPoint, const int &i_stress, std::tuple< TStress &... > t) |
|
double | averagingDomainSize_max (const std::tuple<> t) |
|
template<std::size_t I = 0, typename ... TStress> |
std::enable_if< I==sizeof...(TStress) -1, double >::type | averagingDomainSize_max (const std::tuple< TStress &... > t) |
|
template<std::size_t I = 0, typename ... TStress> |
std::enable_if< I< sizeof...(TStress) -1, double >::type averagingDomainSize_max(const std::tuple< TStress &... > t){ return std::max(std::get< I >(t).method.getAveragingDomainSize(), averagingDomainSize_max< I+1 >(t));}std::map< Grid< Reference > double | recursiveGridMaxAveragingDomainSizeMap (const std::tuple<> &t) |
|
template<std::size_t I = 0, StressType stressType, typename TGrid = typename std::conditional<stressType == Piola,Grid<Reference>,Grid<Current>>::type, typename ... BF> |
std::enable_if< I==sizeof...(BF), std::map< TGrid *, double > >::type | recursiveGridMaxAveragingDomainSizeMap (const std::tuple< Stress< BF, stressType > &... > t) |
|
template<std::size_t I = 0, StressType stressType, typename TGrid = typename std::conditional<stressType == Piola,Grid<Reference>,Grid<Current>>::type, typename ... BF> |
std::enable_if< I< sizeof...(BF), std::map< TGrid *, double > >::type recursiveGridMaxAveragingDomainSizeMap(const std::tuple< Stress< BF, stressType > &... > t){ std::map< TGrid *, double > map;const std::map< TGrid *, double > &rmap=recursiveGridMaxAveragingDomainSizeMap< I+1 >(t);map[std::get< I >(t).pgrid]=std::get< I >(t).method.getAveragingDomainSize();for(const auto &pair :rmap) if(std::get< I >(t).pgrid==pair.first) { map[pair.first]=std::max(map.at(std::get< I >(t).pgrid), pair.second);} else { auto result=map.insert(pair);assert(result.second==true);} return map;}inline std::vector< std::pair< Grid< Current > *, double > | getTGridDomainSizePairs (const std::tuple<> &emptyTuple) |
|
std::vector< std::pair< Grid< Reference > *, double > > | getTGridDomainSizePairs (std::tuple<> &&emptyTuple) |
|
template<std::size_t I = 0, StressType stressType, typename TGrid = typename std::conditional<stressType == Piola,Grid<Reference>,Grid<Current>>::type, typename ... BF> |
std::enable_if< I==sizeof...(BF) -1, std::vector< std::pair< TGrid *, double > > >::type | getTGridDomainSizePairs (const std::tuple< Stress< BF, stressType > &... > t) |
|
vectorPair | insert (vectorPair.end(), next.begin(), next.end()) |
|
std::vector< GridBase * > | getBaseGridList (const std::tuple<> t) |
|
template<std::size_t I = 0, typename ... TStress> |
std::enable_if< I==sizeof...(TStress) -1, std::vector< GridBase * > >::type | getBaseGridList (const std::tuple< TStress &... > t) |
|
pgridBaseVector | insert (pgridBaseVector.end(), next.begin(), next.end()) |
|
template<std::size_t I = 0, typename ... TStress> |
std::enable_if< I==sizeof...(TStress), void >::type | recursiveFold (const Vector3d &origin, const Vector3d &step, const Vector3i &pbc, const std::tuple< TStress &... > t) |
|
boxPoints | fold (pbc) |
|
| std::cout<< std::endl;recursiveFold< I+1 > (origin, step, pbc, t) |
|
template<std::size_t I = 0, typename ... TStress> |
std::enable_if< I==sizeof...(TStress), void >::type | recursiveWriteStressAndGrid (std::tuple< TStress &... > t) |
|
template<std::size_t I = 0, typename ... TStress> |
std::enable_if< I< sizeof...(TStress), void >::type recursiveWriteStressAndGrid(std::tuple< TStress &... > t){ std::cout<< "Writing stress and grid of "<< std::get< I >(t).name<< std::endl;std::get< I >(t).write();std::get< I >(t).pgrid-> | write (std::get< I >(t).name) |
|
| recursiveWriteStressAndGrid< I+1 > (t) |
|