Reference documentation for deal.II version 9.4.1
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Namespaces
symengine_tensor_operations.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/symmetric_tensor.h>
#include <deal.II/base/tensor.h>
#include <deal.II/differentiation/sd/symengine_number_types.h>
#include <deal.II/differentiation/sd/symengine_scalar_operations.h>
#include <deal.II/differentiation/sd/symengine_types.h>
#include <utility>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  Differentiation
 
namespace  Differentiation::SD
 

Functions

Symbolic variable creation
template<int dim>
Tensor< 1, dim, Expression > Differentiation::SD::make_vector_of_symbols (const std::string &symbol)
 
template<int rank, int dim>
Tensor< rank, dim, Expression > Differentiation::SD::make_tensor_of_symbols (const std::string &symbol)
 
template<int rank, int dim>
SymmetricTensor< rank, dim, Expression > Differentiation::SD::make_symmetric_tensor_of_symbols (const std::string &symbol)
 
template<int dim>
Tensor< 1, dim, Expression > Differentiation::SD::make_vector_of_symbolic_functions (const std::string &symbol, const types::substitution_map &arguments)
 
template<int rank, int dim>
Tensor< rank, dim, Expression > Differentiation::SD::make_tensor_of_symbolic_functions (const std::string &symbol, const types::substitution_map &arguments)
 
template<int rank, int dim>
SymmetricTensor< rank, dim, Expression > Differentiation::SD::make_symmetric_tensor_of_symbolic_functions (const std::string &symbol, const types::substitution_map &arguments)
 
Symbolic differentiation
template<int rank, int dim>
Tensor< rank, dim, Expression > Differentiation::SD::differentiate (const Expression &f, const Tensor< rank, dim, Expression > &T)
 
template<int rank, int dim>
SymmetricTensor< rank, dim, Expression > Differentiation::SD::differentiate (const Expression &f, const SymmetricTensor< rank, dim, Expression > &S)
 
template<int rank, int dim>
Tensor< rank, dim, Expression > Differentiation::SD::differentiate (const Tensor< 0, dim, Expression > &f, const Tensor< rank, dim, Expression > &T)
 
template<int rank, int dim>
SymmetricTensor< rank, dim, Expression > Differentiation::SD::differentiate (const Tensor< 0, dim, Expression > &f, const SymmetricTensor< rank, dim, Expression > &S)
 
template<int rank, int dim>
Tensor< rank, dim, Expression > Differentiation::SD::differentiate (const Tensor< rank, dim, Expression > &T, const Expression &x)
 
template<int rank, int dim>
SymmetricTensor< rank, dim, Expression > Differentiation::SD::differentiate (const SymmetricTensor< rank, dim, Expression > &S, const Expression &x)
 
template<int rank, int dim>
Tensor< rank, dim, Expression > Differentiation::SD::differentiate (const Tensor< rank, dim, Expression > &T, const Tensor< 0, dim, Expression > &x)
 
template<int rank, int dim>
SymmetricTensor< rank, dim, Expression > Differentiation::SD::differentiate (const SymmetricTensor< rank, dim, Expression > &S, const Tensor< 0, dim, Expression > &x)
 
template<int rank_1, int rank_2, int dim>
Tensor< rank_1+rank_2, dim, Expression > Differentiation::SD::differentiate (const Tensor< rank_1, dim, Expression > &T1, const Tensor< rank_2, dim, Expression > &T2)
 
template<int rank_1, int rank_2, int dim>
SymmetricTensor< rank_1+rank_2, dim, Expression > Differentiation::SD::differentiate (const SymmetricTensor< rank_1, dim, Expression > &S1, const SymmetricTensor< rank_2, dim, Expression > &S2)
 
template<int rank_1, int rank_2, int dim>
Tensor< rank_1+rank_2, dim, Expression > Differentiation::SD::differentiate (const Tensor< rank_1, dim, Expression > &T, const SymmetricTensor< rank_2, dim, Expression > &S)
 
template<int rank_1, int rank_2, int dim>
Tensor< rank_1+rank_2, dim, Expression > Differentiation::SD::differentiate (const SymmetricTensor< rank_1, dim, Expression > &S, const Tensor< rank_2, dim, Expression > &T)
 
Symbol map creation and manipulation
template<bool ignore_invalid_symbols = false, typename ValueType = double, int rank, int dim, typename SymbolicType >
void Differentiation::SD::add_to_symbol_map (types::substitution_map &symbol_map, const Tensor< rank, dim, SymbolicType > &symbol_tensor)
 
template<bool ignore_invalid_symbols = false, typename ValueType = double, int rank, int dim, typename SymbolicType >
void Differentiation::SD::add_to_symbol_map (types::substitution_map &symbol_map, const SymmetricTensor< rank, dim, SymbolicType > &symbol_tensor)
 
template<int rank, int dim, typename SymbolicType , typename ValueType >
void Differentiation::SD::set_value_in_symbol_map (types::substitution_map &substitution_map, const Tensor< rank, dim, SymbolicType > &symbol_tensor, const Tensor< rank, dim, ValueType > &value_tensor)
 
template<int rank, int dim, typename SymbolicType , typename ValueType >
void Differentiation::SD::set_value_in_symbol_map (types::substitution_map &substitution_map, const SymmetricTensor< rank, dim, SymbolicType > &symbol_tensor, const SymmetricTensor< rank, dim, ValueType > &value_tensor)
 
Symbol substitution map creation
template<int rank, int dim, typename ExpressionType , typename ValueType >
types::substitution_map Differentiation::SD::make_substitution_map (const Tensor< rank, dim, ExpressionType > &symbol_tensor, const Tensor< rank, dim, ValueType > &value_tensor)
 
template<int rank, int dim, typename ExpressionType , typename ValueType >
types::substitution_map Differentiation::SD::make_substitution_map (const SymmetricTensor< rank, dim, ExpressionType > &symbol_tensor, const SymmetricTensor< rank, dim, ValueType > &value_tensor)
 
Symbol substitution map enlargement
template<bool ignore_invalid_symbols = false, int rank, int dim, typename ExpressionType , typename ValueType >
void Differentiation::SD::add_to_substitution_map (types::substitution_map &substitution_map, const Tensor< rank, dim, ExpressionType > &symbol_tensor, const Tensor< rank, dim, ValueType > &value_tensor)
 
template<bool ignore_invalid_symbols = false, int rank, int dim, typename ExpressionType , typename ValueType >
void Differentiation::SD::add_to_substitution_map (types::substitution_map &substitution_map, const SymmetricTensor< rank, dim, ExpressionType > &symbol_tensor, const SymmetricTensor< rank, dim, ValueType > &value_tensor)
 
Symbol substitution and evaluation
template<int rank, int dim>
Tensor< rank, dim, Expression > Differentiation::SD::substitute (const Tensor< rank, dim, Expression > &expression_tensor, const types::substitution_map &substitution_map)
 
template<int rank, int dim>
SymmetricTensor< rank, dim, Expression > Differentiation::SD::substitute (const SymmetricTensor< rank, dim, Expression > &expression_tensor, const types::substitution_map &substitution_map)
 
template<typename ValueType , int rank, int dim>
Tensor< rank, dim, ValueType > Differentiation::SD::substitute_and_evaluate (const Tensor< rank, dim, Expression > &expression_tensor, const types::substitution_map &substitution_map)
 
template<typename ValueType , int rank, int dim>
SymmetricTensor< rank, dim, ValueType > Differentiation::SD::substitute_and_evaluate (const SymmetricTensor< rank, dim, Expression > &expression_tensor, const types::substitution_map &substitution_map)