Hi, all.

I am curious about whether i can use  MeshWorker: class for FESystem.

I am trying to solve system, 

that I need to solve 'stokes flow' and then use velocity solution to solve 
other scalar transport equation using DG method 

that looks like 

<https://lh3.googleusercontent.com/--TB9N8Cz7eA/Wnt0_pNMz-I/AAAAAAAABHg/xedmGOYJ0aUVmvCMzRgDVbx-YjbdcAzaQCLcBGAs/s1600/Screen%2BShot%2B2018-02-07%2Bat%2B3.50.41%2BPM.png>
I solve for \lambda, and u is known from stokes solver. h(x,y) and f(x,y) 
is also known.  


So I declared my FESystem as, 


  template <int dim>

    StokesProblem<dim>::StokesProblem (const unsigned int degree)

    :

    degree (degree),

    triangulation (Triangulation<dim>::allow_anisotropic_smoothing),

        fe (FE_Q<dim>(degree+1), dim,

        FE_Q<dim>(degree), 1,

        FE_DGQ<dim>(degree+1), 1),

    dof_handler (triangulation)

    {}


Afte solving stokes system just as in step-22, 

I need mesh-worker after that 

however when I try to reinitialize info_box, I receive errors like 

 template <int dim>

    void StokesProblem<dim>::setup_mesh_worker ()

    {

        std::cout << "Setting up mesh worker ...\n";

        

        MeshWorker::IntegrationInfoBox<dim> info_box;

        const unsigned int n_gauss_points = dof_handler.get_fe().degree+1; // 
I haven't thought about this.

        

        //Since quadratures for cells, boundary, and interior faces can be 
selected independently,

        //We have to hand over this three times.

        info_box.initialize_gauss_quadrature(n_gauss_points,

                                             n_gauss_points,

                                             n_gauss_points);

        

        info_box.initialize_update_flags();

        UpdateFlags update_flags = update_quadrature_points |

        update_values            |

        update_gradients;

        info_box.add_update_flags(update_flags, true, true, true, true);

        

        const MappingQ<dim> mapping (degree);

        


        info_box.initialize (fe , mapping); //Note that  ' FESystem<dim> fe'

    }


I am receiving error saying that


*An error occurred in line <1198> of file 
</Users/kimjaekwang/dealii-8.4.1/include/deal.II/dofs/dof_handler.h> in 
function*

*    const FiniteElement<dim, spacedim> &dealii::DoFHandler<2, 2>::get_fe() 
const [dim = 2, spacedim = 2]*

*The violated condition was: *

*    selected_fe!=0*

*The name and call sequence of the exception was:*

*    ExcMessage("You are trying to access the DoFHandler's FiniteElement 
object before it has been initialized.")*

*Additional Information: *

*You are trying to access the DoFHandler's FiniteElement object before it 
has been initialized.*

I would appreciate very much anyone who helps me...

Thanks, 

Jaekwang 

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to