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.

Reply via email to