Rheolef  7.1
an efficient C++ finite element environment
space_base_rep< T, M >

Public Types

typedef space_pair_type::size_type size_type
 
typedef space_constant::valued_type valued_type
 

Public Member Functions

 space_base_rep ()
 
 space_base_rep (const geo_basic< T, M > &omega, std::string approx, std::string prod_valued)
 
 space_base_rep (const geo_basic< T, M > &omega, const basis_basic< T > &b)
 
 space_base_rep (const space_constitution< T, M > &constit)
 
 space_base_rep (const space_mult_list< T, M > &)
 
virtual ~space_base_rep ()
 
const distributorownership () const
 
size_type ndof () const
 
size_type dis_ndof () const
 
const communicator & comm () const
 
const space_constitution< T, M > & get_constitution () const
 
const geo_basic< T, M > & get_geo () const
 
const basis_basic< T > & get_basis () const
 
valued_type valued_tag () const
 
const std::string & valued () const
 
size_type size () const
 
space_component< T, Moperator[] (size_type i_comp)
 
space_component_const< T, Moperator[] (size_type i_comp) const
 
std::string name () const
 
void block (const domain_indirect_basic< M > &dom)
 e.g. "P1(square)", for field_expr<Expr> checks More...
 
void unblock (const domain_indirect_basic< M > &dom)
 
void block_n (const domain_indirect_basic< M > &dom)
 
void unblock_n (const domain_indirect_basic< M > &dom)
 
bool is_blocked (size_type idof) const
 
size_type dis_iub (size_type idof) const
 
const point_basic< T > & xdof (size_type idof) const
 
const disarray< point_basic< T >, M > & get_xdofs () const
 
const distributoriu_ownership () const
 
const distributorib_ownership () const
 
void dis_idof (const geo_element &K, std::vector< size_type > &dis_idof) const
 
template<class Function >
T momentum (const Function &f, size_type idof) const
 
template<class Function >
point_basic< Tvector_momentum (const Function &f, size_type idof) const
 
template<class Function >
tensor_basic< Ttensor_momentum (const Function &f, size_type idof) const
 
disarray< size_type, Mbuild_indirect_array (const space_base_rep< T, M > &Wh, const std::string &dom_name) const
 
disarray< size_type, Mbuild_indirect_array (const space_base_rep< T, M > &Wh, const geo_basic< T, M > &bgd_gamma) const
 
bool operator== (const space_base_rep< T, M > &V2) const
 

Protected Member Functions

void init_xdof ()
 
void freeze_guard () const
 
void no_freeze_guard () const
 
void base_freeze_body () const
 
virtual void freeze_body () const
 

Protected Attributes

space_constitution< T, M_constit
 
disarray< point_basic< T >, M_xdof
 
bool _have_freezed
 
disarray< space_pair_type, M_idof2blk_dis_iub
 
disarray< int, M_has_nt_basis
 
disarray< point_basic< T >, M_normal
 
distributor _iu_ownership
 
distributor _ib_ownership
 

Friends

bool are_compatible (const space_base_rep< T, M > &V1, const space_base_rep< T, M > &V2)
 

Detailed Description

template<class T, class M>
class rheolef::space_base_rep< T, M >

Definition at line 159 of file space.h.

Member Typedef Documentation

◆ size_type

Definition at line 164 of file space.h.

◆ valued_type

Definition at line 165 of file space.h.

Constructor & Destructor Documentation

◆ space_base_rep() [1/5]

◆ space_base_rep() [2/5]

space_base_rep ( const geo_basic< T, M > &  omega,
std::string  approx,
std::string  prod_valued 
)

Definition at line 34 of file space.cc.

◆ space_base_rep() [3/5]

space_base_rep ( const geo_basic< T, M > &  omega,
const basis_basic< T > &  b 
)

Definition at line 58 of file space.cc.

◆ space_base_rep() [4/5]

space_base_rep ( const space_constitution< T, M > &  constit)

Definition at line 80 of file space.cc.

◆ space_base_rep() [5/5]

space_base_rep ( const space_mult_list< T, M > &  expr)

Definition at line 97 of file space.cc.

◆ ~space_base_rep()

virtual ~space_base_rep ( )
virtual

Definition at line 179 of file space.h.

Member Function Documentation

◆ ownership()

const distributor& ownership ( ) const

Definition at line 183 of file space.h.

◆ ndof()

size_type ndof ( ) const

Definition at line 184 of file space.h.

◆ dis_ndof()

size_type dis_ndof ( ) const

Definition at line 185 of file space.h.

◆ comm()

const communicator& comm ( ) const

Definition at line 186 of file space.h.

◆ get_constitution()

const space_constitution<T,M>& get_constitution ( ) const

Definition at line 188 of file space.h.

◆ get_geo()

const geo_basic<T,M>& get_geo ( ) const

Definition at line 189 of file space.h.

◆ get_basis()

const basis_basic<T>& get_basis ( ) const

Definition at line 190 of file space.h.

◆ valued_tag()

valued_type valued_tag ( ) const

Definition at line 191 of file space.h.

◆ valued()

const std::string& valued ( ) const

Definition at line 192 of file space.h.

◆ size()

size_type size ( ) const

Definition at line 193 of file space.h.

◆ operator[]() [1/2]

space_component< T, M > operator[] ( size_type  i_comp)

Definition at line 126 of file space_component.h.

◆ operator[]() [2/2]

space_component_const< T, M > operator[] ( size_type  i_comp) const

Definition at line 134 of file space_component.h.

◆ name()

std::string name ( ) const

Definition at line 210 of file space.cc.

◆ block()

void block ( const domain_indirect_basic< M > &  dom)

e.g. "P1(square)", for field_expr<Expr> checks

Definition at line 199 of file space.h.

◆ unblock()

void unblock ( const domain_indirect_basic< M > &  dom)

Definition at line 200 of file space.h.

◆ block_n()

void block_n ( const domain_indirect_basic< M > &  dom)

Definition at line 202 of file space.h.

◆ unblock_n()

void unblock_n ( const domain_indirect_basic< M > &  dom)

Definition at line 203 of file space.h.

◆ is_blocked()

bool is_blocked ( size_type  idof) const

Definition at line 205 of file space.h.

◆ dis_iub()

size_type dis_iub ( size_type  idof) const

Definition at line 206 of file space.h.

◆ xdof()

const point_basic<T>& xdof ( size_type  idof) const

Definition at line 207 of file space.h.

◆ get_xdofs()

const disarray<point_basic<T>,M >& get_xdofs ( ) const

Definition at line 208 of file space.h.

◆ iu_ownership()

const distributor& iu_ownership ( ) const

Definition at line 210 of file space.h.

◆ ib_ownership()

const distributor& ib_ownership ( ) const

Definition at line 211 of file space.h.

◆ dis_idof()

void dis_idof ( const geo_element K,
std::vector< size_type > &  dis_idof 
) const

Definition at line 200 of file space.cc.

◆ momentum()

T momentum ( const Function f,
size_type  idof 
) const

Definition at line 217 of file space.h.

◆ vector_momentum()

point_basic<T> vector_momentum ( const Function f,
size_type  idof 
) const

Definition at line 220 of file space.h.

◆ tensor_momentum()

tensor_basic<T> tensor_momentum ( const Function f,
size_type  idof 
) const

Definition at line 223 of file space.h.

◆ build_indirect_array() [1/2]

disarray< typename space_base_rep< T, M >::size_type, M > build_indirect_array ( const space_base_rep< T, M > &  Wh,
const std::string &  dom_name 
) const

Implementation note: there is two numbering styles

bgd_idof : from the current space dom_idof : from a space compacted to the domain "dom", as geo_domain does

This function returns the renumbering disarray "dom_idof2bgd_idof". It is a temporary, used at the fly when using the u[dom] syntax.

Definition at line 229 of file space.cc.

◆ build_indirect_array() [2/2]

disarray< typename space_base_rep< T, M >::size_type, M > build_indirect_array ( const space_base_rep< T, M > &  Wh,
const geo_basic< T, M > &  bgd_gamma 
) const

Definition at line 239 of file space.cc.

◆ operator==()

bool operator== ( const space_base_rep< T, M > &  V2) const

Definition at line 233 of file space.h.

◆ init_xdof()

void init_xdof ( )
protected

Definition at line 114 of file space.cc.

◆ freeze_guard()

void freeze_guard ( ) const
protected

Definition at line 243 of file space.h.

◆ no_freeze_guard()

void no_freeze_guard ( ) const
protected

Definition at line 248 of file space.h.

◆ base_freeze_body()

void base_freeze_body ( ) const
protected

Definition at line 157 of file space.cc.

◆ freeze_body()

virtual void freeze_body ( ) const
protectedvirtual

Reimplemented in space_rep< T, distributed >.

Definition at line 252 of file space.h.

Friends And Related Function Documentation

◆ are_compatible

bool are_compatible ( const space_base_rep< T, M > &  V1,
const space_base_rep< T, M > &  V2 
)
friend

Definition at line 236 of file space.h.

Member Data Documentation

◆ _constit

space_constitution<T,M> _constit
protected

Definition at line 254 of file space.h.

◆ _xdof

disarray<point_basic<T>,M > _xdof
protected

Definition at line 255 of file space.h.

◆ _have_freezed

bool _have_freezed
mutableprotected

Definition at line 256 of file space.h.

◆ _idof2blk_dis_iub

disarray<space_pair_type,M> _idof2blk_dis_iub
mutableprotected

Definition at line 257 of file space.h.

◆ _has_nt_basis

disarray<int,M> _has_nt_basis
mutableprotected

Definition at line 258 of file space.h.

◆ _normal

disarray<point_basic<T>,M> _normal
mutableprotected

Definition at line 259 of file space.h.

◆ _iu_ownership

distributor _iu_ownership
mutableprotected

Definition at line 260 of file space.h.

◆ _ib_ownership

distributor _ib_ownership
mutableprotected

Definition at line 261 of file space.h.


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