@@ -224,18 +224,33 @@ class FEMContext : public DiffContext
224
224
template <typename OutputShape>
225
225
void get_element_fe ( unsigned int var, FEGenericBase<OutputShape> *& fe ) const ;
226
226
227
+ /* *
228
+ * Accessor for interior finite element object for scalar-valued variable var.
229
+ */
230
+ FEBase* get_element_fe ( unsigned int var ) const ;
231
+
227
232
/* *
228
233
* Accessor for edge/face (2D/3D) finite element object for variable var.
229
234
*/
230
235
template <typename OutputShape>
231
236
void get_side_fe ( unsigned int var, FEGenericBase<OutputShape> *& fe ) const ;
232
237
238
+ /* *
239
+ * Accessor for side finite element object for scalar-valued variable var.
240
+ */
241
+ FEBase* get_side_fe ( unsigned int var ) const ;
242
+
233
243
/* *
234
244
* Accessor for edge (3D only!) finite element object for variable var.
235
245
*/
236
246
template <typename OutputShape>
237
247
void get_edge_fe ( unsigned int var, FEGenericBase<OutputShape> *& fe ) const ;
238
248
249
+ /* *
250
+ * Accessor for edge finite element object for scalar-valued variable var.
251
+ */
252
+ FEBase* get_edge_fe ( unsigned int var ) const ;
253
+
239
254
/* *
240
255
* Returns the value of the solution variable \p var at the quadrature
241
256
* point \p qp on the current element interior. This is the preferred API.
@@ -770,6 +785,13 @@ void FEMContext::get_element_fe( unsigned int var, FEGenericBase<OutputShape> *&
770
785
fe = libmesh_cast_ptr<FEGenericBase<OutputShape>*>( _element_fe_var[var] );
771
786
}
772
787
788
+ inline
789
+ FEBase* FEMContext::get_element_fe ( unsigned int var ) const
790
+ {
791
+ libmesh_assert_less ( var, _element_fe_var.size () );
792
+ return libmesh_cast_ptr<FEBase*>( _element_fe_var[var] );
793
+ }
794
+
773
795
template <typename OutputShape>
774
796
inline
775
797
void FEMContext::get_side_fe ( unsigned int var, FEGenericBase<OutputShape> *& fe ) const
@@ -778,6 +800,13 @@ void FEMContext::get_side_fe( unsigned int var, FEGenericBase<OutputShape> *& fe
778
800
fe = libmesh_cast_ptr<FEGenericBase<OutputShape>*>( _side_fe_var[var] );
779
801
}
780
802
803
+ inline
804
+ FEBase* FEMContext::get_side_fe ( unsigned int var ) const
805
+ {
806
+ libmesh_assert_less ( var, _side_fe_var.size () );
807
+ return libmesh_cast_ptr<FEBase*>( _side_fe_var[var] );
808
+ }
809
+
781
810
template <typename OutputShape>
782
811
inline
783
812
void FEMContext::get_edge_fe ( unsigned int var, FEGenericBase<OutputShape> *& fe ) const
@@ -786,6 +815,13 @@ void FEMContext::get_edge_fe( unsigned int var, FEGenericBase<OutputShape> *& fe
786
815
fe = libmesh_cast_ptr<FEGenericBase<OutputShape>*>( _edge_fe_var[var] );
787
816
}
788
817
818
+ inline
819
+ FEBase* FEMContext::get_edge_fe ( unsigned int var ) const
820
+ {
821
+ libmesh_assert_less ( var, _edge_fe_var.size () );
822
+ return libmesh_cast_ptr<FEBase*>( _edge_fe_var[var] );
823
+ }
824
+
789
825
790
826
} // namespace libMesh
791
827
0 commit comments