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.

Reply via email to