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

Defines common types and helper functions for using the residual and scalar_objective classes. More...

#include "smith/physics/state/finite_element_state.hpp"
#include "smith/physics/state/finite_element_dual.hpp"
Include dependency graph for field_types.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 smith
 Accelerator functionality.
 

Typedefs

using smith::FieldPtr = FiniteElementState *
 using
 
using smith::DualFieldPtr = FiniteElementDual *
 using
 
using smith::ConstFieldPtr = FiniteElementState const *
 using
 
using smith::ConstDualFieldPtr = FiniteElementDual const *
 using
 

Functions

template<typename T >
auto smith::getFieldPointers (std::vector< std::shared_ptr< T >> &states, std::vector< std::shared_ptr< T >> &params)
 Get a vector of FieldPtr or DualFieldPtr from a vector of shared_pointers to FiniteElementState or FiniteElementDual.
 
template<typename T >
auto smith::getFieldPointers (std::vector< std::shared_ptr< T >> &states)
 Get a vector of FieldPtr or DualFieldPtr from a vector of shared_pointers to FiniteElementState or FiniteElementDual.
 
template<typename T >
auto smith::getFieldPointers (std::vector< T > &states, std::vector< T > &params)
 Get a vector of FieldPtr or DualFieldPtr from a vector of FiniteElementState or FiniteElementDual.
 
template<typename T >
auto smith::getFieldPointers (std::vector< T > &states)
 Get a vector of FieldPtr or DualFieldPtr from a vector of FiniteElementState or FiniteElementDual.
 
template<typename T >
auto smith::getFieldPointers (std::shared_ptr< T > &state)
 Get a vector of FieldPtr or DualFieldPtr from a single shared_ptr<FiniteElementState> or shared_ptr<FiniteElementDual>
 
template<typename T >
auto smith::getFieldPointers (T &state)
 Get a vector of FieldPtr or DualFieldPtr from a single FiniteElementState or FiniteElementDual.
 
template<typename T >
auto smith::getConstFieldPointers (const std::vector< std::shared_ptr< T >> &states, const std::vector< std::shared_ptr< T >> &params={})
 Get a vector of ConstFieldPtr or ConstDualFieldPtr from a vector of shared_pointers to FiniteElementState or FiniteElementDual.
 
template<typename T >
auto smith::getConstFieldPointers (const std::vector< T * > &states, const std::vector< T * > &params={})
 Get a vector of ConstFieldPtr or ConstDualFieldPtr from a vector of shared_pointers to FiniteElementState or FiniteElementDual.
 
template<typename T >
auto smith::getConstFieldPointers (const std::vector< T > &states, const std::vector< T > &params={})
 Get a vector of ConstFieldPtr or ConstDualFieldPtr from a vector of FiniteElementState or FiniteElementDual.
 
template<typename T >
auto smith::getConstFieldPointers (const std::shared_ptr< T > &state)
 Get a vector of ConstFieldPtr or ConstDualFieldPtr from a single shared_ptr<FiniteElementState> or shared_ptr<FiniteElementDual>
 
template<typename T >
auto smith::getConstFieldPointers (const T &state)
 Get a vector of ConstFieldPtr or ConstDualFieldPtr from a single FiniteElementState or FiniteElementDual.
 

Variables

constexpr int smith::SHAPE_ORDER = 1
 Polynomial order used to discretize the shape displacement field.
 
constexpr H1< SHAPE_ORDER, 2 > smith::SHAPE_DIM_2
 Function space for shape displacement on dimension 2 meshes.
 
constexpr H1< SHAPE_ORDER, 3 > smith::SHAPE_DIM_3
 Function space for shape displacement on dimension 2 meshes.
 

Detailed Description

Defines common types and helper functions for using the residual and scalar_objective classes.

Definition in file field_types.hpp.