SheafSystem  0.0.0.0
fields::field_tp_algebra Namespace Reference

Namespace containing the algrebra functions for a field with a property section of type sec_tp. More...

Functions

void SHEAF_DLL_SPEC alt (const field_tp &x0, field_atp &xresult, bool xauto_access)
 The alternating (antisymmetric) part of tensor x0 (pre-allocated version). More...
 
void SHEAF_DLL_SPEC sym (const field_tp &x0, field_stp &xresult, bool xauto_access)
 The symmetric part of tensor x0 (pre-allocated version). More...
 
void SHEAF_DLL_SPEC contract (const field_tp &x0, int xp, int xq, field_tp &xresult, bool xauto_access)
 Contraction on contravariant index xp and covariant index xq (pre-allocated version). More...
 
void SHEAF_DLL_SPEC tensor (const field_tp &x0, const field_tp &x1, field_tp &xresult, bool xauto_access)
 Tensor product of x0 and x1 (pre-allocated version). More...
 

Detailed Description

Namespace containing the algrebra functions for a field with a property section of type sec_tp.

Function Documentation

◆ alt()

void fields::field_tp_algebra::alt ( const field_tp x0,
field_atp xresult,
bool  xauto_access 
)

The alternating (antisymmetric) part of tensor x0 (pre-allocated version).

Implementation for field_tp algebra functions.

Precondition
  • precondition_of(\ alt(x0.property(), xresult.property(), xauto_access))
Postcondition
  • postcondition_of(\ alt(x0.property(), xresult.property(), xauto_access))

Definition at line 36 of file field_tp_funcs.impl.h.

References fiber_bundle::sec_tp_algebra::alt(), fiber_bundle::tp_algebra::alt(), fields::field_tp::property(), fields::field_atp::property(), and sym().

◆ contract()

void fields::field_tp_algebra::contract ( const field_tp x0,
int  xp,
int  xq,
field_tp xresult,
bool  xauto_access 
)

Contraction on contravariant index xp and covariant index xq (pre-allocated version).

The arguments xp and xq are indices into the "variance type" bitset. This implies that xp != xq.

Precondition
  • precondition_of(\ contract(x0.property(), xp, xq, xresult.property(), xauto_access))
Postcondition
  • postcondition_of(\ contract(x0.property(), xp, xq, xresult.property(), xauto_access))

Definition at line 84 of file field_tp_funcs.impl.h.

References fiber_bundle::sec_tp_algebra::contract(), fiber_bundle::tp_algebra::contract(), fields::field_tp::property(), and tensor().

Referenced by sym().

◆ sym()

void fields::field_tp_algebra::sym ( const field_tp x0,
field_stp xresult,
bool  xauto_access 
)

The symmetric part of tensor x0 (pre-allocated version).

Precondition
  • precondition_of(\ sym(x0.property(), xresult.property(), xauto_access))
Postcondition
  • postcondition_of(\ sym(x0.property(), xresult.property(), xauto_access))

Definition at line 60 of file field_tp_funcs.impl.h.

References contract(), fields::field_tp::property(), fields::field_stp::property(), fiber_bundle::sec_tp_algebra::sym(), and fiber_bundle::tp_algebra::sym().

Referenced by alt().

◆ tensor()

void fields::field_tp_algebra::tensor ( const field_tp x0,
const field_tp x1,
field_tp xresult,
bool  xauto_access 
)

Tensor product of x0 and x1 (pre-allocated version).

Precondition
  • precondition_of(\ tensor(x0.property(), x1.property(), xresult.property(), xauto_access))
Postcondition
  • postcondition_of(\ tensor(x0.property(), x1.property(), xresult.property(), xauto_access))

Definition at line 109 of file field_tp_funcs.impl.h.

References fields::field_tp::property(), fiber_bundle::sec_tp_algebra::tensor(), and fiber_bundle::tp_algebra::tensor().

Referenced by contract().