KADATH
Kadath::Ope_def Class Reference

The operator definition. More...

#include <ope_eq.hpp>

Inheritance diagram for Kadath::Ope_def:
Kadath::Ope_eq

Public Member Functions

 Ope_def (const System_of_eqs *syst, Ope_eq *so, int val, char *name, Array< int > *ttype)
 Constructor. More...
 
Term_eq action () const override
 Computes the action of the current Ope_eq using its various parts. More...
 
Term_eqget_res ()
 Returns the result. More...
 
void compute_res ()
 Forces the computation of the result (when things have changed). More...
 
int get_dom () const
 

Protected Attributes

Term_eqres
 Result of the current definition. More...
 
const System_of_eqssyst
 The associated System_of_eqs. More...
 
int dom
 Index of the Domain where the operator is defined. More...
 
int n_ope
 Number of terms involved (2 for + for instance, only one for sqrt...) More...
 
MMPtr_array< Ope_eqparts
 Pointers of the various parts of the current operator. More...
 

Detailed Description

The operator definition.

It corresponds to expressions defined by the user in theSystem_of_eqs. Indices may have to be renamed and/or summed, depending on their name.

Definition at line 480 of file ope_eq.hpp.

Constructor & Destructor Documentation

◆ Ope_def()

Kadath::Ope_def::Ope_def ( const System_of_eqs syst,
Ope_eq so,
int  val,
char *  name,
Array< int > *  ttype 
)

Constructor.

Parameters
syst: the associated System_of_eqs.
so: target
val: valence of the result (can be different from so, due to summations)
name: names of the indices
ttype: type of the various indices (COV or CON).

Definition at line 22 of file ope_def.cpp.

References action(), Kadath::Term_eq::der_t, Kadath::Tensor::get_valence(), Kadath::Ope_eq::parts, res, Kadath::Term_eq::set_der_zero(), Kadath::Tensor::set_index_type(), Kadath::Tensor::set_name_affected(), Kadath::Tensor::set_name_ind(), and Kadath::Term_eq::val_t.

Member Function Documentation

◆ action()

Term_eq Kadath::Ope_def::action ( ) const
overridevirtual

Computes the action of the current Ope_eq using its various parts.

Returns
the Term_eq containing the result.

Implements Kadath::Ope_eq.

Definition at line 60 of file ope_def.cpp.

◆ compute_res()

void Kadath::Ope_def::compute_res ( )

Forces the computation of the result (when things have changed).

Definition at line 75 of file ope_def.cpp.

References Kadath::Ope_eq::parts, and res.

◆ get_dom()

int Kadath::Ope_eq::get_dom ( ) const
inlineinherited
Returns
the index of the Domain.

Definition at line 53 of file ope_eq.hpp.

References Kadath::Ope_eq::dom.

◆ get_res()

Term_eq * Kadath::Ope_def::get_res ( )

Returns the result.

Definition at line 71 of file ope_def.cpp.

References res.

Member Data Documentation

◆ dom

int Kadath::Ope_eq::dom
protectedinherited

Index of the Domain where the operator is defined.

Definition at line 36 of file ope_eq.hpp.

◆ n_ope

int Kadath::Ope_eq::n_ope
protectedinherited

Number of terms involved (2 for + for instance, only one for sqrt...)

Definition at line 37 of file ope_eq.hpp.

◆ parts

MMPtr_array<Ope_eq> Kadath::Ope_eq::parts
protectedinherited

Pointers of the various parts of the current operator.

Definition at line 38 of file ope_eq.hpp.

◆ res

Term_eq* Kadath::Ope_def::res
protected

Result of the current definition.

Definition at line 482 of file ope_eq.hpp.

◆ syst

const System_of_eqs* Kadath::Ope_eq::syst
protectedinherited

The associated System_of_eqs.

Definition at line 35 of file ope_eq.hpp.


The documentation for this class was generated from the following files: