Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
Classes | Namespaces | Typedefs | Functions
system_base.hpp File Reference

Defines the SystemBase struct for common system functionality. More...

#include <string>
#include <vector>
#include <memory>
#include <utility>
#include "field_state.hpp"
#include "field_store.hpp"
#include "coupled_system_solver.hpp"
#include "state_advancer.hpp"
#include "smith/physics/common.hpp"
#include "mfem.hpp"
Include dependency graph for system_base.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  smith::ReactionInfo
 Information about a dual field. More...
 
struct  smith::SystemBase
 Base struct for physics systems containing common members and helper functions. More...
 

Namespaces

 smith
 Accelerator functionality.
 

Typedefs

template<std::size_t , typename T >
using smith::detail::always_t = T
 Helper: given an index and a type, always produces the type (used to repeat a type N times via pack expansion)
 
template<typename Rule , typename Space , typename... Tail>
using smith::TimeRuleParams = decltype(detail::time_rule_params_impl< Space, Tail... >(std::make_index_sequence< Rule::num_states >{}))
 Generate a Parameters<...> type with Rule::num_states copies of Space followed by additional Tail types. Used to build weak form parameter lists that adapt to the time integration rule's arity.
 

Functions

template<typename Space , typename... Tail, std::size_t... Is>
auto smith::detail::time_rule_params_impl (std::index_sequence< Is... >) -> Parameters< always_t< Is, Space >..., Tail... >
 Implementation for TimeRuleParams: repeat Space N times, then append Tail...
 

Detailed Description

Defines the SystemBase struct for common system functionality.

Definition in file system_base.hpp.