@@ -777,9 +777,7 @@ public:
777
777
TransientExplicitSystem & sys =
778
778
es .add_system < TransientExplicitSystem > ("SimpleSystem" );
779
779
780
- auto generic_elem = Elem ::build (elem_type );
781
-
782
- auto u_var = sys .add_variable ("u" , generic_elem -> default_order (), LAGRANGE_VEC );
780
+ auto u_var = sys .add_variable ("u" , Elem ::type_to_default_order_map [elem_type ], LAGRANGE_VEC );
783
781
784
782
MeshTools ::Generation ::build_square (mesh ,
785
783
1 , 1 ,
@@ -792,7 +790,7 @@ public:
792
790
// function projection code right now
793
791
for (const auto & node : mesh .local_node_ptr_range ())
794
792
{
795
- for (unsigned int i = 0 ; i < generic_elem -> dim (); ++ i )
793
+ for (unsigned int i : make_range ( Elem :: type_to_dim_map [ elem_type ]) )
796
794
{
797
795
auto dof_index = node -> dof_number (sys .number (), u_var , i );
798
796
sys .solution -> set (dof_index , (* node )(i ));
@@ -812,7 +810,7 @@ public:
812
810
for (const auto & node : mesh .local_node_ptr_range ())
813
811
{
814
812
// 2D element here
815
- for (unsigned int i = 0 ; i < generic_elem -> dim (); ++ i )
813
+ for (unsigned int i : make_range ( Elem :: type_to_dim_map [ elem_type ]) )
816
814
{
817
815
auto dof_index = node -> dof_number (sys .number (), u_var , i );
818
816
auto value = (* sys .solution )(dof_index );
@@ -829,9 +827,8 @@ public:
829
827
TransientExplicitSystem & sys =
830
828
es .add_system < TransientExplicitSystem > ("SimpleSystem" );
831
829
832
- auto generic_elem = Elem ::build (elem_type );
833
-
834
- auto u_var = sys .add_variable ("u" , generic_elem -> default_order (), LAGRANGE_VEC );
830
+ auto u_var = sys .add_variable
831
+ ("u" , Elem ::type_to_default_order_map [elem_type ], LAGRANGE_VEC );
835
832
836
833
MeshTools ::Generation ::build_cube (mesh ,
837
834
1 , 1 , 1 ,
@@ -844,7 +841,7 @@ public:
844
841
// function projection code right now
845
842
for (const auto & node : mesh .local_node_ptr_range ())
846
843
{
847
- for (unsigned int i = 0 ; i < generic_elem -> dim (); ++ i )
844
+ for (unsigned int i : make_range ( Elem :: type_to_dim_map [ elem_type ]) )
848
845
{
849
846
auto dof_index = node -> dof_number (sys .number (), u_var , i );
850
847
sys .solution -> set (dof_index , (* node )(i ));
@@ -863,7 +860,7 @@ public:
863
860
864
861
for (const auto & node : mesh .local_node_ptr_range ())
865
862
{
866
- for (unsigned int i = 0 ; i < generic_elem -> dim (); ++ i )
863
+ for (unsigned int i : make_range ( Elem :: type_to_dim_map [ elem_type ]) )
867
864
{
868
865
auto dof_index = node -> dof_number (sys .number (), u_var , i );
869
866
auto value = (* sys .solution )(dof_index );
0 commit comments