Hi, everyone.
I am trying to solve a coupling geomechanics and fluid problem using the
space:(dim = 2 )
> fe (FE_RaviartThomas<dim>(degree), 1,
>
> //FE_Q<dim>(degree+1),dim,
>
> FE_DGQ<dim>(degree), 1,
>
> FE_DGQ<dim>(degree), 1,
>
> FE_Q<dim>(degree+1), dim),
>
> and
> FE_Q<dim>(degree+1), dim)
>
>
represent the displacement of the rock.
In order to check if this code is right, I want to use a model with
analytical solution to verify it. And I need to make the displacement in y
direction to be zero.
At first I use fe.component_mask(displacement),
But this works for both displacements in x and y directions.
Then I try to construct a ComponentMask vector:
I make the 2*dim+1 term to be false(which represent the constraints of y
direction)
However, I got this error:
> void
>> dealii::VectorTools::{anonymous}::do_interpolate_boundary_values(const
>> M_or_MC<dim, spacedim>&, const DoFHandlerType<dim, spacedim>&, const
>> std::map<unsigned int, const dealii::Function<spacedim, number>*>&,
>> std::map<unsigned int, number>&, const dealii::ComponentMask&) [with int
>> dim = 2; int spacedim = 2; number = double; DoFHandlerType =
>> dealii::DoFHandler; M_or_MC = dealii::Mapping]
>
> The violated condition was:
>
> cell->get_fe().is_primitive (i)
>
> Additional information:
>
> This function can only deal with requested boundary values that
>> correspond to primitive (scalar) base elements
>
>
>
Is there a good way to solve this problem?
Thank you in advance!
Best,
Chen
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.