SimiLie
Loading...
Searching...
No Matches
sil::exterior Namespace Reference

Classes

struct  Boundary
 
class  Chain
 Chain class. More...
 
struct  Coboundary
 
struct  Coboundary< CochainType >
 
struct  Coboundary< TagToAddToCochain, CochainTag >
 
class  Cochain
 Cochain class. More...
 
class  CochainIterator
 
struct  Codifferential
 
struct  Codifferential< MetricIndex, TagToRemoveFromCochain, CochainTag, TensorType, MetricType, PositionType >
 
struct  ContinuousHodgeStar
 
class  Cosimplex
 Cosimplex class. More...
 
struct  DiscreteHodgeStar
 
struct  DualSimplexVolume
 
struct  FillReconstructionOperatorMem
 
struct  FillReductionOperatorMem
 
struct  IndexForCodifferentialOfCoboundaryInLaplacian
 
class  LocalChain
 LocalChain class. More...
 
struct  Reconstruction
 
struct  Reduction
 
class  Simplex
 Simplex class. More...
 
struct  SimplexVolume
 
class  StagedCodifferential
 
class  StagedLaplacian
 
class  StagedLaplacian< MetricIndex, LaplacianDummyIndex, CochainTag, TensorType, MetricType, PositionType, ExecSpace >
 
struct  TransposedCoboundary
 
struct  TransposedCoboundary< TagToAddToCochain, CochainTag >
 

Typedefs

template<class T >
using boundary_t = typename detail::BoundaryType<T>::type
 
template<misc::Specialization< Cochain > CochainType>
using coboundary_t = typename detail::CoboundaryType<CochainType>::type
 
template<class TagToAddToCochain , class CochainTag >
using coboundary_index_t = typename detail::CoboundaryIndex<TagToAddToCochain, CochainTag>::type
 
template<tensor::TensorNatIndex TagToAddToCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType>
using coboundary_tensor_t
 
template<misc::Specialization< Cochain > CochainType>
using codifferential_t = typename detail::CodifferentialType<CochainType>::type
 
template<class TagToRemoveFromCochain , class CochainTag >
using codifferential_index_t
 
template<tensor::TensorNatIndex TagToRemoveFromCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType>
using codifferential_tensor_t
 
template<std::size_t EndId, class T >
using codifferential_hodge_output_indices_t
 
template<class T , class ElementType = double, class LayoutStridedPolicy = Kokkos::LayoutRight>
using Form = typename detail::FormWrapper<T, ElementType, LayoutStridedPolicy>::type
 
template<misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2>
using hodge_star_domain_t
 
template<misc::Specialization< ddc::detail::TypeSeq > Indices>
using reduction_index_t = typename detail::ReductionTargetIndex<Indices>::type
 
template<misc::Specialization< ddc::detail::TypeSeq > Indices>
using reduction_domain_t
 
template<misc::Specialization< ddc::detail::TypeSeq > Indices>
using reconstruction_domain_t
 
template<std::size_t K, class Dom >
using simplex_for_domain_t = detail::SimplexForDomain<K, Dom>::type
 

Enumerations

enum class  CellComplex {
  Primal ,
  CircumcentricDual ,
  BarycentricDual
}
 

Functions

template<misc::Specialization< Kokkos::View > AllocationType, class SimplexType >
KOKKOS_FUNCTION Chain< boundary_t< SimplexType >, typename AllocationType::array_layout, typename AllocationType::memory_space > boundary (AllocationType allocation, SimplexType simplex)
 
template<misc::Specialization< Kokkos::View > AllocationType, class SimplexType >
KOKKOS_FUNCTION Chain< boundary_t< SimplexType >, typename AllocationType::array_layout, typename AllocationType::memory_space > boundary (AllocationType allocation, Chain< SimplexType, typename AllocationType::array_layout, typename AllocationType::memory_space > chain)
 
template<class Head , class... Tail>
 Chain (Head, Tail...) -> Chain< typename Head::value_type, typename Head::array_layout, typename Head::memory_space >
 
template<misc::Specialization< Chain > ChainType>
std::ostream & operator<< (std::ostream &out, ChainType const &chain)
 
template<misc::Specialization< Cochain > CochainType>
KOKKOS_FUNCTION coboundary_t< CochainType > coboundary (CochainType cochain)
 
template<tensor::TensorNatIndex TagToAddToCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, class ExecSpace >
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > coboundary (ExecSpace const &exec_space, coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > coboundary_tensor, TensorType tensor)
 
template<tensor::TensorNatIndex TagToAddToCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, class ExecSpace >
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > transposed_coboundary (ExecSpace const &exec_space, coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > coboundary_tensor, TensorType tensor)
 
template<tensor::TensorNatIndex TagToAddToCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, class ExecSpace >
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > deriv (ExecSpace const &exec_space, coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > coboundary_tensor, TensorType tensor)
 
template<class ChainType , misc::Specialization< tensor::Tensor > TensorType>
 Cochain (ChainType, TensorType) -> Cochain< ChainType, typename TensorType::value_type, ddc::detail::mdspan_to_kokkos_layout_t< typename TensorType::layout_type > >
 
template<misc::Specialization< Cochain > CochainType>
std::ostream & operator<< (std::ostream &out, CochainType const &cochain)
 
template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex TagToRemoveFromCochain, tensor::TensorIndex CochainTag, class ExecSpace , misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > MetricType, misc::Specialization< tensor::Tensor > PositionType>
StagedCodifferential< MetricIndex, TagToRemoveFromCochain, CochainTag, TensorType, MetricType, PositionType, ExecSpace > make_staged_codifferential (ExecSpace const &exec_space, TensorType tensor, MetricType metric, PositionType position)
 
template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex TagToRemoveFromCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > DualTensorType, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > DualHodgeStarType, class ExecSpace >
codifferential_tensor_t< TagToRemoveFromCochain, CochainTag, TensorType > codifferential (ExecSpace const &exec_space, codifferential_tensor_t< TagToRemoveFromCochain, CochainTag, TensorType > codifferential_tensor, TensorType tensor, HodgeStarType hodge_star, DualHodgeStarType dual_hodge_star, DualTensorType dual_tensor_buffer)
 
template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex TagToRemoveFromCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > MetricType, misc::Specialization< tensor::Tensor > PositionType, class ExecSpace >
codifferential_tensor_t< TagToRemoveFromCochain, CochainTag, TensorType > codifferential (ExecSpace const &exec_space, codifferential_tensor_t< TagToRemoveFromCochain, CochainTag, TensorType > codifferential_tensor, TensorType tensor, MetricType metric, PositionType position)
 
template<misc::Specialization< Cosimplex > CosimplexType>
std::ostream & operator<< (std::ostream &out, CosimplexType const &cosimplex)
 
template<misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2, CellComplex Complex = CellComplex::CircumcentricDual, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > MetricType, misc::Specialization< tensor::Tensor > PositionType, class ExecSpace >
HodgeStarType fill_discrete_hodge_star (ExecSpace const &exec_space, HodgeStarType hodge_star, MetricType metric, PositionType position)
 
template<misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > MetricType, class ExecSpace >
HodgeStarType fill_continuous_hodge_star (ExecSpace const &exec_space, HodgeStarType hodge_star, MetricType metric)
 
template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex LaplacianDummyIndex, tensor::TensorIndex CochainTag, class ExecSpace , misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > MetricType, misc::Specialization< tensor::Tensor > PositionType>
StagedLaplacian< MetricIndex, LaplacianDummyIndex, CochainTag, TensorType, MetricType, PositionType, ExecSpace > make_staged_laplacian (ExecSpace const &exec_space, TensorType laplacian_tensor, TensorType tensor, MetricType metric, PositionType position)
 
template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex LaplacianDummyIndex, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > DerivativeHodgeStarType, misc::Specialization< tensor::Tensor > DualDerivativeHodgeStarType, misc::Specialization< tensor::Tensor > DerivativeDualTensorBufferType, class ExecSpace >
requires (detail::ZeroRankLaplacianCochain<LaplacianDummyIndex, CochainTag>)
TensorType laplacian (ExecSpace const &exec_space, TensorType laplacian_tensor, TensorType tensor, DerivativeHodgeStarType hodge_star, DualDerivativeHodgeStarType dual_hodge_star, DerivativeDualTensorBufferType dual_tensor_buffer)
 
template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex LaplacianDummyIndex, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > DerivativeHodgeStarType, misc::Specialization< tensor::Tensor > DualDerivativeHodgeStarType, misc::Specialization< tensor::Tensor > DerivativeDualTensorBufferType, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > DualHodgeStarType, misc::Specialization< tensor::Tensor > DualTensorBufferType, misc::Specialization< tensor::Tensor > CodifferentialTensorBufferType, misc::Specialization< tensor::Tensor > CoboundaryOfCodifferentialBufferType, class ExecSpace >
requires (detail::IntermediateRankLaplacianCochain<LaplacianDummyIndex, CochainTag>)
TensorType laplacian (ExecSpace const &exec_space, TensorType laplacian_tensor, TensorType tensor, DerivativeHodgeStarType derivative_hodge_star, DualDerivativeHodgeStarType dual_derivative_hodge_star, DerivativeDualTensorBufferType derivative_dual_tensor_buffer, HodgeStarType hodge_star, DualHodgeStarType dual_hodge_star, DualTensorBufferType dual_tensor_buffer, CodifferentialTensorBufferType codifferential_tensor_buffer, CoboundaryOfCodifferentialBufferType coboundary_of_codifferential_buffer)
 
template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex LaplacianDummyIndex, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > DualHodgeStarType, misc::Specialization< tensor::Tensor > DualTensorBufferType, misc::Specialization< tensor::Tensor > CodifferentialTensorBufferType, class ExecSpace >
requires (detail::TopRankLaplacianCochain<LaplacianDummyIndex, CochainTag>)
TensorType laplacian (ExecSpace const &exec_space, TensorType laplacian_tensor, TensorType tensor, HodgeStarType hodge_star, DualHodgeStarType dual_hodge_star, DualTensorBufferType dual_tensor_buffer, CodifferentialTensorBufferType codifferential_tensor_buffer)
 
template<class Head , misc::NotSpecialization< ddc::DiscreteVector >... Tail>
 LocalChain (Head, Tail...) -> LocalChain< ddc::type_seq_element_t< 0, ddc::detail::TypeSeq< Tail... > >, typename Head::array_layout, typename Head::memory_space >
 
template<std::size_t K, misc::Specialization< ddc::DiscreteDomain > Dom, class ExecSpace >
constexpr auto tangent_basis (ExecSpace const &exec_space)
 
template<misc::Specialization< ddc::detail::TypeSeq > Indices, misc::Specialization< tensor::Tensor > ReductionTensorType, misc::Specialization< tensor::Tensor > PositionType, class ExecSpace , CellComplex Complex = CellComplex::Primal>
ReductionTensorType fill_reduction_operator (ExecSpace const &exec_space, ReductionTensorType reduction_tensor, PositionType position)
 
template<misc::Specialization< ddc::detail::TypeSeq > Indices, misc::Specialization< tensor::Tensor > ReconstructionTensorType, misc::Specialization< tensor::Tensor > PositionType, class ExecSpace , CellComplex Complex = CellComplex::Primal>
ReconstructionTensorType fill_reconstruction_operator (ExecSpace const &exec_space, ReconstructionTensorType reconstruction_tensor, PositionType position)
 
template<class... Tag, class... T>
 Simplex (ddc::DiscreteElement< Tag... >, ddc::DiscreteVector< T... >) -> Simplex< sizeof...(T), Tag... >
 
template<class... Tag, class... T>
 Simplex (ddc::DiscreteElement< Tag... >, ddc::DiscreteVector< T... >, bool) -> Simplex< sizeof...(T), Tag... >
 
template<std::size_t K, class... Tag>
std::ostream & operator<< (std::ostream &out, Simplex< K, Tag... > const &simplex)
 

Class Documentation

◆ sil::exterior::Coboundary

struct sil::exterior::Coboundary
template<class... Args>
struct sil::exterior::Coboundary< Args >

Definition at line 158 of file coboundary.hpp.

Collaboration diagram for sil::exterior::Coboundary< Args >:
Collaboration graph

◆ sil::exterior::Codifferential

struct sil::exterior::Codifferential
template<class... Args>
struct sil::exterior::Codifferential< Args >

Definition at line 173 of file codifferential.hpp.

Collaboration diagram for sil::exterior::Codifferential< Args >:
Collaboration graph

◆ sil::exterior::StagedLaplacian

class sil::exterior::StagedLaplacian
template<class... Args>
class sil::exterior::StagedLaplacian< Args >

Definition at line 175 of file laplacian.hpp.

Collaboration diagram for sil::exterior::StagedLaplacian< Args >:
Collaboration graph

◆ sil::exterior::TransposedCoboundary

struct sil::exterior::TransposedCoboundary
template<class... Args>
struct sil::exterior::TransposedCoboundary< Args >

Definition at line 161 of file coboundary.hpp.

Collaboration diagram for sil::exterior::TransposedCoboundary< Args >:
Collaboration graph

Typedef Documentation

◆ boundary_t

template<class T >
using sil::exterior::boundary_t = typename detail::BoundaryType<T>::type

Definition at line 36 of file boundary.hpp.

◆ coboundary_t

template<misc::Specialization< Cochain > CochainType>
using sil::exterior::coboundary_t = typename detail::CoboundaryType<CochainType>::type

Definition at line 56 of file coboundary.hpp.

◆ coboundary_index_t

template<class TagToAddToCochain , class CochainTag >
using sil::exterior::coboundary_index_t = typename detail::CoboundaryIndex<TagToAddToCochain, CochainTag>::type

Definition at line 86 of file coboundary.hpp.

◆ coboundary_tensor_t

template<tensor::TensorNatIndex TagToAddToCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType>
using sil::exterior::coboundary_tensor_t
Initial value:
typename detail::CoboundaryTensorType<TagToAddToCochain, CochainTag, TensorType>::type

Definition at line 127 of file coboundary.hpp.

◆ codifferential_t

template<misc::Specialization< Cochain > CochainType>
using sil::exterior::codifferential_t = typename detail::CodifferentialType<CochainType>::type

Definition at line 53 of file codifferential.hpp.

◆ codifferential_index_t

template<class TagToRemoveFromCochain , class CochainTag >
using sil::exterior::codifferential_index_t
Initial value:
typename detail::CodifferentialIndex<TagToRemoveFromCochain, CochainTag>::type

Definition at line 87 of file codifferential.hpp.

◆ codifferential_tensor_t

template<tensor::TensorNatIndex TagToRemoveFromCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType>
using sil::exterior::codifferential_tensor_t
Initial value:
typename detail::
CodifferentialTensorType<TagToRemoveFromCochain, CochainTag, TensorType>::type

Definition at line 129 of file codifferential.hpp.

◆ codifferential_hodge_output_indices_t

template<std::size_t EndId, class T >
using sil::exterior::codifferential_hodge_output_indices_t
Initial value:
typename detail::CodifferentialHodgeOutputIndexSeq<EndId, T>::type

Definition at line 169 of file codifferential.hpp.

◆ Form

template<class T , class ElementType = double, class LayoutStridedPolicy = Kokkos::LayoutRight>
using sil::exterior::Form = typename detail::FormWrapper<T, ElementType, LayoutStridedPolicy>::type

Definition at line 44 of file form.hpp.

◆ hodge_star_domain_t

template<misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2>
using sil::exterior::hodge_star_domain_t
Initial value:
ddc::detail::convert_type_seq_to_discrete_domain_t<ddc::type_seq_merge_t<
ddc::detail::TypeSeq<
misc::convert_type_seq_to_t<tensor::TensorFullIndex, Indices1>>,
std::conditional_t<
(ddc::type_seq_size_v<Indices2> == 0),
ddc::detail::TypeSeq<>,
ddc::detail::TypeSeq<misc::convert_type_seq_to_t<
tensor::TensorAntisymmetricIndex,
Indices2>>>>>

Definition at line 30 of file hodge_star.hpp.

◆ reduction_index_t

template<misc::Specialization< ddc::detail::TypeSeq > Indices>
using sil::exterior::reduction_index_t = typename detail::ReductionTargetIndex<Indices>::type

Definition at line 452 of file reduction_and_reconstruction.hpp.

◆ reduction_domain_t

template<misc::Specialization< ddc::detail::TypeSeq > Indices>
using sil::exterior::reduction_domain_t
Initial value:
ddc::detail::convert_type_seq_to_discrete_domain_t<ddc::type_seq_merge_t<
ddc::detail::TypeSeq<misc::convert_type_seq_to_t<
tensor::TensorFullIndex,
tensor::primes<tensor::upper_t<Indices>>>>,
ddc::detail::TypeSeq<reduction_index_t<Indices>>>>

Definition at line 455 of file reduction_and_reconstruction.hpp.

◆ reconstruction_domain_t

template<misc::Specialization< ddc::detail::TypeSeq > Indices>
using sil::exterior::reconstruction_domain_t
Initial value:
ddc::detail::convert_type_seq_to_discrete_domain_t<ddc::type_seq_merge_t<
ddc::detail::TypeSeq<reduction_index_t<Indices>>,
ddc::detail::TypeSeq<reduction_index_t<tensor::primes<Indices>>>>>

Definition at line 462 of file reduction_and_reconstruction.hpp.

◆ simplex_for_domain_t

template<std::size_t K, class Dom >
using sil::exterior::simplex_for_domain_t = detail::SimplexForDomain<K, Dom>::type

Definition at line 232 of file simplex.hpp.

Enumeration Type Documentation

◆ CellComplex

enum class sil::exterior::CellComplex
strong
Enumerator
Primal 
CircumcentricDual 
BarycentricDual 

Definition at line 21 of file volume.hpp.

Function Documentation

◆ boundary() [1/2]

template<misc::Specialization< Kokkos::View > AllocationType, class SimplexType >
KOKKOS_FUNCTION Chain< boundary_t< SimplexType >, typename AllocationType::array_layout, typename AllocationType::memory_space > sil::exterior::boundary ( AllocationType allocation,
SimplexType simplex )

Definition at line 142 of file boundary.hpp.

◆ boundary() [2/2]

template<misc::Specialization< Kokkos::View > AllocationType, class SimplexType >
KOKKOS_FUNCTION Chain< boundary_t< SimplexType >, typename AllocationType::array_layout, typename AllocationType::memory_space > sil::exterior::boundary ( AllocationType allocation,
Chain< SimplexType, typename AllocationType::array_layout, typename AllocationType::memory_space > chain )

Definition at line 152 of file boundary.hpp.

◆ Chain()

template<class Head , class... Tail>
sil::exterior::Chain ( Head ,
Tail...  ) -> Chain< typename Head::value_type, typename Head::array_layout, typename Head::memory_space >

◆ operator<<() [1/4]

template<misc::Specialization< Chain > ChainType>
std::ostream & sil::exterior::operator<< ( std::ostream & out,
ChainType const & chain )

Definition at line 304 of file chain.hpp.

◆ coboundary() [1/2]

template<misc::Specialization< Cochain > CochainType>
KOKKOS_FUNCTION coboundary_t< CochainType > sil::exterior::coboundary ( CochainType cochain)

Definition at line 394 of file coboundary.hpp.

◆ coboundary() [2/2]

template<tensor::TensorNatIndex TagToAddToCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, class ExecSpace >
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > sil::exterior::coboundary ( ExecSpace const & exec_space,
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > coboundary_tensor,
TensorType tensor )

Definition at line 404 of file coboundary.hpp.

◆ transposed_coboundary()

template<tensor::TensorNatIndex TagToAddToCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, class ExecSpace >
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > sil::exterior::transposed_coboundary ( ExecSpace const & exec_space,
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > coboundary_tensor,
TensorType tensor )

Definition at line 451 of file coboundary.hpp.

◆ deriv()

template<tensor::TensorNatIndex TagToAddToCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, class ExecSpace >
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > sil::exterior::deriv ( ExecSpace const & exec_space,
coboundary_tensor_t< TagToAddToCochain, CochainTag, TensorType > coboundary_tensor,
TensorType tensor )

Definition at line 498 of file coboundary.hpp.

◆ Cochain()

template<class ChainType , misc::Specialization< tensor::Tensor > TensorType>
sil::exterior::Cochain ( ChainType ,
TensorType  ) -> Cochain< ChainType, typename TensorType::value_type, ddc::detail::mdspan_to_kokkos_layout_t< typename TensorType::layout_type > >

◆ operator<<() [2/4]

template<misc::Specialization< Cochain > CochainType>
std::ostream & sil::exterior::operator<< ( std::ostream & out,
CochainType const & cochain )

Definition at line 372 of file cochain.hpp.

◆ make_staged_codifferential()

template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex TagToRemoveFromCochain, tensor::TensorIndex CochainTag, class ExecSpace , misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > MetricType, misc::Specialization< tensor::Tensor > PositionType>
StagedCodifferential< MetricIndex, TagToRemoveFromCochain, CochainTag, TensorType, MetricType, PositionType, ExecSpace > sil::exterior::make_staged_codifferential ( ExecSpace const & exec_space,
TensorType tensor,
MetricType metric,
PositionType position )

Definition at line 484 of file codifferential.hpp.

◆ codifferential() [1/2]

template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex TagToRemoveFromCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > DualTensorType, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > DualHodgeStarType, class ExecSpace >
codifferential_tensor_t< TagToRemoveFromCochain, CochainTag, TensorType > sil::exterior::codifferential ( ExecSpace const & exec_space,
codifferential_tensor_t< TagToRemoveFromCochain, CochainTag, TensorType > codifferential_tensor,
TensorType tensor,
HodgeStarType hodge_star,
DualHodgeStarType dual_hodge_star,
DualTensorType dual_tensor_buffer )

Definition at line 509 of file codifferential.hpp.

◆ codifferential() [2/2]

template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex TagToRemoveFromCochain, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > MetricType, misc::Specialization< tensor::Tensor > PositionType, class ExecSpace >
codifferential_tensor_t< TagToRemoveFromCochain, CochainTag, TensorType > sil::exterior::codifferential ( ExecSpace const & exec_space,
codifferential_tensor_t< TagToRemoveFromCochain, CochainTag, TensorType > codifferential_tensor,
TensorType tensor,
MetricType metric,
PositionType position )

Definition at line 600 of file codifferential.hpp.

◆ operator<<() [3/4]

template<misc::Specialization< Cosimplex > CosimplexType>
std::ostream & sil::exterior::operator<< ( std::ostream & out,
CosimplexType const & cosimplex )

Definition at line 107 of file cosimplex.hpp.

◆ fill_discrete_hodge_star()

template<misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2, CellComplex Complex = CellComplex::CircumcentricDual, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > MetricType, misc::Specialization< tensor::Tensor > PositionType, class ExecSpace >
HodgeStarType sil::exterior::fill_discrete_hodge_star ( ExecSpace const & exec_space,
HodgeStarType hodge_star,
MetricType metric,
PositionType position )

Definition at line 460 of file hodge_star.hpp.

◆ fill_continuous_hodge_star()

template<misc::Specialization< ddc::detail::TypeSeq > Indices1, misc::Specialization< ddc::detail::TypeSeq > Indices2, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > MetricType, class ExecSpace >
HodgeStarType sil::exterior::fill_continuous_hodge_star ( ExecSpace const & exec_space,
HodgeStarType hodge_star,
MetricType metric )

Definition at line 501 of file hodge_star.hpp.

◆ make_staged_laplacian()

template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex LaplacianDummyIndex, tensor::TensorIndex CochainTag, class ExecSpace , misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > MetricType, misc::Specialization< tensor::Tensor > PositionType>
StagedLaplacian< MetricIndex, LaplacianDummyIndex, CochainTag, TensorType, MetricType, PositionType, ExecSpace > sil::exterior::make_staged_laplacian ( ExecSpace const & exec_space,
TensorType laplacian_tensor,
TensorType tensor,
MetricType metric,
PositionType position )

Definition at line 343 of file laplacian.hpp.

◆ laplacian() [1/3]

template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex LaplacianDummyIndex, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > DerivativeHodgeStarType, misc::Specialization< tensor::Tensor > DualDerivativeHodgeStarType, misc::Specialization< tensor::Tensor > DerivativeDualTensorBufferType, class ExecSpace >
requires (detail::ZeroRankLaplacianCochain<LaplacianDummyIndex, CochainTag>)
TensorType sil::exterior::laplacian ( ExecSpace const & exec_space,
TensorType laplacian_tensor,
TensorType tensor,
DerivativeHodgeStarType hodge_star,
DualDerivativeHodgeStarType dual_hodge_star,
DerivativeDualTensorBufferType dual_tensor_buffer )

Definition at line 824 of file laplacian.hpp.

◆ laplacian() [2/3]

template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex LaplacianDummyIndex, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > DerivativeHodgeStarType, misc::Specialization< tensor::Tensor > DualDerivativeHodgeStarType, misc::Specialization< tensor::Tensor > DerivativeDualTensorBufferType, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > DualHodgeStarType, misc::Specialization< tensor::Tensor > DualTensorBufferType, misc::Specialization< tensor::Tensor > CodifferentialTensorBufferType, misc::Specialization< tensor::Tensor > CoboundaryOfCodifferentialBufferType, class ExecSpace >
requires (detail::IntermediateRankLaplacianCochain<LaplacianDummyIndex, CochainTag>)
TensorType sil::exterior::laplacian ( ExecSpace const & exec_space,
TensorType laplacian_tensor,
TensorType tensor,
DerivativeHodgeStarType derivative_hodge_star,
DualDerivativeHodgeStarType dual_derivative_hodge_star,
DerivativeDualTensorBufferType derivative_dual_tensor_buffer,
HodgeStarType hodge_star,
DualHodgeStarType dual_hodge_star,
DualTensorBufferType dual_tensor_buffer,
CodifferentialTensorBufferType codifferential_tensor_buffer,
CoboundaryOfCodifferentialBufferType coboundary_of_codifferential_buffer )

Definition at line 862 of file laplacian.hpp.

◆ laplacian() [3/3]

template<tensor::TensorIndex MetricIndex, tensor::TensorNatIndex LaplacianDummyIndex, tensor::TensorIndex CochainTag, misc::Specialization< tensor::Tensor > TensorType, misc::Specialization< tensor::Tensor > HodgeStarType, misc::Specialization< tensor::Tensor > DualHodgeStarType, misc::Specialization< tensor::Tensor > DualTensorBufferType, misc::Specialization< tensor::Tensor > CodifferentialTensorBufferType, class ExecSpace >
requires (detail::TopRankLaplacianCochain<LaplacianDummyIndex, CochainTag>)
TensorType sil::exterior::laplacian ( ExecSpace const & exec_space,
TensorType laplacian_tensor,
TensorType tensor,
HodgeStarType hodge_star,
DualHodgeStarType dual_hodge_star,
DualTensorBufferType dual_tensor_buffer,
CodifferentialTensorBufferType codifferential_tensor_buffer )

Definition at line 930 of file laplacian.hpp.

◆ LocalChain()

template<class Head , misc::NotSpecialization< ddc::DiscreteVector >... Tail>
sil::exterior::LocalChain ( Head ,
Tail...  ) -> LocalChain< ddc::type_seq_element_t< 0, ddc::detail::TypeSeq< Tail... > >, typename Head::array_layout, typename Head::memory_space >

◆ tangent_basis()

template<std::size_t K, misc::Specialization< ddc::DiscreteDomain > Dom, class ExecSpace >
auto sil::exterior::tangent_basis ( ExecSpace const & exec_space)
constexpr

Definition at line 410 of file local_chain.hpp.

◆ fill_reduction_operator()

template<misc::Specialization< ddc::detail::TypeSeq > Indices, misc::Specialization< tensor::Tensor > ReductionTensorType, misc::Specialization< tensor::Tensor > PositionType, class ExecSpace , CellComplex Complex = CellComplex::Primal>
ReductionTensorType sil::exterior::fill_reduction_operator ( ExecSpace const & exec_space,
ReductionTensorType reduction_tensor,
PositionType position )

Definition at line 770 of file reduction_and_reconstruction.hpp.

◆ fill_reconstruction_operator()

template<misc::Specialization< ddc::detail::TypeSeq > Indices, misc::Specialization< tensor::Tensor > ReconstructionTensorType, misc::Specialization< tensor::Tensor > PositionType, class ExecSpace , CellComplex Complex = CellComplex::Primal>
ReconstructionTensorType sil::exterior::fill_reconstruction_operator ( ExecSpace const & exec_space,
ReconstructionTensorType reconstruction_tensor,
PositionType position )

Definition at line 925 of file reduction_and_reconstruction.hpp.

◆ Simplex() [1/2]

template<class... Tag, class... T>
sil::exterior::Simplex ( ddc::DiscreteElement< Tag... > ,
ddc::DiscreteVector< T... >  ) -> Simplex< sizeof...(T), Tag... >

◆ Simplex() [2/2]

template<class... Tag, class... T>
sil::exterior::Simplex ( ddc::DiscreteElement< Tag... > ,
ddc::DiscreteVector< T... > ,
bool  ) -> Simplex< sizeof...(T), Tag... >

◆ operator<<() [4/4]

template<std::size_t K, class... Tag>
std::ostream & sil::exterior::operator<< ( std::ostream & out,
Simplex< K, Tag... > const & simplex )

Definition at line 235 of file simplex.hpp.