v0.14.0
Classes | Functions
TetPolynomialBase.cpp File Reference

Implementation of hierarchical bases on tetrahedral. More...

Go to the source code of this file.

Classes

struct  TetBaseCache
 
struct  TetBaseCache::BaseCacheItem
 
struct  TetBaseCache::HDivBaseCacheItem
 

Functions

template<typename T >
auto tetCacheSwitch (const void *ptr, T &cache, std::string cache_name)
 

Detailed Description

Implementation of hierarchical bases on tetrahedral.

A l2, h1, h-div and h-curl spaces are implemented.

Definition in file TetPolynomialBase.cpp.

Function Documentation

◆ tetCacheSwitch()

template<typename T >
auto tetCacheSwitch ( const void *  ptr,
T &  cache,
std::string  cache_name 
)

Definition at line 2259 of file TetPolynomialBase.cpp.

2259  {
2260  auto it = cache.find(ptr);
2261  if (it != cache.end()) {
2262  MOFEM_LOG_CHANNEL("WORLD");
2263  MOFEM_TAG_AND_LOG("WORLD", Sev::noisy, "TetPolynomialBase")
2264  << "Cache off " << cache_name << ": " << it->second.size();
2265  cache.erase(it);
2266  return false;
2267  } else {
2268  MOFEM_LOG_CHANNEL("WORLD");
2269  MOFEM_TAG_AND_LOG("WORLD", Sev::noisy, "TetPolynomialBase")
2270  << "Cache on " << cache_name;
2271  cache[ptr];
2272  return true;
2273  }
2274 }
MOFEM_LOG_CHANNEL
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
Definition: LogManager.hpp:284
MOFEM_TAG_AND_LOG
#define MOFEM_TAG_AND_LOG(channel, severity, tag)
Tag and log in channel.
Definition: LogManager.hpp:362