suanPan
🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework
Loading...
Searching...
No Matches
suanpan Namespace Reference

Namespaces

namespace  damping
 
namespace  detail
 
namespace  expression
 
namespace  mass
 

Typedefs

template<typename T >
using vector = std::vector< T >
 
template<typename T >
using set = std::set< T >
 
template<typename T >
using unordered_set = std::unordered_set< T >
 
template<typename T , typename D >
using map = std::map< T, D >
 
template<typename T , typename D >
using unordered_map = std::unordered_map< T, D >
 
template<typename T >
using graph = vector< set< T > >
 

Functions

constexpr std::vector< Node::DOFtranslational (const unsigned dimension)
 
constexpr std::vector< Node::DOFmechanical (const unsigned dimension)
 
unique_ptr< Materialunique_copy (const shared_ptr< Material > &)
 
unique_ptr< Sectionunique_copy (const shared_ptr< Section > &)
 
unique_ptr< SectionShellunique_copy (const shared_ptr< SectionShell > &)
 
unique_ptr< SectionShellunique_copy (const unique_ptr< SectionShell > &)
 
std::string pattern (const std::string_view header, const std::string_view file_path, const std::string_view format)
 
template<typename... T>
void debug (const std::string_view file_name, const int line, const std::string_view format_str, const T &... args)
 
template<typename... T>
void warning (const std::string_view file_name, const int line, const std::string_view format_str, const T &... args)
 
template<typename... T>
void error (const std::string_view file_name, const int line, const std::string_view format_str, const T &... args)
 
template<typename... T>
void fatal (const std::string_view file_name, const int line, const std::string_view format_str, const T &... args)
 
template<typename... T>
void info (const std::string_view format_sv, const T &... args)
 
template<typename... T>
std::string format (const std::string_view format_str, const T &... args)
 
template<typename T >
std::string format (const Col< T > &in_vec)
 
template<typename T >
void info (const Col< T > &in_vec)
 
template<typename T >
void info (const std::string_view format_sv, const Col< T > &in_vec)
 
template<typename... T>
void highlight (const std::string_view format_sv, const T &... args)
 
template<class Container , class Handler >
requires requires(Container& x) { x.begin(); x.end(); }
void for_all (Container &target, Handler &&func)
 
template<typename T >
std::vector< T > & append_to (std::vector< T > &a, std::vector< T > &&b)
 
template<typename T1 >
enable_if2< is_arma_type< T1 >::value, typenameT1::pod_type >::result inf_norm (const T1 &X)
 
template<typename T >
ramp (const T in)
 
template<typename T >
constexpr const T & middle (const std::vector< T > &container)
 
template<sp_i IT, std::invocable< IT > F>
void for_each (const IT start, const IT end, F &&FN)
 
template<sp_i IT, std::invocable< IT > F>
void for_each (const IT end, F &&FN)
 
template<typename T >
constexpr T max_element (T start, T end)
 
template<typename T >
const std::vector< T > & unique (std::vector< T > &container)
 
template<class Container , class Handler >
requires requires(Container x) { x.begin(); x.end(); }
auto all_of (Container &target, Handler &&func)
 
template<class Container , class Handler >
requires requires(Container x) { x.begin(); x.end(); }
auto none_of (Container &target, Handler &&func)
 
template<class Container , class Handler >
requires requires(Container x) { x.begin(); x.end(); }
auto any_of (Container &target, Handler &&func)
 
template<typename T >
constexpr T & hacker (const T &I)
 
template<typename T >
constexpr T *& hacker (const T *const &I)
 
template<typename T >
requires std::signed_integral<T> || std::floating_point<T>
constexpr T sign (const T I)
 
template<std::floating_point T>
constexpr T clamp (const T c, T a, T b)
 
template<std::floating_point T>
constexpr T clamp_unit (const T c)
 
template<std::floating_point T>
bool approx_equal (const T x, const T y, int ulp=2)
 
unsigned long long binomial (unsigned long long, unsigned long long)
 
char to_upper (char)
 
char to_lower (char)
 
void to_upper (std::string &)
 
void to_lower (std::string &)
 
std::string to_upper (const std::string &)
 
std::string to_lower (const std::string &)
 
std::string to_upper (std::string &&)
 
std::string to_lower (std::string &&)
 

Variables

std::mutex print_mutex
 

Typedef Documentation

◆ graph

template<typename T >
using suanpan::graph = typedef vector<set<T> >

◆ map

template<typename T , typename D >
using suanpan::map = typedef std::map<T, D>

◆ set

template<typename T >
using suanpan::set = typedef std::set<T>

◆ unordered_map

template<typename T , typename D >
using suanpan::unordered_map = typedef std::unordered_map<T, D>

◆ unordered_set

template<typename T >
using suanpan::unordered_set = typedef std::unordered_set<T>

◆ vector

template<typename T >
using suanpan::vector = typedef std::vector<T>

Function Documentation

◆ all_of()

template<class Container , class Handler >
requires requires(Container x) { x.begin(); x.end(); }
auto suanpan::all_of ( Container &  target,
Handler &&  func 
)

◆ any_of()

template<class Container , class Handler >
requires requires(Container x) { x.begin(); x.end(); }
auto suanpan::any_of ( Container &  target,
Handler &&  func 
)

◆ append_to()

template<typename T >
std::vector< T > & suanpan::append_to ( std::vector< T > &  a,
std::vector< T > &&  b 
)
Here is the caller graph for this function:

◆ approx_equal()

template<std::floating_point T>
bool suanpan::approx_equal ( const T  x,
const T  y,
int  ulp = 2 
)
Here is the caller graph for this function:

◆ binomial()

unsigned long long suanpan::binomial ( unsigned long long  n,
unsigned long long  k 
)
Here is the caller graph for this function:

◆ clamp()

template<std::floating_point T>
constexpr T suanpan::clamp ( const T  c,
a,
b 
)
constexpr
Here is the caller graph for this function:

◆ clamp_unit()

template<std::floating_point T>
constexpr T suanpan::clamp_unit ( const T  c)
constexpr
Here is the call graph for this function:
Here is the caller graph for this function:

◆ debug()

template<typename... T>
void suanpan::debug ( const std::string_view  file_name,
const int  line,
const std::string_view  format_str,
const T &...  args 
)
Here is the call graph for this function:

◆ error()

template<typename... T>
void suanpan::error ( const std::string_view  file_name,
const int  line,
const std::string_view  format_str,
const T &...  args 
)
Here is the call graph for this function:

◆ fatal()

template<typename... T>
void suanpan::fatal ( const std::string_view  file_name,
const int  line,
const std::string_view  format_str,
const T &...  args 
)
Here is the call graph for this function:

◆ for_all()

template<class Container , class Handler >
requires requires(Container& x) { x.begin(); x.end(); }
void suanpan::for_all ( Container &  target,
Handler &&  func 
)
Here is the caller graph for this function:

◆ for_each() [1/2]

template<sp_i IT, std::invocable< IT > F>
void suanpan::for_each ( const IT  end,
F &&  FN 
)
Here is the call graph for this function:

◆ for_each() [2/2]

template<sp_i IT, std::invocable< IT > F>
void suanpan::for_each ( const IT  start,
const IT  end,
F &&  FN 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ format() [1/2]

template<typename T >
std::string suanpan::format ( const Col< T > &  in_vec)
Here is the call graph for this function:

◆ format() [2/2]

template<typename... T>
std::string suanpan::format ( const std::string_view  format_str,
const T &...  args 
)
Here is the caller graph for this function:

◆ hacker() [1/2]

template<typename T >
constexpr T & suanpan::hacker ( const T &  I)
constexpr
Here is the caller graph for this function:

◆ hacker() [2/2]

template<typename T >
constexpr T *& suanpan::hacker ( const T *const &  I)
constexpr

◆ highlight()

template<typename... T>
void suanpan::highlight ( const std::string_view  format_sv,
const T &...  args 
)

◆ inf_norm()

template<typename T1 >
enable_if2< is_arma_type< T1 >::value, typenameT1::pod_type >::result suanpan::inf_norm ( const T1 &  X)
Here is the caller graph for this function:

◆ info() [1/3]

template<typename T >
void suanpan::info ( const Col< T > &  in_vec)
Here is the call graph for this function:

◆ info() [2/3]

template<typename T >
void suanpan::info ( const std::string_view  format_sv,
const Col< T > &  in_vec 
)
Here is the call graph for this function:

◆ info() [3/3]

template<typename... T>
void suanpan::info ( const std::string_view  format_sv,
const T &...  args 
)

◆ max_element()

template<typename T >
constexpr T suanpan::max_element ( start,
end 
)
constexpr
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mechanical()

constexpr std::vector< Node::DOF > suanpan::mechanical ( const unsigned  dimension)
inlineconstexpr

◆ middle()

template<typename T >
constexpr const T & suanpan::middle ( const std::vector< T > &  container)
constexpr

◆ none_of()

template<class Container , class Handler >
requires requires(Container x) { x.begin(); x.end(); }
auto suanpan::none_of ( Container &  target,
Handler &&  func 
)

◆ pattern()

std::string suanpan::pattern ( const std::string_view  header,
const std::string_view  file_path,
const std::string_view  format 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ramp()

template<typename T >
T suanpan::ramp ( const T  in)

◆ sign()

template<typename T >
requires std::signed_integral<T> || std::floating_point<T>
constexpr T suanpan::sign ( const T  I)
constexpr
Here is the caller graph for this function:

◆ to_lower() [1/4]

char suanpan::to_lower ( char  L)
Here is the caller graph for this function:

◆ to_lower() [2/4]

std::string suanpan::to_lower ( const std::string &  U)
Here is the call graph for this function:

◆ to_lower() [3/4]

std::string suanpan::to_lower ( std::string &&  U)
Here is the call graph for this function:

◆ to_lower() [4/4]

void suanpan::to_lower ( std::string &  U)

◆ to_upper() [1/4]

char suanpan::to_upper ( char  U)
Here is the caller graph for this function:

◆ to_upper() [2/4]

std::string suanpan::to_upper ( const std::string &  U)
Here is the call graph for this function:

◆ to_upper() [3/4]

std::string suanpan::to_upper ( std::string &&  U)
Here is the call graph for this function:

◆ to_upper() [4/4]

void suanpan::to_upper ( std::string &  U)

◆ translational()

constexpr std::vector< Node::DOF > suanpan::translational ( const unsigned  dimension)
inlineconstexpr

◆ unique()

template<typename T >
const std::vector< T > & suanpan::unique ( std::vector< T > &  container)
Here is the caller graph for this function:

◆ unique_copy() [1/4]

unique_ptr< Material > suanpan::unique_copy ( const shared_ptr< Material > &  P)
Here is the caller graph for this function:

◆ unique_copy() [2/4]

unique_ptr< Section > suanpan::unique_copy ( const shared_ptr< Section > &  S)

◆ unique_copy() [3/4]

unique_ptr< SectionShell > suanpan::unique_copy ( const shared_ptr< SectionShell > &  S)

◆ unique_copy() [4/4]

unique_ptr< SectionShell > suanpan::unique_copy ( const unique_ptr< SectionShell > &  S)

◆ warning()

template<typename... T>
void suanpan::warning ( const std::string_view  file_name,
const int  line,
const std::string_view  format_str,
const T &...  args 
)
Here is the call graph for this function:

Variable Documentation

◆ print_mutex

std::mutex suanpan::print_mutex
inline