Hi Mohamad,

You need to create the two FESystems as follows:
FESystem[FE_Q(1)^3-FE_Nothing^2] and FESystem[FE_Nothing^3-FE_Q(1)^2].
This way the first three variables u1, u2 and u3 will be only defined in 
the first domain and in the second domain we define u1 and u2 as the last 
two variables.
For more information on FE_Nothing look at step 46 of the deal.II tutorials.
Additionally, I also have some code online that uses 
FE_Nothing: 
https://github.com/mathmerizing/TemporalMultirateFEM/blob/main/src%2Fmonolithic_heatwave%2Fmain.cc
Kind regards,

Julian
On Sunday, April 7, 2024 at 12:24:53 AM UTC+2 mgha...@ualberta.ca wrote:

> Hello,
>
> I am solving a problem in which I use the FE_Nothing class to represent 
> variables that do not exist in parts of the physical domain. My domain is 
> split into two parts: In the first part, I solve for all three variables 
> (I'll call them u1, u2, and u3) and in the second part of the domain I 
> solve for u1 and u2 only. 
> For my problem, I use two FESystem objects in the parameter file as 
> follows:
> *FESystem[FE_Q(1)^3]* for the first part of the domain
> *FESystem[FE_Q(1)^2-FE_Nothing^1]* for the second part of the domain.
>
> However, this results in the following assertion error:
>
>
>
>
>
>
>
>
>
>
>
>
>
> *An error occurred in line <2478> of file 
> <../deal.II/src/source/fe/fe_system.cc> in function    
> dealii::FiniteElementDomination::Domination dealii::FESystem<dim, 
> spacedim>::compare_for_domination(const dealii::FiniteElement<dim, 
> spacedim>&, unsigned int) const [with int dim = 2; int spacedim = 2]The 
> violated condition was:     this->n_base_elements() == 
> fe_sys_other->n_base_elements()Additional information:     You are trying 
> to use functionality in deal.II that is currently not    implemented. In 
> many cases, this indicates that there simply didn't    appear much of a 
> need for it, or that the author of the original code    did not have the 
> time to implement a particular case. If you hit this    exception, it is 
> therefore worth the time to look into the code to    find out whether you 
> may be able to implement the missing    functionality. If you do, please 
> consider providing a patch to the    deal.II development sources (see the 
> deal.II website on how to    contribute).*
>
> But when I changed the first FESystem into:
> *FESystem[FE_Q(1)^2-**FE_Q(1)^1**]* 
> it worked fine because the number of base elements in both FESystems is 
> now the same. My question is then, is this assertion necessary?
>
> Thank you,
> Mohamad
>

-- 
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/0f0b1e5b-5e10-40b9-a5ed-bf6eba6f4d4en%40googlegroups.com.

Reply via email to