On 12/18/24 16:00, Sclah wrote:
for (unsigned int i = 0; i < local_face_dof_indices_fluid.size(); ++i)
{
if (fe_fluid->face_system_to_component_index(i).first < dim) // select just
fluid velocity (the solution is stored as (fluid_velocity + fluid_pressure +
solid_displacement) with (dim + 1 + dim) components)
{
auto column_index = /*todo*/ ; // need to extract the right index to select
the displacement value at the interface
constraints.add_line(local_face_dof_indices_fluid[i]);
constraints.add_entry(local_face_dof_indices_fluid[i], column_index, 1.0 /
time_step);
constraints.set_inhomogeneity(local_face_dof_indices_fluid[i], -
solution_previous_time_step(column_index) / time_step);
}
}
Sclah:
if I understand you right, then what you want is to find the displacement DoF
on one side that corresponds to the velocity DoF on the other side? Are you
using the same finite element for the two variables? If so, just as you
extract the vector component with fe_fluid->face_system_to_component_index(),
you can go the other way around with fe_solid->face_component_to_system_index().
Best
WB
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bange...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/
--
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 visit
https://groups.google.com/d/msgid/dealii/ed8626a5-b3ef-4fa4-b99d-58ea15d03c42%40colostate.edu.