Hi everyone,
I'm trying to impose a BC of specular type, and I'm having some troubles figuring out what's the easiest (not necessarily the most efficient) way to do it. I have streaming equations of order one, solved by an implementation such as the step-5 for 3D. I'm trying to implement a specular BC, i.e. the boundary condition for the direction analyzed (output direction) is the result of the reflection at the boundary of another direction (input direction) that has been already solved in previous steps. I store the solution for every direction as: BlockVector<double> angular_solution Can I define Function<dim> input_solution (Vector<double> solution) to put in VectorTools::interpolate_boundary_values(dof_handler,'1',input_solution<dim> (angular_solution.block(i)),boundary_values) If so, how do I define it? I'm trying also to fill the boundary_values map manually, but it's getting difficult to relate dofs to points in the boundary, to fill the BC with the corresponding specular direction. The relation for the selection of the specular "input" direction is also not straightforward, particularly if the boundary has low-angle corners, where I have to analyze the normal to the corner point as an average of the normal of the faces, but selecting only the directions coming from the inside of the domain, I know how to handle this, but I should first solve the previous difficulty :S. Maybe I missed some tutorial, or method in the library which shows how to do a thing like that. Any recommendation will be very appreciated. Thank you all!
_______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
