an efficient C++ finite element environment
|
|
Go to the documentation of this file. 1 #ifndef _RHEOLEF_GEO_DOMAIN_H
2 #define _RHEOLEF_GEO_DOMAIN_H
44 #include "rheolef/geo.h"
45 #include "rheolef/geo_domain_indirect.h"
52 template <
class T,
class M>
93 template <
class T,
class M>
102 template <
class T,
class M>
104 const domain_indirect_basic<M>&
109 template <
class T,
class M>
111 const domain_indirect_basic<M>&
119 template <
class T,
class M>
124 #define _RHEOLEF_get_bgd_geo(M) \
127 const geo_basic<T,M>& \
128 geo_basic<T,M>::get_background_geo() const \
130 if (variant() == geo_abstract_base_rep<T>::geo_domain) { \
131 const geo_domain_rep<T,M>& dom \
132 = dynamic_cast<const geo_domain_rep<T,M>&>(base::data()); \
133 return dom.get_background_geo(); \
135 if (variant() == geo_abstract_base_rep<T>::geo_domain_indirect) { \
136 const geo_domain_indirect_rep<T,M>& dom \
137 = dynamic_cast<const geo_domain_indirect_rep<T,M>&>(base::data()); \
138 return dom.get_background_geo(); \
143 #define _RHEOLEF_get_bgd_domain(M) \
147 geo_basic<T,M>::get_background_domain() const \
149 if (variant() == geo_abstract_base_rep<T>::geo_domain) { \
150 const geo_domain_rep<T,M>& dom \
151 = dynamic_cast<const geo_domain_rep<T,M>&>(base::data()); \
152 return dom.get_background_domain(); \
154 if (variant() == geo_abstract_base_rep<T>::geo_domain_indirect) { \
164 #ifdef _RHEOLEF_HAVE_MPI
167 #endif // _RHEOLEF_HAVE_MPI
169 #undef _RHEOLEF_get_bgd_geo
170 #undef _RHEOLEF_get_bgd_domain
173 #endif // _RHEOLEF_GEO_DOMAIN_H
size_type variant() const
std::map< size_type, size_type > _bgd_ie2dom_ie
geo_basic< T, M > compact(const geo_basic< T, M > &gamma)
base::size_type size_type
see the geo_element page for the full documentation
sequential mesh representation
geo_basic< T, M > get_background_domain() const
const domain_indirect_basic< M > & get_domain_indirect(size_type i) const
abstract base interface class
std::map< size_type, size_type > _dis_bgd_ie2dis_dom_ie
geo_domain_rep(const geo_domain_rep< T, M > &)
const geo_element & bgd2dom_geo_element(const geo_element &bgd_K) const
size_type bgd_ie2dom_ie(size_type bgd_ie) const
This file is part of Rheolef.
geo_domain_indirect_rep< T, M > _dom
size_type n_domain_indirect() const
const geo_basic< T, M > & get_background_geo() const
field::size_type size_type
the finite element boundary domain
const geo_element & dom2bgd_geo_element(const geo_element &dom_K) const
geo_abstract_rep< T, M > * clone() const
size_type dis_bgd_ie2dis_dom_ie(size_type dis_bgd_ie) const