UFL codegen problem.
When running the attached Python script the integrands model is not generated correctly, i.e. the skelton term is empty, even though it should not be. Or something else is wrong that I don't understand. @andreas.dedner: Any ideas?
template< class Point >
RangeValueType boundary ( const Point &x, const DomainValueType &u ) const
{
using std::abs;
GlobalCoordinateType tmp0 = intersection_.unitOuterNormal( x.localPosition() );
const auto tmp1 = std::get< 0 >( u );
const auto tmp2 = tmp1[ 0 ] * tmp0[ 1 ];
const auto tmp3 = tmp0[ 0 ] * tmp1[ 0 ];
const auto tmp4 = tmp3 + tmp2;
const auto tmp5 = std::abs( tmp4 );
auto tmp6 = intersection_.geometry().volume();
auto tmp7 = entity().geometry().volume();
const auto tmp8 = tmp7 / tmp6;
const auto tmp9 = tmp8 * tmp5;
return RangeValueType{ { tmp9 } };
}
template< class Point >
std::pair< RangeValueType, RangeValueType > skeleton ( const Point &xIn, const DomainValueType &uIn, const Point &xOut, const DomainValueType &uOut ) const
{
return std::make_pair( RangeValueType{ { 0 } }, RangeValueType{ { 0 } } );
}
Edited by Andreas Dedner