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

Classes

class  const_iterator
 
class  iterator
 

Public Types

using size_type = std::size_t
 
using memory_type = M
 
using value_type = T
 
using result_type = T
 
using scalar_type = T
 
using float_type = typename float_traits< T >::type
 
using valued_type = space_constant::valued_type
 
using geo_type = geo_basic< float_type, M >
 
using space_type = space_basic< float_type, M >
 
using dis_reference = typename vec< T, M >::dis_reference
 

Public Member Functions

 field_basic ()
 
 field_basic (const space_type &V, const T &init_value=std::numeric_limits< T >::max())
 
void resize (const space_type &V, const T &init_value=std::numeric_limits< T >::max())
 
template<class Expr , class Sfinae = typename std::enable_if< details::is_field_expr_affine_homogeneous<Expr>::value && ! details::is_field<Expr>::value>::type>
 field_basic (const Expr &expr)
 
 field_basic (const std::initializer_list< details::field_concat_value< T, M > > &init_list)
 
field_basic< T, M > & operator= (const field_basic< T, M > &)
 
template<class Value >
std::enable_if< details::is_rheolef_arithmetic< Value >::value,field_basic< T, M > & >::type operator= (const Value &value)
 
template<class Expr >
std::enable_if< details::is_field_expr_affine_homogeneous< Expr >::value &&! details::is_field_expr_v2_constant< Expr >::value &&! details::is_field< Expr >::value,field_basic< T, M > & >::type operator= (const Expr &)
 
field_basic< T, M > & operator= (const std::initializer_list< details::field_concat_value< T, M > > &init_list)
 
const space_typeget_space () const
 
const geo_typeget_geo () const
 
std::string name () const
 
std::string get_approx () const
 
valued_type valued_tag () const
 
const std::string & valued () const
 
bool have_homogeneous_space (space_basic< T, M > &Xh) const
 
const vec< T, M > & u () const
 
const vec< T, M > & b () const
 
vec< T, M > & set_u ()
 
vec< T, M > & set_b ()
 
T min () const
 
T max () const
 
T max_abs () const
 
T min_abs () const
 
field_indirect< T, Moperator[] (const geo_basic< T, M > &dom)
 
field_indirect_const< T, Moperator[] (const geo_basic< T, M > &dom) const
 
field_indirect< T, Moperator[] (std::string dom_name)
 
field_indirect_const< T, Moperator[] (std::string dom_name) const
 
size_type size () const
 
field_component< T, Moperator[] (size_type i_comp)
 
field_component_const< T, Moperator[] (size_type i_comp) const
 
field_component< T, Moperator() (size_type i_comp, size_type j_comp)
 
field_component_const< T, Moperator() (size_type i_comp, size_type j_comp) const
 
const distributorownership () const
 
const communicatorcomm () const
 
size_type ndof () const
 
size_type dis_ndof () const
 
Tdof (size_type idof)
 
const Tdof (size_type idof) const
 
const Tdis_dof (size_type dis_idof) const
 
dis_reference dis_dof_entry (size_type dis_idof)
 
iterator begin_dof ()
 
iterator end_dof ()
 
const_iterator begin_dof () const
 
const_iterator end_dof () const
 
idiststream & get (idiststream &ips)
 
odiststreamput (odiststream &ops) const
 
odiststreamput_field (odiststream &ops) const
 
T dis_evaluate (const point_basic< T > &x, size_type i_comp=0) const
 
T operator() (const point_basic< T > &x) const
 
point_basic< Tdis_vector_evaluate (const point_basic< T > &x) const
 
int constraint_process_rank () const
 
T evaluate (const geo_element &K, const point_basic< T > &hat_xq, size_type i_comp=0) const
 
void dis_dof_update () const
 
template<class Expr >
void assembly_internal (const geo_basic< T, M > &dom, const geo_basic< T, M > &band, const band_basic< T, M > &gh, const Expr &expr, const integrate_option &qopt, bool is_on_band)
 
template<class Expr >
void assembly (const geo_basic< T, M > &dom, const Expr &expr, const integrate_option &iopt)
 
template<class Expr >
void assembly (const band_basic< T, M > &gh, const Expr &expr, const integrate_option &iopt)
 

Protected Member Functions

void dis_dof_indexes_requires_update () const
 
void dis_dof_assembly_requires_update () const
 

Protected Attributes

space_type _V
 
vec< T, M_u
 
vec< T, M_b
 
bool _dis_dof_indexes_requires_update
 
bool _dis_dof_assembly_requires_update
 

Detailed Description

template<class T, class M = rheo_default_memory_model>
class rheolef::field_basic< T, M >

Definition at line 235 of file field.h.

Member Typedef Documentation

◆ size_type

using size_type = std::size_t

Definition at line 239 of file field.h.

◆ memory_type

using memory_type = M

Definition at line 240 of file field.h.

◆ value_type

using value_type = T

Definition at line 241 of file field.h.

◆ result_type

using result_type = T

Definition at line 242 of file field.h.

◆ scalar_type

using scalar_type = T

Definition at line 244 of file field.h.

◆ float_type

using float_type = typename float_traits<T>::type

Definition at line 245 of file field.h.

◆ valued_type

Definition at line 246 of file field.h.

◆ geo_type

Definition at line 247 of file field.h.

◆ space_type

Definition at line 248 of file field.h.

◆ dis_reference

using dis_reference = typename vec<T,M>::dis_reference

Definition at line 249 of file field.h.

Constructor & Destructor Documentation

◆ field_basic() [1/4]

Definition at line 608 of file field.h.

◆ field_basic() [2/4]

field_basic ( const space_type V,
const T init_value = std::numeric_limits<T>::max() 
)
explicit

Definition at line 34 of file field.cc.

◆ field_basic() [3/4]

field_basic ( const Expr &  expr)

Definition at line 80 of file field_expr.h.

◆ field_basic() [4/4]

field_basic ( const std::initializer_list< details::field_concat_value< T, M > > &  init_list)

Definition at line 107 of file field_concat.h.

Member Function Documentation

◆ resize()

void resize ( const space_type V,
const T init_value = std::numeric_limits<T>::max() 
)

Definition at line 48 of file field.cc.

◆ operator=() [1/4]

field_basic< T, M > & operator= ( const field_basic< T, M > &  x)

Definition at line 619 of file field.h.

◆ operator=() [2/4]

std::enable_if< details::is_rheolef_arithmetic< Value >::value,field_basic< T, M > & >::type operator= ( const Value &  value)

Definition at line 648 of file field.h.

◆ operator=() [3/4]

std::enable_if< details::is_field_expr_affine_homogeneous< Expr >::value &&! details::is_field_expr_v2_constant< Expr >::value &&! details::is_field< Expr >::value,field_basic< T, M > & >::type operator= ( const Expr &  expr)

Definition at line 65 of file field_expr.h.

◆ operator=() [4/4]

field_basic< T, M > & operator= ( const std::initializer_list< details::field_concat_value< T, M > > &  init_list)

Definition at line 116 of file field_concat.h.

◆ get_space()

const space_type& get_space ( ) const

Definition at line 300 of file field.h.

◆ get_geo()

const geo_type& get_geo ( ) const

Definition at line 301 of file field.h.

◆ name()

std::string name ( ) const

Definition at line 302 of file field.h.

◆ get_approx()

std::string get_approx ( ) const

Definition at line 303 of file field.h.

◆ valued_tag()

valued_type valued_tag ( ) const

Definition at line 304 of file field.h.

◆ valued()

const std::string& valued ( ) const

Definition at line 305 of file field.h.

◆ have_homogeneous_space()

bool have_homogeneous_space ( space_basic< T, M > &  Xh) const

Definition at line 306 of file field.h.

◆ u()

const vec<T,M>& u ( ) const

Definition at line 310 of file field.h.

◆ b()

const vec<T,M>& b ( ) const

Definition at line 311 of file field.h.

◆ set_u()

vec<T,M>& set_u ( )

Definition at line 312 of file field.h.

◆ set_b()

vec<T,M>& set_b ( )

Definition at line 313 of file field.h.

◆ min()

T min

Definition at line 683 of file field.h.

◆ max()

T max

Definition at line 699 of file field.h.

◆ max_abs()

T max_abs

Definition at line 731 of file field.h.

◆ min_abs()

T min_abs

Definition at line 715 of file field.h.

◆ operator[]() [1/6]

field_indirect< T, M > operator[] ( const geo_basic< T, M > &  dom)

Definition at line 158 of file field_indirect.h.

◆ operator[]() [2/6]

field_indirect_const< T, M > operator[] ( const geo_basic< T, M > &  dom) const

Definition at line 330 of file field_indirect.h.

◆ operator[]() [3/6]

field_indirect< T, M > operator[] ( std::string  dom_name)

Definition at line 166 of file field_indirect.h.

◆ operator[]() [4/6]

field_indirect_const< T, M > operator[] ( std::string  dom_name) const

Definition at line 337 of file field_indirect.h.

◆ size()

size_type size ( ) const

Definition at line 331 of file field.h.

◆ operator[]() [5/6]

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

Definition at line 300 of file field_component.h.

◆ operator[]() [6/6]

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

Definition at line 315 of file field_component.h.

◆ operator()() [1/3]

field_component< T, M > operator() ( size_type  i_comp,
size_type  j_comp 
)

Definition at line 508 of file field.cc.

◆ operator()() [2/3]

field_component_const< T, M > operator() ( size_type  i_comp,
size_type  j_comp 
) const

Definition at line 500 of file field.cc.

◆ ownership()

const distributor& ownership ( ) const

Definition at line 339 of file field.h.

◆ comm()

const communicator& comm ( ) const

Definition at line 340 of file field.h.

◆ ndof()

size_type ndof ( ) const

Definition at line 341 of file field.h.

◆ dis_ndof()

size_type dis_ndof ( ) const

Definition at line 342 of file field.h.

◆ dof() [1/2]

T & dof ( size_type  idof)

Definition at line 658 of file field.h.

◆ dof() [2/2]

const T & dof ( size_type  idof) const

Definition at line 674 of file field.h.

◆ dis_dof()

const T & dis_dof ( size_type  dis_idof) const

Definition at line 376 of file field.cc.

◆ dis_dof_entry()

field_basic< T, M >::dis_reference dis_dof_entry ( size_type  dis_idof)

Definition at line 397 of file field.cc.

◆ begin_dof() [1/2]

field_basic< T, M >::iterator begin_dof

Definition at line 501 of file field.h.

◆ end_dof() [1/2]

field_basic< T, M >::iterator end_dof

Definition at line 509 of file field.h.

◆ begin_dof() [2/2]

field_basic< T, M >::const_iterator begin_dof

Definition at line 590 of file field.h.

◆ end_dof() [2/2]

field_basic< T, M >::const_iterator end_dof

Definition at line 598 of file field.h.

◆ get()

idiststream & get ( idiststream &  ips)

Definition at line 121 of file field.cc.

◆ put()

odiststream & put ( odiststream ops) const

Definition at line 366 of file field.cc.

◆ put_field()

odiststream & put_field ( odiststream ops) const

Definition at line 302 of file field.cc.

◆ dis_evaluate()

T dis_evaluate ( const point_basic< T > &  x,
size_type  i_comp = 0 
) const

Definition at line 460 of file field.cc.

◆ operator()() [3/3]

T operator() ( const point_basic< T > &  x) const

Definition at line 363 of file field.h.

◆ dis_vector_evaluate()

point_basic< T > dis_vector_evaluate ( const point_basic< T > &  x) const

Definition at line 490 of file field.cc.

◆ constraint_process_rank()

int constraint_process_rank ( ) const

Definition at line 368 of file field.h.

◆ evaluate()

T evaluate ( const geo_element K,
const point_basic< T > &  hat_xq,
size_type  i_comp = 0 
) const

Definition at line 435 of file field.cc.

◆ dis_dof_update()

void dis_dof_update

Definition at line 410 of file field.cc.

◆ assembly_internal()

void assembly_internal ( const geo_basic< T, M > &  dom,
const geo_basic< T, M > &  band,
const band_basic< T, M > &  gh,
const Expr &  expr,
const integrate_option qopt,
bool  is_on_band 
)

Definition at line 95 of file field_vf_assembly.h.

◆ assembly() [1/2]

void assembly ( const geo_basic< T, M > &  dom,
const Expr &  expr,
const integrate_option iopt 
)

Definition at line 170 of file field_vf_assembly.h.

◆ assembly() [2/2]

void assembly ( const band_basic< T, M > &  gh,
const Expr &  expr,
const integrate_option iopt 
)

Definition at line 181 of file field_vf_assembly.h.

◆ dis_dof_indexes_requires_update()

void dis_dof_indexes_requires_update
protected

Definition at line 630 of file field.h.

◆ dis_dof_assembly_requires_update()

void dis_dof_assembly_requires_update
protected

Definition at line 636 of file field.h.

Member Data Documentation

◆ _V

space_type _V
protected

Definition at line 403 of file field.h.

◆ _u

vec<T,M> _u
mutableprotected

Definition at line 404 of file field.h.

◆ _b

vec<T,M> _b
mutableprotected

Definition at line 405 of file field.h.

◆ _dis_dof_indexes_requires_update

bool _dis_dof_indexes_requires_update
mutableprotected

Definition at line 406 of file field.h.

◆ _dis_dof_assembly_requires_update

bool _dis_dof_assembly_requires_update
mutableprotected

Definition at line 407 of file field.h.


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