`branch`

parameter-dependent sequence of field

# Description

The `branch` class stores a `field` sequence together with its associated parameter value. A `branch` variable represents a pair `(t,uh(t))` for a specific value of the parameter `t`. Applications concern time-dependent problems and continuation methods. This class is convenient for file inputs/outputs and for building animations. It extends to multi-field sequences, such as `(t,uh(t),ph(t))`, up to an arbitrarily number of fields. See also the `branch` unix command for running animations.

# Implementation

This documentation has been generated from file main/lib/branch.h

The `branch` class is simply an alias to the `branch_basic` class

typedef branch_basic<Float> branch;

The `branch_basic` class provides an interface to a n-uplet of fields together with a parameter value:

template <class T, class M = rheo_default_memory_model>
class branch_basic : public std::vector<std::pair<std::string,field_basic<T,M> > > {
public :
// typedefs:
typedef std::vector<std::pair<std::string,field_basic<T,M> > > base;
typedef typename base::size_type size_type;
// allocators:
branch_basic();
~branch_basic();
branch_basic (const branch_basic<T,M>&);
branch_basic<T,M>& operator= (const branch_basic<T,M>&);
template <typename... Args>
branch_basic(const std::string& parameter, Args... names);
// accessors:
const T& parameter () const;
const std::string& parameter_name () const;
size_type n_value () const;
size_type n_field () const;
// modifiers:
void set_parameter_name (const std::string& name);
void set_parameter (const T& value);
void set_range (const std::pair<T,T>& u_range);
};
template <class T, class M> idiststream& operator>> (idiststream&, branch_basic<T,M>&);
template <class T, class M> odiststream& operator<< (odiststream&, const branch_basic<T,M>&);
rheolef::branch_basic::n_field
size_type n_field() const
Definition: branch.h:347
rheolef::branch
branch_basic< Float > branch
Definition: branch.h:229
rheolef::branch_basic::~branch_basic
~branch_basic()
Definition: branch.cc:29
rheolef::branch_basic::branch_basic
branch_basic()
Definition: branch.h:237
rheolef::branch_basic::size_type
base::size_type size_type
Definition: branch.h:88
rheolef::branch_basic::set_parameter_name
void set_parameter_name(const std::string &name)
Definition: branch.h:357
rheolef::branch_basic::parameter
const T & parameter() const
Definition: branch.h:326
rheolef::branch_basic::operator=
branch_basic< T, M > & operator=(const branch_basic< T, M > &)
Definition: branch.h:275
rheolef::value
rheolef::std value
rheolef::operator>>
std::istream & operator>>(std::istream &is, const catchmark &m)
Definition: catchmark.h:88
rheolef::branch_basic::set_range
void set_range(const std::pair< T, T > &u_range)
Definition: branch.h:371
rheolef::branch_basic::set_parameter
void set_parameter(const T &value)
Definition: branch.h:364
rheolef::space_constant::vector
@ vector
Definition: space_constant.h:137
size_type
field::size_type size_type
Definition: branch.cc:425
rheolef::branch_basic::base
std::vector< std::pair< std::string, field_basic< T, M > > > base
Definition: branch.h:87
rheolef::operator<<
std::ostream & operator<<(std::ostream &os, const catchmark &m)
Definition: catchmark.h:99
rheolef::branch_basic::n_value
size_type n_value() const
Definition: branch.h:340
mkgeo_contraction.name
name
Definition: mkgeo_contraction.sh:133
rheolef::branch_basic::parameter_name
const std::string & parameter_name() const
Definition: branch.h:333
T
Expr1::float_type T
Definition: field_expr.h:218