diff --git a/docs/src/config/boundaries.md b/docs/src/config/boundaries.md index c07a5c412..0fd54076d 100644 --- a/docs/src/config/boundaries.md +++ b/docs/src/config/boundaries.md @@ -130,7 +130,8 @@ The available options are: - `"SmallerRefractiveIndex"` : Take the value from the side where the material index of refraction is smaller (speed of light is larger). Typically this selects the vacuum - side. + side. For anisotropic materials, the index of refraction associated with the principal + direction with the smallest value is used. - `"LargerRefractiveIndex"` : Take the value from the side where the material index of refraction is larger (speed of light is smaller). Typically this selects the non-vacuum side. @@ -609,7 +610,8 @@ general double-valued). The available options are: - `"SmallerRefractiveIndex"` : Take the value from the side where the material index of refraction is smaller (speed of light is larger). Typically this selects the vacuum - side. + side. For anisotropic materials, the index of refraction associated with the principal + direction with the smallest value is used. - `"LargerRefractiveIndex"` : Take the value from the side where the material index of refraction is larger (speed of light is smaller). Typically this selects the non-vacuum side. diff --git a/palace/fem/coefficient.hpp b/palace/fem/coefficient.hpp index 27f620b00..85fdf4e98 100644 --- a/palace/fem/coefficient.hpp +++ b/palace/fem/coefficient.hpp @@ -49,7 +49,7 @@ class BdrGridFunctionCoefficient { // For interior faces with no way to distinguish on which side to evaluate quantities, // evaluate on both (using the average or sum, depending on the application). - return (FET.Elem2 && mat_op.GetLightSpeedMin(FET.Elem2->Attribute) == + return (FET.Elem2 && mat_op.GetLightSpeedMax(FET.Elem2->Attribute) == mat_op.GetLightSpeedMax(FET.Elem1->Attribute)); } @@ -60,7 +60,7 @@ class BdrGridFunctionCoefficient // (refractive index is smaller, typically should choose the vacuum side). For cases // where the speeds are the same, use element 1. return (FET.Elem2 && side_n_min && - mat_op.GetLightSpeedMin(FET.Elem2->Attribute) > + mat_op.GetLightSpeedMax(FET.Elem2->Attribute) > mat_op.GetLightSpeedMax(FET.Elem1->Attribute)); }