I am trying to use MappingFEField on a parallel::distributed::Triangulation with TrilinosWrappers::MPI::Vector.
unsigned int degree = 4;
const FE_Q<dim> fe(QGaussLobatto<1>(degree+1));
const FESystem<dim> fesystem(fe, dim);
DoFHandler<dim> dh_euler (triangulation);
dh_euler.distribute_dofs (fesystem);
IndexSet locally_owned_dofs;
IndexSet locally_relevant_dofs;
locally_owned_dofs = dh_euler.locally_owned_dofs ();
DoFTools::extract_locally_relevant_dofs (dh_euler,
locally_relevant_dofs);
TrilinosWrappers::MPI::Vector euler_vector (locally_owned_dofs, MPI_COMM_WORLD);
compute_mapping (degree, triangulation, dh_euler, euler_vector);
MappingFEField<dim> map(dh_euler, euler_vector);
When “map" is destroyed, I get some error
An error occurred in line <128> of file </Users/praveen/Applications/deal.II/git/source/base/subscriptor.cc> in function void dealii::Subscriptor::check_no_subscribers() const
The violated condition was:
counter == 0
The name and call sequence of the exception was:
ExcInUse (counter, object_info->name(), infostring)
Additional Information:
Object of class N6dealii6VectorIdEE is still used by 1 other objects.
Thanks
praveen
Dear all
I have problems involving airfoil geometry where the cells have high aspect ratio in the boundary layer. Due to this, it is not enough to just use curved boundaries but the interior faces also need to be curved. See the attached figure gridq1.pdf
I have implemented a method based on winslow equations, see
Using this winslow method, I can generate an euler vector that gives valid cells, see gridqk.pdf which uses degree=4.
Using this euler vector, I want to create a MappingFEField and use that in my Navier-Stokes DG code.
I have some doubts.
When I use a MappingFEField, do I still need to attach manifold descriptions to the curved boundaries ? Assume that I am not doing any grid adaptation.
If I want to adapt the grid, is there a way to use the MappingFEField to place the new points ?
Are there any functions in deal.II to measure the quality of the mesh ?
The Winslow eqn approach seems quite useful and one can write a general class that may be useful for many people. At present I only have a serial implementation.
The approach is as follows:
Start with a Q1 mesh
Attach manifolds
Solve the winslow eqn to get the euler vector
Create a MappingFEField
Thanks
praveen
<gridq1.pdf><gridqk.pdf>