Source code for FIAT.check_format_variant
import re
import warnings
[docs]
def check_format_variant(variant, degree, element):
if variant is None:
variant = "point"
warnings.simplefilter('always', DeprecationWarning)
warnings.warn('Variant of ' + element + ' element will change from point evaluation to integral evaluation.'
' You should project into variant="integral"', DeprecationWarning)
match = re.match(r"^integral(?:\((\d+)\))?$", variant)
if match:
variant = "integral"
quad_degree, = match.groups()
quad_degree = int(quad_degree) if quad_degree is not None else 5*(degree + 1)
if quad_degree < degree + 1:
raise ValueError("Warning, quadrature degree should be at least %s" % (degree + 1))
elif variant == "point":
quad_degree = None
else:
raise ValueError('Choose either variant="point" or variant="integral"'
'or variant="integral(Quadrature degree)"')
return (variant, quad_degree)