Hi,
Based on the code snippet you provided, it appears that you are correctly applying Dirichlet boundary conditions to the edges of the perimeter using the 'applyBoundaryCondition' function. However, the issue you are facing might be related to the interpretation of the results or the way you are evaluating the solution.
You can try the following steps to correctly evaluate the solution at the edges of the perimeter :
- To evaluate the solution at the edges of the perimeter, you can directly access the solution values at those locations. For example, if the edges of the perimeter are stored in an array called 'perimeter', you can extract the solution values at those edges using indexing. For instance, if 'u1' is the first variable in the PDE system, you can access the solution values for 'u1' at the edges as 'res.NodalSolution.u1(edgeIndices)', where 'edgeIndices' represents the indices of the edges in the solution.
- Check the values obtained from step 2 to verify if they are indeed 1 for the specified Dirichlet boundary conditions. You can print or examine the values directly to confirm.
To further investigate the issue and understand the behavior of the solution, you can try the following steps:
- Print and inspect the boundary conditions applied using 'applyBoundaryCondition' to ensure they are correctly specified.
- Check the time instance for which you are evaluating 'uintrp' using 'interpolateSolution'. Make sure it corresponds to the desired time point.
- Increase the number of time points in the time vector to observe the solution behavior over a longer period.
- Consider visualizing the solution at different time instances to better understand how it evolves over time.
If the issue persists or you need more specific assistance, providing additional details about the PDE, the boundary conditions, and the specific behavior you expect would be helpful in further troubleshooting.
To know more about time dependent PDE systems, you may refer to the below link:
Hope this helps.
Thankyou