I tried to modify my code that FEEvaluation is constructed without matrix_free_data as in the above .cc in dealii/test, but get following error information: "FEEvaluation was initialized without a matrix-free object. Integer indexing is not possible".
Guess the only method to do MatrixFree problem with multi-components now is through BlockVector in matrix_vector_Stokes test <https://github.com/dealii/dealii/blob/master/tests/matrix_free/matrix_vector_stokes_noflux.cc>? Since I never write dealii prokect with blocked dofs before I'm affraid codes besides MatrixFree parts should be changed as well... Should I try rearrange step-29 like problem with block vector? 在2022年11月2日星期三 UTC+8 17:24:23<yy.wayne> 写道: > In test/matrix-free/assemble_matrix_02.cc > <https://github.com/dealii/dealii/blob/d2d20fe3ca3a1390420c51420307a3ef680c503c/tests/matrix_free/assemble_matrix_02.cc> > a > Stokes matrix is assembled in MatrixFree form, and DoFs correspond to > velocity and pressure are called by FEEvaluation<...,dim> velocity(..., 0) > and FEEvaluation<...,1> velocity(..., dim), respectively. > > I have a multi-comp system two as in step-29 with real and imaginary > parts. But initializing the 2 FEEvaluations by FEEvaluation<...,1> > real(matrix_free_data, 0) and FEEvaluation<...,1> real(matrix_free_data, 1) > gives error, because matrix_free_data.n_components() is 1 not 2. Maybe it's > because I'm using fe_collection, not just FESystem in the > assemble_matrix_02 test. > > If I have a FEEvaluation<...,dim=2> integrator including real and > imaginary parts, is there a way to decouple them like in FEValues (for > example, fe.system_to_component_index, or fe_values_real = > fe_values[FEValuesExtractors])? > > Best, > Wayne > -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/78313b35-b4a5-4a7b-84af-72c256e3db26n%40googlegroups.com.