# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _gridfunc
else:
    import _gridfunc

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _gridfunc.SWIG_PyInstanceMethod_New
_swig_new_static_method = _gridfunc.SWIG_PyStaticMethod_New

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


import weakref

import mfem._par.array
import mfem._par.mem_manager
import mfem._par.vector
import mfem._par.coefficient
import mfem._par.globals
import mfem._par.matrix
import mfem._par.operators
import mfem._par.intrules
import mfem._par.sparsemat
import mfem._par.densemat
import mfem._par.eltrans
import mfem._par.fe
import mfem._par.geom
import mfem._par.fespace
import mfem._par.mesh
import mfem._par.sort_pairs
import mfem._par.ncmesh
import mfem._par.vtk
import mfem._par.element
import mfem._par.table
import mfem._par.hash
import mfem._par.vertex
import mfem._par.fe_coll
import mfem._par.lininteg
import mfem._par.handle
import mfem._par.hypre
import mfem._par.restriction
import mfem._par.bilininteg
import mfem._par.linearform
import mfem._par.nonlininteg
class GridFunction(mfem._par.vector.Vector):
    r"""Proxy of C++ mfem::GridFunction class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def MakeOwner(self, fec_):
        r"""MakeOwner(GridFunction self, FiniteElementCollection fec_)"""
        return _gridfunc.GridFunction_MakeOwner(self, fec_)
    MakeOwner = _swig_new_instance_method(_gridfunc.GridFunction_MakeOwner)

    def OwnFEC(self):
        r"""OwnFEC(GridFunction self) -> FiniteElementCollection"""
        return _gridfunc.GridFunction_OwnFEC(self)
    OwnFEC = _swig_new_instance_method(_gridfunc.GridFunction_OwnFEC)

    def VectorDim(self):
        r"""VectorDim(GridFunction self) -> int"""
        return _gridfunc.GridFunction_VectorDim(self)
    VectorDim = _swig_new_instance_method(_gridfunc.GridFunction_VectorDim)

    def GetTrueVector(self, *args):
        r"""
        GetTrueVector(GridFunction self) -> Vector
        GetTrueVector(GridFunction self) -> Vector
        """
        return _gridfunc.GridFunction_GetTrueVector(self, *args)
    GetTrueVector = _swig_new_instance_method(_gridfunc.GridFunction_GetTrueVector)

    def GetTrueDofs(self, tv):
        r"""GetTrueDofs(GridFunction self, Vector tv)"""
        return _gridfunc.GridFunction_GetTrueDofs(self, tv)
    GetTrueDofs = _swig_new_instance_method(_gridfunc.GridFunction_GetTrueDofs)

    def SetTrueVector(self):
        r"""SetTrueVector(GridFunction self)"""
        return _gridfunc.GridFunction_SetTrueVector(self)
    SetTrueVector = _swig_new_instance_method(_gridfunc.GridFunction_SetTrueVector)

    def SetFromTrueDofs(self, tv):
        r"""SetFromTrueDofs(GridFunction self, Vector tv)"""
        return _gridfunc.GridFunction_SetFromTrueDofs(self, tv)
    SetFromTrueDofs = _swig_new_instance_method(_gridfunc.GridFunction_SetFromTrueDofs)

    def SetFromTrueVector(self):
        r"""SetFromTrueVector(GridFunction self)"""
        return _gridfunc.GridFunction_SetFromTrueVector(self)
    SetFromTrueVector = _swig_new_instance_method(_gridfunc.GridFunction_SetFromTrueVector)

    def GetValue(self, *args):
        r"""
        GetValue(GridFunction self, int i, IntegrationPoint ip, int vdim=1) -> double
        GetValue(GridFunction self, ElementTransformation T, IntegrationPoint ip, int comp=0, Vector tr=None) -> double
        """
        return _gridfunc.GridFunction_GetValue(self, *args)
    GetValue = _swig_new_instance_method(_gridfunc.GridFunction_GetValue)

    def GetVectorValue(self, *args):
        r"""
        GetVectorValue(GridFunction self, int i, IntegrationPoint ip, Vector val)
        GetVectorValue(GridFunction self, ElementTransformation T, IntegrationPoint ip, Vector val, Vector tr=None)
        """
        return _gridfunc.GridFunction_GetVectorValue(self, *args)
    GetVectorValue = _swig_new_instance_method(_gridfunc.GridFunction_GetVectorValue)

    def GetValues(self, *args):
        r"""
        GetValues(GridFunction self, int i, IntegrationRule ir, Vector vals, int vdim=1)
        GetValues(GridFunction self, int i, IntegrationRule ir, Vector vals, DenseMatrix tr, int vdim=1)
        GetValues(GridFunction self, ElementTransformation T, IntegrationRule ir, Vector vals, int comp=0, DenseMatrix tr=None)
        """
        return _gridfunc.GridFunction_GetValues(self, *args)
    GetValues = _swig_new_instance_method(_gridfunc.GridFunction_GetValues)

    def GetVectorValues(self, *args):
        r"""
        GetVectorValues(GridFunction self, int i, IntegrationRule ir, DenseMatrix vals, DenseMatrix tr)
        GetVectorValues(GridFunction self, ElementTransformation T, IntegrationRule ir, DenseMatrix vals, DenseMatrix tr=None)
        """
        return _gridfunc.GridFunction_GetVectorValues(self, *args)
    GetVectorValues = _swig_new_instance_method(_gridfunc.GridFunction_GetVectorValues)

    def GetFaceValues(self, i, side, ir, vals, tr, vdim=1):
        r"""GetFaceValues(GridFunction self, int i, int side, IntegrationRule ir, Vector vals, DenseMatrix tr, int vdim=1) -> int"""
        return _gridfunc.GridFunction_GetFaceValues(self, i, side, ir, vals, tr, vdim)
    GetFaceValues = _swig_new_instance_method(_gridfunc.GridFunction_GetFaceValues)

    def GetFaceVectorValues(self, i, side, ir, vals, tr):
        r"""GetFaceVectorValues(GridFunction self, int i, int side, IntegrationRule ir, DenseMatrix vals, DenseMatrix tr) -> int"""
        return _gridfunc.GridFunction_GetFaceVectorValues(self, i, side, ir, vals, tr)
    GetFaceVectorValues = _swig_new_instance_method(_gridfunc.GridFunction_GetFaceVectorValues)

    def GetLaplacians(self, *args):
        r"""
        GetLaplacians(GridFunction self, int i, IntegrationRule ir, Vector laps, int vdim=1)
        GetLaplacians(GridFunction self, int i, IntegrationRule ir, Vector laps, DenseMatrix tr, int vdim=1)
        """
        return _gridfunc.GridFunction_GetLaplacians(self, *args)
    GetLaplacians = _swig_new_instance_method(_gridfunc.GridFunction_GetLaplacians)

    def GetHessians(self, *args):
        r"""
        GetHessians(GridFunction self, int i, IntegrationRule ir, DenseMatrix hess, int vdim=1)
        GetHessians(GridFunction self, int i, IntegrationRule ir, DenseMatrix hess, DenseMatrix tr, int vdim=1)
        """
        return _gridfunc.GridFunction_GetHessians(self, *args)
    GetHessians = _swig_new_instance_method(_gridfunc.GridFunction_GetHessians)

    def GetValuesFrom(self, orig_func):
        r"""GetValuesFrom(GridFunction self, GridFunction orig_func)"""
        return _gridfunc.GridFunction_GetValuesFrom(self, orig_func)
    GetValuesFrom = _swig_new_instance_method(_gridfunc.GridFunction_GetValuesFrom)

    def GetBdrValuesFrom(self, orig_func):
        r"""GetBdrValuesFrom(GridFunction self, GridFunction orig_func)"""
        return _gridfunc.GridFunction_GetBdrValuesFrom(self, orig_func)
    GetBdrValuesFrom = _swig_new_instance_method(_gridfunc.GridFunction_GetBdrValuesFrom)

    def GetVectorFieldValues(self, i, ir, vals, tr, comp=0):
        r"""GetVectorFieldValues(GridFunction self, int i, IntegrationRule ir, DenseMatrix vals, DenseMatrix tr, int comp=0)"""
        return _gridfunc.GridFunction_GetVectorFieldValues(self, i, ir, vals, tr, comp)
    GetVectorFieldValues = _swig_new_instance_method(_gridfunc.GridFunction_GetVectorFieldValues)

    def ReorderByNodes(self):
        r"""ReorderByNodes(GridFunction self)"""
        return _gridfunc.GridFunction_ReorderByNodes(self)
    ReorderByNodes = _swig_new_instance_method(_gridfunc.GridFunction_ReorderByNodes)

    def GetNodalValues(self, *args):
        '''
        GetNodalValues(i)   ->   GetNodalValues(vector, vdim)
        GetNodalValues(i, array<dobule>, vdim)
        '''
        from .vector import Vector
        if len(args) == 1:
            vec = Vector()
            _gridfunc.GridFunction_GetNodalValues(self, vec, args[0])
            vec.thisown = 0
            return vec.GetDataArray()
        else:
            return _gridfunc.GridFunction_GetNodalValues(self, *args)



    def GetVectorFieldNodalValues(self, val, comp):
        r"""GetVectorFieldNodalValues(GridFunction self, Vector val, int comp)"""
        return _gridfunc.GridFunction_GetVectorFieldNodalValues(self, val, comp)
    GetVectorFieldNodalValues = _swig_new_instance_method(_gridfunc.GridFunction_GetVectorFieldNodalValues)

    def ProjectVectorFieldOn(self, vec_field, comp=0):
        r"""ProjectVectorFieldOn(GridFunction self, GridFunction vec_field, int comp=0)"""
        return _gridfunc.GridFunction_ProjectVectorFieldOn(self, vec_field, comp)
    ProjectVectorFieldOn = _swig_new_instance_method(_gridfunc.GridFunction_ProjectVectorFieldOn)

    def GetDerivative(self, comp, der_comp, der):
        r"""GetDerivative(GridFunction self, int comp, int der_comp, GridFunction der)"""
        return _gridfunc.GridFunction_GetDerivative(self, comp, der_comp, der)
    GetDerivative = _swig_new_instance_method(_gridfunc.GridFunction_GetDerivative)

    def GetDivergence(self, tr):
        r"""GetDivergence(GridFunction self, ElementTransformation tr) -> double"""
        return _gridfunc.GridFunction_GetDivergence(self, tr)
    GetDivergence = _swig_new_instance_method(_gridfunc.GridFunction_GetDivergence)

    def GetCurl(self, tr, curl):
        r"""GetCurl(GridFunction self, ElementTransformation tr, Vector curl)"""
        return _gridfunc.GridFunction_GetCurl(self, tr, curl)
    GetCurl = _swig_new_instance_method(_gridfunc.GridFunction_GetCurl)

    def GetGradient(self, tr, grad):
        r"""GetGradient(GridFunction self, ElementTransformation tr, Vector grad)"""
        return _gridfunc.GridFunction_GetGradient(self, tr, grad)
    GetGradient = _swig_new_instance_method(_gridfunc.GridFunction_GetGradient)

    def GetGradients(self, *args):
        r"""
        GetGradients(GridFunction self, ElementTransformation tr, IntegrationRule ir, DenseMatrix grad)
        GetGradients(GridFunction self, int const elem, IntegrationRule ir, DenseMatrix grad)
        """
        return _gridfunc.GridFunction_GetGradients(self, *args)
    GetGradients = _swig_new_instance_method(_gridfunc.GridFunction_GetGradients)

    def GetVectorGradient(self, tr, grad):
        r"""GetVectorGradient(GridFunction self, ElementTransformation tr, DenseMatrix grad)"""
        return _gridfunc.GridFunction_GetVectorGradient(self, tr, grad)
    GetVectorGradient = _swig_new_instance_method(_gridfunc.GridFunction_GetVectorGradient)

    def GetElementAverages(self, avgs):
        r"""GetElementAverages(GridFunction self, GridFunction avgs)"""
        return _gridfunc.GridFunction_GetElementAverages(self, avgs)
    GetElementAverages = _swig_new_instance_method(_gridfunc.GridFunction_GetElementAverages)

    def GetElementDofValues(self, el, dof_vals):
        r"""GetElementDofValues(GridFunction self, int el, Vector dof_vals)"""
        return _gridfunc.GridFunction_GetElementDofValues(self, el, dof_vals)
    GetElementDofValues = _swig_new_instance_method(_gridfunc.GridFunction_GetElementDofValues)

    def ImposeBounds(self, *args):
        r"""
        ImposeBounds(GridFunction self, int i, Vector weights, Vector lo_, Vector hi_)
        ImposeBounds(GridFunction self, int i, Vector weights, double min_=0.0, double max_=mfem::infinity())
        """
        return _gridfunc.GridFunction_ImposeBounds(self, *args)
    ImposeBounds = _swig_new_instance_method(_gridfunc.GridFunction_ImposeBounds)

    def RestrictConforming(self):
        r"""RestrictConforming(GridFunction self)"""
        return _gridfunc.GridFunction_RestrictConforming(self)
    RestrictConforming = _swig_new_instance_method(_gridfunc.GridFunction_RestrictConforming)

    def ProjectGridFunction(self, src):
        r"""ProjectGridFunction(GridFunction self, GridFunction src)"""
        return _gridfunc.GridFunction_ProjectGridFunction(self, src)
    ProjectGridFunction = _swig_new_instance_method(_gridfunc.GridFunction_ProjectGridFunction)

    def ProjectCoefficient(self, *args):
        r"""
        ProjectCoefficient(GridFunction self, Coefficient coeff)
        ProjectCoefficient(GridFunction self, Coefficient coeff, intArray dofs, int vd=0)
        ProjectCoefficient(GridFunction self, VectorCoefficient vcoeff)
        ProjectCoefficient(GridFunction self, VectorCoefficient vcoeff, intArray dofs)
        ProjectCoefficient(GridFunction self, VectorCoefficient vcoeff, int attribute)
        ProjectCoefficient(GridFunction self, mfem::Coefficient *[] coeff)
        """
        return _gridfunc.GridFunction_ProjectCoefficient(self, *args)
    ProjectCoefficient = _swig_new_instance_method(_gridfunc.GridFunction_ProjectCoefficient)
    ARITHMETIC = _gridfunc.GridFunction_ARITHMETIC
    
    HARMONIC = _gridfunc.GridFunction_HARMONIC
    

    def ProjectDiscCoefficient(self, *args):
        r"""
        ProjectDiscCoefficient(GridFunction self, VectorCoefficient coeff)
        ProjectDiscCoefficient(GridFunction self, Coefficient coeff, mfem::GridFunction::AvgType type)
        ProjectDiscCoefficient(GridFunction self, VectorCoefficient coeff, mfem::GridFunction::AvgType type)
        """
        return _gridfunc.GridFunction_ProjectDiscCoefficient(self, *args)
    ProjectDiscCoefficient = _swig_new_instance_method(_gridfunc.GridFunction_ProjectDiscCoefficient)

    def ProjectBdrCoefficient(self, *args):
        r"""
        ProjectBdrCoefficient(GridFunction self, Coefficient coeff, intArray attr)
        ProjectBdrCoefficient(GridFunction self, VectorCoefficient vcoeff, intArray attr)
        ProjectBdrCoefficient(GridFunction self, mfem::Coefficient *[] coeff, intArray attr)
        """
        return _gridfunc.GridFunction_ProjectBdrCoefficient(self, *args)
    ProjectBdrCoefficient = _swig_new_instance_method(_gridfunc.GridFunction_ProjectBdrCoefficient)

    def ProjectBdrCoefficientNormal(self, vcoeff, bdr_attr):
        r"""ProjectBdrCoefficientNormal(GridFunction self, VectorCoefficient vcoeff, intArray bdr_attr)"""
        return _gridfunc.GridFunction_ProjectBdrCoefficientNormal(self, vcoeff, bdr_attr)
    ProjectBdrCoefficientNormal = _swig_new_instance_method(_gridfunc.GridFunction_ProjectBdrCoefficientNormal)

    def ProjectBdrCoefficientTangent(self, vcoeff, bdr_attr):
        r"""ProjectBdrCoefficientTangent(GridFunction self, VectorCoefficient vcoeff, intArray bdr_attr)"""
        return _gridfunc.GridFunction_ProjectBdrCoefficientTangent(self, vcoeff, bdr_attr)
    ProjectBdrCoefficientTangent = _swig_new_instance_method(_gridfunc.GridFunction_ProjectBdrCoefficientTangent)

    def ComputeL2Error(self, *args):
        r"""
        ComputeL2Error(GridFunction self, Coefficient exsol, mfem::IntegrationRule const *[] irs=0) -> double
        ComputeL2Error(GridFunction self, mfem::Coefficient *[] exsol, mfem::IntegrationRule const *[] irs=0) -> double
        ComputeL2Error(GridFunction self, VectorCoefficient exsol, mfem::IntegrationRule const *[] irs=0, intArray elems=None) -> double
        """
        return _gridfunc.GridFunction_ComputeL2Error(self, *args)
    ComputeL2Error = _swig_new_instance_method(_gridfunc.GridFunction_ComputeL2Error)

    def ComputeGradError(self, exgrad, irs=0):
        r"""ComputeGradError(GridFunction self, VectorCoefficient exgrad, mfem::IntegrationRule const *[] irs=0) -> double"""
        return _gridfunc.GridFunction_ComputeGradError(self, exgrad, irs)
    ComputeGradError = _swig_new_instance_method(_gridfunc.GridFunction_ComputeGradError)

    def ComputeCurlError(self, excurl, irs=0):
        r"""ComputeCurlError(GridFunction self, VectorCoefficient excurl, mfem::IntegrationRule const *[] irs=0) -> double"""
        return _gridfunc.GridFunction_ComputeCurlError(self, excurl, irs)
    ComputeCurlError = _swig_new_instance_method(_gridfunc.GridFunction_ComputeCurlError)

    def ComputeDivError(self, exdiv, irs=0):
        r"""ComputeDivError(GridFunction self, Coefficient exdiv, mfem::IntegrationRule const *[] irs=0) -> double"""
        return _gridfunc.GridFunction_ComputeDivError(self, exdiv, irs)
    ComputeDivError = _swig_new_instance_method(_gridfunc.GridFunction_ComputeDivError)

    def ComputeDGFaceJumpError(self, *args):
        r"""
        ComputeDGFaceJumpError(GridFunction self, Coefficient exsol, Coefficient ell_coeff, JumpScaling jump_scaling, mfem::IntegrationRule const *[] irs=0) -> double
        ComputeDGFaceJumpError(GridFunction self, Coefficient exsol, Coefficient ell_coeff, double Nu, mfem::IntegrationRule const *[] irs=0) -> double
        """
        return _gridfunc.GridFunction_ComputeDGFaceJumpError(self, *args)
    ComputeDGFaceJumpError = _swig_new_instance_method(_gridfunc.GridFunction_ComputeDGFaceJumpError)

    def ComputeH1Error(self, *args):
        r"""
        ComputeH1Error(GridFunction self, Coefficient exsol, VectorCoefficient exgrad, Coefficient ell_coef, double Nu, int norm_type) -> double
        ComputeH1Error(GridFunction self, Coefficient exsol, VectorCoefficient exgrad, mfem::IntegrationRule const *[] irs=0) -> double
        """
        return _gridfunc.GridFunction_ComputeH1Error(self, *args)
    ComputeH1Error = _swig_new_instance_method(_gridfunc.GridFunction_ComputeH1Error)

    def ComputeHDivError(self, exsol, exdiv, irs=0):
        r"""ComputeHDivError(GridFunction self, VectorCoefficient exsol, Coefficient exdiv, mfem::IntegrationRule const *[] irs=0) -> double"""
        return _gridfunc.GridFunction_ComputeHDivError(self, exsol, exdiv, irs)
    ComputeHDivError = _swig_new_instance_method(_gridfunc.GridFunction_ComputeHDivError)

    def ComputeHCurlError(self, exsol, excurl, irs=0):
        r"""ComputeHCurlError(GridFunction self, VectorCoefficient exsol, VectorCoefficient excurl, mfem::IntegrationRule const *[] irs=0) -> double"""
        return _gridfunc.GridFunction_ComputeHCurlError(self, exsol, excurl, irs)
    ComputeHCurlError = _swig_new_instance_method(_gridfunc.GridFunction_ComputeHCurlError)

    def ComputeMaxError(self, *args):
        r"""
        ComputeMaxError(GridFunction self, Coefficient exsol, mfem::IntegrationRule const *[] irs=0) -> double
        ComputeMaxError(GridFunction self, mfem::Coefficient *[] exsol, mfem::IntegrationRule const *[] irs=0) -> double
        ComputeMaxError(GridFunction self, VectorCoefficient exsol, mfem::IntegrationRule const *[] irs=0) -> double
        """
        return _gridfunc.GridFunction_ComputeMaxError(self, *args)
    ComputeMaxError = _swig_new_instance_method(_gridfunc.GridFunction_ComputeMaxError)

    def ComputeW11Error(self, exsol, exgrad, norm_type, elems=None, irs=0):
        r"""ComputeW11Error(GridFunction self, Coefficient exsol, VectorCoefficient exgrad, int norm_type, intArray elems=None, mfem::IntegrationRule const *[] irs=0) -> double"""
        return _gridfunc.GridFunction_ComputeW11Error(self, exsol, exgrad, norm_type, elems, irs)
    ComputeW11Error = _swig_new_instance_method(_gridfunc.GridFunction_ComputeW11Error)

    def ComputeL1Error(self, *args):
        r"""
        ComputeL1Error(GridFunction self, Coefficient exsol, mfem::IntegrationRule const *[] irs=0) -> double
        ComputeL1Error(GridFunction self, VectorCoefficient exsol, mfem::IntegrationRule const *[] irs=0) -> double
        """
        return _gridfunc.GridFunction_ComputeL1Error(self, *args)
    ComputeL1Error = _swig_new_instance_method(_gridfunc.GridFunction_ComputeL1Error)

    def ComputeLpError(self, *args):
        r"""
        ComputeLpError(GridFunction self, double const p, Coefficient exsol, Coefficient weight=None, mfem::IntegrationRule const *[] irs=0) -> double
        ComputeLpError(GridFunction self, double const p, VectorCoefficient exsol, Coefficient weight=None, VectorCoefficient v_weight=None, mfem::IntegrationRule const *[] irs=0) -> double
        """
        return _gridfunc.GridFunction_ComputeLpError(self, *args)
    ComputeLpError = _swig_new_instance_method(_gridfunc.GridFunction_ComputeLpError)

    def ComputeElementLpErrors(self, *args):
        r"""
        ComputeElementLpErrors(GridFunction self, double const p, Coefficient exsol, Vector error, Coefficient weight=None, mfem::IntegrationRule const *[] irs=0)
        ComputeElementLpErrors(GridFunction self, double const p, VectorCoefficient exsol, Vector error, Coefficient weight=None, VectorCoefficient v_weight=None, mfem::IntegrationRule const *[] irs=0)
        """
        return _gridfunc.GridFunction_ComputeElementLpErrors(self, *args)
    ComputeElementLpErrors = _swig_new_instance_method(_gridfunc.GridFunction_ComputeElementLpErrors)

    def ComputeElementL1Errors(self, *args):
        r"""
        ComputeElementL1Errors(GridFunction self, Coefficient exsol, Vector error, mfem::IntegrationRule const *[] irs=0)
        ComputeElementL1Errors(GridFunction self, VectorCoefficient exsol, Vector error, mfem::IntegrationRule const *[] irs=0)
        """
        return _gridfunc.GridFunction_ComputeElementL1Errors(self, *args)
    ComputeElementL1Errors = _swig_new_instance_method(_gridfunc.GridFunction_ComputeElementL1Errors)

    def ComputeElementL2Errors(self, *args):
        r"""
        ComputeElementL2Errors(GridFunction self, Coefficient exsol, Vector error, mfem::IntegrationRule const *[] irs=0)
        ComputeElementL2Errors(GridFunction self, VectorCoefficient exsol, Vector error, mfem::IntegrationRule const *[] irs=0)
        """
        return _gridfunc.GridFunction_ComputeElementL2Errors(self, *args)
    ComputeElementL2Errors = _swig_new_instance_method(_gridfunc.GridFunction_ComputeElementL2Errors)

    def ComputeElementMaxErrors(self, *args):
        r"""
        ComputeElementMaxErrors(GridFunction self, Coefficient exsol, Vector error, mfem::IntegrationRule const *[] irs=0)
        ComputeElementMaxErrors(GridFunction self, VectorCoefficient exsol, Vector error, mfem::IntegrationRule const *[] irs=0)
        """
        return _gridfunc.GridFunction_ComputeElementMaxErrors(self, *args)
    ComputeElementMaxErrors = _swig_new_instance_method(_gridfunc.GridFunction_ComputeElementMaxErrors)

    def ComputeFlux(self, blfi, flux, wcoef=True, subdomain=-1):
        r"""ComputeFlux(GridFunction self, BilinearFormIntegrator blfi, GridFunction flux, bool wcoef=True, int subdomain=-1)"""
        return _gridfunc.GridFunction_ComputeFlux(self, blfi, flux, wcoef, subdomain)
    ComputeFlux = _swig_new_instance_method(_gridfunc.GridFunction_ComputeFlux)

    def Assign(self, *args):
        r"""
        Assign(GridFunction self, GridFunction rhs) -> GridFunction
        Assign(GridFunction self, double value) -> GridFunction
        Assign(GridFunction self, Vector v) -> GridFunction
        """
        return _gridfunc.GridFunction_Assign(self, *args)
    Assign = _swig_new_instance_method(_gridfunc.GridFunction_Assign)

    def Update(self):
        r"""Update(GridFunction self)"""
        return _gridfunc.GridFunction_Update(self)
    Update = _swig_new_instance_method(_gridfunc.GridFunction_Update)

    def FESpace(self, *args):
        r"""
        FESpace(GridFunction self) -> FiniteElementSpace
        FESpace(GridFunction self) -> FiniteElementSpace
        """
        return _gridfunc.GridFunction_FESpace(self, *args)
    FESpace = _swig_new_instance_method(_gridfunc.GridFunction_FESpace)

    def SetSpace(self, f):
        r"""SetSpace(GridFunction self, FiniteElementSpace f)"""
        return _gridfunc.GridFunction_SetSpace(self, f)
    SetSpace = _swig_new_instance_method(_gridfunc.GridFunction_SetSpace)

    def MakeRef(self, *args):
        r"""
        MakeRef(GridFunction self, Vector base, int offset, int size)
        MakeRef(GridFunction self, Vector base, int offset)
        MakeRef(GridFunction self, FiniteElementSpace f, double * v)
        MakeRef(GridFunction self, FiniteElementSpace f, Vector v, int v_offset)
        """
        return _gridfunc.GridFunction_MakeRef(self, *args)
    MakeRef = _swig_new_instance_method(_gridfunc.GridFunction_MakeRef)

    def MakeTRef(self, *args):
        r"""
        MakeTRef(GridFunction self, FiniteElementSpace f, double * tv)
        MakeTRef(GridFunction self, FiniteElementSpace f, Vector tv, int tv_offset)
        """
        return _gridfunc.GridFunction_MakeTRef(self, *args)
    MakeTRef = _swig_new_instance_method(_gridfunc.GridFunction_MakeTRef)

    def SaveVTK(self, out, field_name, ref):
        r"""SaveVTK(GridFunction self, std::ostream & out, std::string const & field_name, int ref)"""
        return _gridfunc.GridFunction_SaveVTK(self, out, field_name, ref)
    SaveVTK = _swig_new_instance_method(_gridfunc.GridFunction_SaveVTK)

    def SaveSTL(self, out, TimesToRefine=1):
        r"""SaveSTL(GridFunction self, std::ostream & out, int TimesToRefine=1)"""
        return _gridfunc.GridFunction_SaveSTL(self, out, TimesToRefine)
    SaveSTL = _swig_new_instance_method(_gridfunc.GridFunction_SaveSTL)
    __swig_destroy__ = _gridfunc.delete_GridFunction

    def __init__(self, *args):
        r"""
        __init__(GridFunction self) -> GridFunction
        __init__(GridFunction self, GridFunction orig) -> GridFunction
        __init__(GridFunction self, FiniteElementSpace f) -> GridFunction
        __init__(GridFunction self, FiniteElementSpace f, double * data) -> GridFunction
        __init__(GridFunction self, Mesh m, std::istream & input) -> GridFunction
        __init__(GridFunction self, Mesh m, mfem::GridFunction *[] gf_array, int num_pieces) -> GridFunction
        __init__(GridFunction self, FiniteElementSpace fes, Vector v, int offset) -> GridFunction
        """
        _gridfunc.GridFunction_swiginit(self, _gridfunc.new_GridFunction(*args))

    def SaveToFile(self, gf_file, precision):
        r"""SaveToFile(GridFunction self, char const * gf_file, int const precision)"""
        return _gridfunc.GridFunction_SaveToFile(self, gf_file, precision)
    SaveToFile = _swig_new_instance_method(_gridfunc.GridFunction_SaveToFile)

    def WriteToStream(self, StringIO):
        r"""WriteToStream(GridFunction self, PyObject * StringIO) -> PyObject *"""
        return _gridfunc.GridFunction_WriteToStream(self, StringIO)
    WriteToStream = _swig_new_instance_method(_gridfunc.GridFunction_WriteToStream)

    def iadd(self, c):
        r"""iadd(GridFunction self, GridFunction c) -> GridFunction"""
        return _gridfunc.GridFunction_iadd(self, c)
    iadd = _swig_new_instance_method(_gridfunc.GridFunction_iadd)

    def isub(self, *args):
        r"""
        isub(GridFunction self, GridFunction c) -> GridFunction
        isub(GridFunction self, double c) -> GridFunction
        """
        return _gridfunc.GridFunction_isub(self, *args)
    isub = _swig_new_instance_method(_gridfunc.GridFunction_isub)

    def imul(self, c):
        r"""imul(GridFunction self, double c) -> GridFunction"""
        return _gridfunc.GridFunction_imul(self, c)
    imul = _swig_new_instance_method(_gridfunc.GridFunction_imul)

    def idiv(self, c):
        r"""idiv(GridFunction self, double c) -> GridFunction"""
        return _gridfunc.GridFunction_idiv(self, c)
    idiv = _swig_new_instance_method(_gridfunc.GridFunction_idiv)

    def Save(self, *args):
        r"""
        Save(GridFunction self, std::ostream & out)
        Save(GridFunction self, char const * fname, int precision=16)
        Save(GridFunction self, char const * file, int precision=16)
        """
        return _gridfunc.GridFunction_Save(self, *args)
    Save = _swig_new_instance_method(_gridfunc.GridFunction_Save)

    def SaveGZ(self, file, precision=16):
        r"""SaveGZ(GridFunction self, char const * file, int precision=16)"""
        return _gridfunc.GridFunction_SaveGZ(self, file, precision)
    SaveGZ = _swig_new_instance_method(_gridfunc.GridFunction_SaveGZ)

# Register GridFunction in _gridfunc:
_gridfunc.GridFunction_swigregister(GridFunction)

class JumpScaling(object):
    r"""Proxy of C++ mfem::JumpScaling class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CONSTANT = _gridfunc.JumpScaling_CONSTANT
    
    ONE_OVER_H = _gridfunc.JumpScaling_ONE_OVER_H
    
    P_SQUARED_OVER_H = _gridfunc.JumpScaling_P_SQUARED_OVER_H
    

    def __init__(self, *args, **kwargs):
        r"""__init__(JumpScaling self, double nu_=1.0, mfem::JumpScaling::JumpScalingType type_=CONSTANT) -> JumpScaling"""
        _gridfunc.JumpScaling_swiginit(self, _gridfunc.new_JumpScaling(*args, **kwargs))

    def Eval(self, h, p):
        r"""Eval(JumpScaling self, double h, int p) -> double"""
        return _gridfunc.JumpScaling_Eval(self, h, p)
    Eval = _swig_new_instance_method(_gridfunc.JumpScaling_Eval)
    __swig_destroy__ = _gridfunc.delete_JumpScaling

# Register JumpScaling in _gridfunc:
_gridfunc.JumpScaling_swigregister(JumpScaling)

class QuadratureFunction(mfem._par.vector.Vector):
    r"""Proxy of C++ mfem::QuadratureFunction class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(QuadratureFunction self) -> QuadratureFunction
        __init__(QuadratureFunction self, QuadratureFunction orig) -> QuadratureFunction
        __init__(QuadratureFunction self, QuadratureSpace qspace_, int vdim_=1) -> QuadratureFunction
        __init__(QuadratureFunction self, QuadratureSpace qspace_, double * qf_data, int vdim_=1) -> QuadratureFunction
        __init__(QuadratureFunction self, Mesh mesh, std::istream & _in) -> QuadratureFunction
        """
        _gridfunc.QuadratureFunction_swiginit(self, _gridfunc.new_QuadratureFunction(*args))
    __swig_destroy__ = _gridfunc.delete_QuadratureFunction

    def GetSpace(self):
        r"""GetSpace(QuadratureFunction self) -> QuadratureSpace"""
        return _gridfunc.QuadratureFunction_GetSpace(self)
    GetSpace = _swig_new_instance_method(_gridfunc.QuadratureFunction_GetSpace)

    def SetSpace(self, *args):
        r"""
        SetSpace(QuadratureFunction self, QuadratureSpace qspace_, int vdim_=-1)
        SetSpace(QuadratureFunction self, QuadratureSpace qspace_, double * qf_data, int vdim_=-1)
        """
        return _gridfunc.QuadratureFunction_SetSpace(self, *args)
    SetSpace = _swig_new_instance_method(_gridfunc.QuadratureFunction_SetSpace)

    def GetVDim(self):
        r"""GetVDim(QuadratureFunction self) -> int"""
        return _gridfunc.QuadratureFunction_GetVDim(self)
    GetVDim = _swig_new_instance_method(_gridfunc.QuadratureFunction_GetVDim)

    def SetVDim(self, vdim_):
        r"""SetVDim(QuadratureFunction self, int vdim_)"""
        return _gridfunc.QuadratureFunction_SetVDim(self, vdim_)
    SetVDim = _swig_new_instance_method(_gridfunc.QuadratureFunction_SetVDim)

    def OwnsSpace(self):
        r"""OwnsSpace(QuadratureFunction self) -> bool"""
        return _gridfunc.QuadratureFunction_OwnsSpace(self)
    OwnsSpace = _swig_new_instance_method(_gridfunc.QuadratureFunction_OwnsSpace)

    def SetOwnsSpace(self, own):
        r"""SetOwnsSpace(QuadratureFunction self, bool own)"""
        return _gridfunc.QuadratureFunction_SetOwnsSpace(self, own)
    SetOwnsSpace = _swig_new_instance_method(_gridfunc.QuadratureFunction_SetOwnsSpace)

    def GetElementIntRule(self, idx):
        r"""GetElementIntRule(QuadratureFunction self, int idx) -> IntegrationRule"""
        return _gridfunc.QuadratureFunction_GetElementIntRule(self, idx)
    GetElementIntRule = _swig_new_instance_method(_gridfunc.QuadratureFunction_GetElementIntRule)

    def GetElementValues(self, *args):
        r"""
        GetElementValues(QuadratureFunction self, int idx, Vector values)
        GetElementValues(QuadratureFunction self, int idx, Vector values)
        GetElementValues(QuadratureFunction self, int idx, int const ip_num, Vector values)
        GetElementValues(QuadratureFunction self, int idx, int const ip_num, Vector values)
        GetElementValues(QuadratureFunction self, int idx, DenseMatrix values)
        GetElementValues(QuadratureFunction self, int idx, DenseMatrix values)
        """
        return _gridfunc.QuadratureFunction_GetElementValues(self, *args)
    GetElementValues = _swig_new_instance_method(_gridfunc.QuadratureFunction_GetElementValues)

    def Save(self, *args):
        r"""
        Save(QuadratureFunction self, std::ostream & out)
        Save(QuadratureFunction self, char const * file, int precision=16)
        """
        return _gridfunc.QuadratureFunction_Save(self, *args)
    Save = _swig_new_instance_method(_gridfunc.QuadratureFunction_Save)

    def SaveGZ(self, file, precision=16):
        r"""SaveGZ(QuadratureFunction self, char const * file, int precision=16)"""
        return _gridfunc.QuadratureFunction_SaveGZ(self, file, precision)
    SaveGZ = _swig_new_instance_method(_gridfunc.QuadratureFunction_SaveGZ)

# Register QuadratureFunction in _gridfunc:
_gridfunc.QuadratureFunction_swigregister(QuadratureFunction)


def __lshift__(*args):
    r"""
    __lshift__(std::ostream & os, SparseMatrix mat) -> std::ostream
    __lshift__(std::ostream & out, Mesh mesh) -> std::ostream
    __lshift__(std::ostream & out, GridFunction sol) -> std::ostream
    __lshift__(std::ostream & out, QuadratureFunction qf) -> std::ostream &
    """
    return _gridfunc.__lshift__(*args)
__lshift__ = _gridfunc.__lshift__

def ZZErrorEstimator(blfi, u, flux, error_estimates, aniso_flags=None, with_subdomains=1, with_coeff=False):
    r"""ZZErrorEstimator(BilinearFormIntegrator blfi, GridFunction u, GridFunction flux, Vector error_estimates, intArray aniso_flags=None, int with_subdomains=1, bool with_coeff=False) -> double"""
    return _gridfunc.ZZErrorEstimator(blfi, u, flux, error_estimates, aniso_flags, with_subdomains, with_coeff)
ZZErrorEstimator = _gridfunc.ZZErrorEstimator

def ComputeElementLpDistance(p, i, gf1, gf2):
    r"""ComputeElementLpDistance(double p, int i, GridFunction gf1, GridFunction gf2) -> double"""
    return _gridfunc.ComputeElementLpDistance(p, i, gf1, gf2)
ComputeElementLpDistance = _gridfunc.ComputeElementLpDistance
class ExtrudeCoefficient(mfem._par.coefficient.Coefficient):
    r"""Proxy of C++ mfem::ExtrudeCoefficient class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, m, s, n_):
        r"""__init__(ExtrudeCoefficient self, Mesh m, Coefficient s, int n_) -> ExtrudeCoefficient"""
        _gridfunc.ExtrudeCoefficient_swiginit(self, _gridfunc.new_ExtrudeCoefficient(m, s, n_))

    def Eval(self, T, ip):
        r"""Eval(ExtrudeCoefficient self, ElementTransformation T, IntegrationPoint ip) -> double"""
        return _gridfunc.ExtrudeCoefficient_Eval(self, T, ip)
    Eval = _swig_new_instance_method(_gridfunc.ExtrudeCoefficient_Eval)
    __swig_destroy__ = _gridfunc.delete_ExtrudeCoefficient

# Register ExtrudeCoefficient in _gridfunc:
_gridfunc.ExtrudeCoefficient_swigregister(ExtrudeCoefficient)


def Extrude1DGridFunction(mesh, mesh2d, sol, ny):
    r"""Extrude1DGridFunction(Mesh mesh, Mesh mesh2d, GridFunction sol, int const ny) -> GridFunction"""
    return _gridfunc.Extrude1DGridFunction(mesh, mesh2d, sol, ny)
Extrude1DGridFunction = _gridfunc.Extrude1DGridFunction

def __iadd__(self, v):
    ret = _gridfunc.GridFunction_iadd(self, v)
    ret.thisown = 0
    return self
def __isub__(self, v):
    ret = _gridfunc.GridFunction_isub(self, v)
    ret.thisown = 0
    return self
def __idiv__(self, v):
    ret = _gridfunc.GridFunction_idiv(self, v)
    ret.thisown = 0
    return self
def __imul__(self, v):
    ret = _gridfunc.GridFunction_imul(self, v)
    ret.thisown = 0
    return self

GridFunction.__iadd__  = __iadd__
GridFunction.__idiv__  = __idiv__
GridFunction.__isub__  = __isub__
GridFunction.__imul__  = __imul__      




[((591, 0, 591, 49), '_gridfunc.GridFunction_swigregister', '_gridfunc.GridFunction_swigregister', ({(591, 36, 591, 48): 'GridFunction'}, {}), '(GridFunction)', False, 'import _gridfunc\n'), ((616, 0, 616, 47), '_gridfunc.JumpScaling_swigregister', '_gridfunc.JumpScaling_swigregister', ({(616, 35, 616, 46): 'JumpScaling'}, {}), '(JumpScaling)', False, 'import _gridfunc\n'), ((699, 0, 699, 61), '_gridfunc.QuadratureFunction_swigregister', '_gridfunc.QuadratureFunction_swigregister', ({(699, 42, 699, 60): 'QuadratureFunction'}, {}), '(QuadratureFunction)', False, 'import _gridfunc\n'), ((738, 0, 738, 61), '_gridfunc.ExtrudeCoefficient_swigregister', '_gridfunc.ExtrudeCoefficient_swigregister', ({(738, 42, 738, 60): 'ExtrudeCoefficient'}, {}), '(ExtrudeCoefficient)', False, 'import _gridfunc\n'), ((709, 11, 709, 38), '_gridfunc.__lshift__', '_gridfunc.__lshift__', ({(709, 32, 709, 37): '*args'}, {}), '(*args)', False, 'import _gridfunc\n'), ((714, 11, 714, 111), '_gridfunc.ZZErrorEstimator', '_gridfunc.ZZErrorEstimator', ({(714, 38, 714, 42): 'blfi', (714, 44, 714, 45): 'u', (714, 47, 714, 51): 'flux', (714, 53, 714, 68): 'error_estimates', (714, 70, 714, 81): 'aniso_flags', (714, 83, 714, 98): 'with_subdomains', (714, 100, 714, 110): 'with_coeff'}, {}), '(blfi, u, flux, error_estimates, aniso_flags,\n    with_subdomains, with_coeff)', False, 'import _gridfunc\n'), ((719, 11, 719, 61), '_gridfunc.ComputeElementLpDistance', '_gridfunc.ComputeElementLpDistance', ({(719, 46, 719, 47): 'p', (719, 49, 719, 50): 'i', (719, 52, 719, 55): 'gf1', (719, 57, 719, 60): 'gf2'}, {}), '(p, i, gf1, gf2)', False, 'import _gridfunc\n'), ((743, 11, 743, 65), '_gridfunc.Extrude1DGridFunction', '_gridfunc.Extrude1DGridFunction', ({(743, 43, 743, 47): 'mesh', (743, 49, 743, 55): 'mesh2d', (743, 57, 743, 60): 'sol', (743, 62, 743, 64): 'ny'}, {}), '(mesh, mesh2d, sol, ny)', False, 'import _gridfunc\n'), ((747, 10, 747, 46), '_gridfunc.GridFunction_iadd', '_gridfunc.GridFunction_iadd', ({(747, 38, 747, 42): 'self', (747, 44, 747, 45): 'v'}, {}), '(self, v)', False, 'import _gridfunc\n'), ((751, 10, 751, 46), '_gridfunc.GridFunction_isub', '_gridfunc.GridFunction_isub', ({(751, 38, 751, 42): 'self', (751, 44, 751, 45): 'v'}, {}), '(self, v)', False, 'import _gridfunc\n'), ((755, 10, 755, 46), '_gridfunc.GridFunction_idiv', '_gridfunc.GridFunction_idiv', ({(755, 38, 755, 42): 'self', (755, 44, 755, 45): 'v'}, {}), '(self, v)', False, 'import _gridfunc\n'), ((759, 10, 759, 46), '_gridfunc.GridFunction_imul', '_gridfunc.GridFunction_imul', ({(759, 38, 759, 42): 'self', (759, 44, 759, 45): 'v'}, {}), '(self, v)', False, 'import _gridfunc\n'), ((107, 15, 107, 59), '_gridfunc.GridFunction_MakeOwner', '_gridfunc.GridFunction_MakeOwner', ({(107, 48, 107, 52): 'self', (107, 54, 107, 58): 'fec_'}, {}), '(self, fec_)', False, 'import _gridfunc\n'), ((112, 15, 112, 50), '_gridfunc.GridFunction_OwnFEC', '_gridfunc.GridFunction_OwnFEC', ({(112, 45, 112, 49): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((117, 15, 117, 53), '_gridfunc.GridFunction_VectorDim', '_gridfunc.GridFunction_VectorDim', ({(117, 48, 117, 52): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((125, 15, 125, 64), '_gridfunc.GridFunction_GetTrueVector', '_gridfunc.GridFunction_GetTrueVector', ({(125, 52, 125, 56): 'self', (125, 58, 125, 63): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((130, 15, 130, 59), '_gridfunc.GridFunction_GetTrueDofs', '_gridfunc.GridFunction_GetTrueDofs', ({(130, 50, 130, 54): 'self', (130, 56, 130, 58): 'tv'}, {}), '(self, tv)', False, 'import _gridfunc\n'), ((135, 15, 135, 57), '_gridfunc.GridFunction_SetTrueVector', '_gridfunc.GridFunction_SetTrueVector', ({(135, 52, 135, 56): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((140, 15, 140, 63), '_gridfunc.GridFunction_SetFromTrueDofs', '_gridfunc.GridFunction_SetFromTrueDofs', ({(140, 54, 140, 58): 'self', (140, 60, 140, 62): 'tv'}, {}), '(self, tv)', False, 'import _gridfunc\n'), ((145, 15, 145, 61), '_gridfunc.GridFunction_SetFromTrueVector', '_gridfunc.GridFunction_SetFromTrueVector', ({(145, 56, 145, 60): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((153, 15, 153, 59), '_gridfunc.GridFunction_GetValue', '_gridfunc.GridFunction_GetValue', ({(153, 47, 153, 51): 'self', (153, 53, 153, 58): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((161, 15, 161, 65), '_gridfunc.GridFunction_GetVectorValue', '_gridfunc.GridFunction_GetVectorValue', ({(161, 53, 161, 57): 'self', (161, 59, 161, 64): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((170, 15, 170, 60), '_gridfunc.GridFunction_GetValues', '_gridfunc.GridFunction_GetValues', ({(170, 48, 170, 52): 'self', (170, 54, 170, 59): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((178, 15, 178, 66), '_gridfunc.GridFunction_GetVectorValues', '_gridfunc.GridFunction_GetVectorValues', ({(178, 54, 178, 58): 'self', (178, 60, 178, 65): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((183, 15, 183, 86), '_gridfunc.GridFunction_GetFaceValues', '_gridfunc.GridFunction_GetFaceValues', ({(183, 52, 183, 56): 'self', (183, 58, 183, 59): 'i', (183, 61, 183, 65): 'side', (183, 67, 183, 69): 'ir', (183, 71, 183, 75): 'vals', (183, 77, 183, 79): 'tr', (183, 81, 183, 85): 'vdim'}, {}), '(self, i, side, ir, vals, tr, vdim)', False, 'import _gridfunc\n'), ((188, 15, 188, 86), '_gridfunc.GridFunction_GetFaceVectorValues', '_gridfunc.GridFunction_GetFaceVectorValues', ({(188, 58, 188, 62): 'self', (188, 64, 188, 65): 'i', (188, 67, 188, 71): 'side', (188, 73, 188, 75): 'ir', (188, 77, 188, 81): 'vals', (188, 83, 188, 85): 'tr'}, {}), '(self, i, side, ir, vals, tr)', False, 'import _gridfunc\n'), ((196, 15, 196, 64), '_gridfunc.GridFunction_GetLaplacians', '_gridfunc.GridFunction_GetLaplacians', ({(196, 52, 196, 56): 'self', (196, 58, 196, 63): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((204, 15, 204, 62), '_gridfunc.GridFunction_GetHessians', '_gridfunc.GridFunction_GetHessians', ({(204, 50, 204, 54): 'self', (204, 56, 204, 61): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((209, 15, 209, 68), '_gridfunc.GridFunction_GetValuesFrom', '_gridfunc.GridFunction_GetValuesFrom', ({(209, 52, 209, 56): 'self', (209, 58, 209, 67): 'orig_func'}, {}), '(self, orig_func)', False, 'import _gridfunc\n'), ((214, 15, 214, 71), '_gridfunc.GridFunction_GetBdrValuesFrom', '_gridfunc.GridFunction_GetBdrValuesFrom', ({(214, 55, 214, 59): 'self', (214, 61, 214, 70): 'orig_func'}, {}), '(self, orig_func)', False, 'import _gridfunc\n'), ((219, 15, 219, 87), '_gridfunc.GridFunction_GetVectorFieldValues', '_gridfunc.GridFunction_GetVectorFieldValues', ({(219, 59, 219, 63): 'self', (219, 65, 219, 66): 'i', (219, 68, 219, 70): 'ir', (219, 72, 219, 76): 'vals', (219, 78, 219, 80): 'tr', (219, 82, 219, 86): 'comp'}, {}), '(self, i, ir, vals, tr, comp)', False, 'import _gridfunc\n'), ((224, 15, 224, 58), '_gridfunc.GridFunction_ReorderByNodes', '_gridfunc.GridFunction_ReorderByNodes', ({(224, 53, 224, 57): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((245, 15, 245, 80), '_gridfunc.GridFunction_GetVectorFieldNodalValues', '_gridfunc.GridFunction_GetVectorFieldNodalValues', ({(245, 64, 245, 68): 'self', (245, 70, 245, 73): 'val', (245, 75, 245, 79): 'comp'}, {}), '(self, val, comp)', False, 'import _gridfunc\n'), ((250, 15, 250, 81), '_gridfunc.GridFunction_ProjectVectorFieldOn', '_gridfunc.GridFunction_ProjectVectorFieldOn', ({(250, 59, 250, 63): 'self', (250, 65, 250, 74): 'vec_field', (250, 76, 250, 80): 'comp'}, {}), '(self, vec_field, comp)', False, 'import _gridfunc\n'), ((255, 15, 255, 78), '_gridfunc.GridFunction_GetDerivative', '_gridfunc.GridFunction_GetDerivative', ({(255, 52, 255, 56): 'self', (255, 58, 255, 62): 'comp', (255, 64, 255, 72): 'der_comp', (255, 74, 255, 77): 'der'}, {}), '(self, comp, der_comp, der)', False, 'import _gridfunc\n'), ((260, 15, 260, 61), '_gridfunc.GridFunction_GetDivergence', '_gridfunc.GridFunction_GetDivergence', ({(260, 52, 260, 56): 'self', (260, 58, 260, 60): 'tr'}, {}), '(self, tr)', False, 'import _gridfunc\n'), ((265, 15, 265, 61), '_gridfunc.GridFunction_GetCurl', '_gridfunc.GridFunction_GetCurl', ({(265, 46, 265, 50): 'self', (265, 52, 265, 54): 'tr', (265, 56, 265, 60): 'curl'}, {}), '(self, tr, curl)', False, 'import _gridfunc\n'), ((270, 15, 270, 65), '_gridfunc.GridFunction_GetGradient', '_gridfunc.GridFunction_GetGradient', ({(270, 50, 270, 54): 'self', (270, 56, 270, 58): 'tr', (270, 60, 270, 64): 'grad'}, {}), '(self, tr, grad)', False, 'import _gridfunc\n'), ((278, 15, 278, 63), '_gridfunc.GridFunction_GetGradients', '_gridfunc.GridFunction_GetGradients', ({(278, 51, 278, 55): 'self', (278, 57, 278, 62): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((283, 15, 283, 71), '_gridfunc.GridFunction_GetVectorGradient', '_gridfunc.GridFunction_GetVectorGradient', ({(283, 56, 283, 60): 'self', (283, 62, 283, 64): 'tr', (283, 66, 283, 70): 'grad'}, {}), '(self, tr, grad)', False, 'import _gridfunc\n'), ((288, 15, 288, 68), '_gridfunc.GridFunction_GetElementAverages', '_gridfunc.GridFunction_GetElementAverages', ({(288, 57, 288, 61): 'self', (288, 63, 288, 67): 'avgs'}, {}), '(self, avgs)', False, 'import _gridfunc\n'), ((293, 15, 293, 77), '_gridfunc.GridFunction_GetElementDofValues', '_gridfunc.GridFunction_GetElementDofValues', ({(293, 58, 293, 62): 'self', (293, 64, 293, 66): 'el', (293, 68, 293, 76): 'dof_vals'}, {}), '(self, el, dof_vals)', False, 'import _gridfunc\n'), ((301, 15, 301, 63), '_gridfunc.GridFunction_ImposeBounds', '_gridfunc.GridFunction_ImposeBounds', ({(301, 51, 301, 55): 'self', (301, 57, 301, 62): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((306, 15, 306, 62), '_gridfunc.GridFunction_RestrictConforming', '_gridfunc.GridFunction_RestrictConforming', ({(306, 57, 306, 61): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((311, 15, 311, 68), '_gridfunc.GridFunction_ProjectGridFunction', '_gridfunc.GridFunction_ProjectGridFunction', ({(311, 58, 311, 62): 'self', (311, 64, 311, 67): 'src'}, {}), '(self, src)', False, 'import _gridfunc\n'), ((323, 15, 323, 69), '_gridfunc.GridFunction_ProjectCoefficient', '_gridfunc.GridFunction_ProjectCoefficient', ({(323, 57, 323, 61): 'self', (323, 63, 323, 68): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((336, 15, 336, 73), '_gridfunc.GridFunction_ProjectDiscCoefficient', '_gridfunc.GridFunction_ProjectDiscCoefficient', ({(336, 61, 336, 65): 'self', (336, 67, 336, 72): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((345, 15, 345, 72), '_gridfunc.GridFunction_ProjectBdrCoefficient', '_gridfunc.GridFunction_ProjectBdrCoefficient', ({(345, 60, 345, 64): 'self', (345, 66, 345, 71): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((350, 15, 350, 89), '_gridfunc.GridFunction_ProjectBdrCoefficientNormal', '_gridfunc.GridFunction_ProjectBdrCoefficientNormal', ({(350, 66, 350, 70): 'self', (350, 72, 350, 78): 'vcoeff', (350, 80, 350, 88): 'bdr_attr'}, {}), '(self, vcoeff, bdr_attr)', False, 'import _gridfunc\n'), ((355, 15, 355, 90), '_gridfunc.GridFunction_ProjectBdrCoefficientTangent', '_gridfunc.GridFunction_ProjectBdrCoefficientTangent', ({(355, 67, 355, 71): 'self', (355, 73, 355, 79): 'vcoeff', (355, 81, 355, 89): 'bdr_attr'}, {}), '(self, vcoeff, bdr_attr)', False, 'import _gridfunc\n'), ((364, 15, 364, 65), '_gridfunc.GridFunction_ComputeL2Error', '_gridfunc.GridFunction_ComputeL2Error', ({(364, 53, 364, 57): 'self', (364, 59, 364, 64): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((369, 15, 369, 73), '_gridfunc.GridFunction_ComputeGradError', '_gridfunc.GridFunction_ComputeGradError', ({(369, 55, 369, 59): 'self', (369, 61, 369, 67): 'exgrad', (369, 69, 369, 72): 'irs'}, {}), '(self, exgrad, irs)', False, 'import _gridfunc\n'), ((374, 15, 374, 73), '_gridfunc.GridFunction_ComputeCurlError', '_gridfunc.GridFunction_ComputeCurlError', ({(374, 55, 374, 59): 'self', (374, 61, 374, 67): 'excurl', (374, 69, 374, 72): 'irs'}, {}), '(self, excurl, irs)', False, 'import _gridfunc\n'), ((379, 15, 379, 71), '_gridfunc.GridFunction_ComputeDivError', '_gridfunc.GridFunction_ComputeDivError', ({(379, 54, 379, 58): 'self', (379, 60, 379, 65): 'exdiv', (379, 67, 379, 70): 'irs'}, {}), '(self, exdiv, irs)', False, 'import _gridfunc\n'), ((387, 15, 387, 73), '_gridfunc.GridFunction_ComputeDGFaceJumpError', '_gridfunc.GridFunction_ComputeDGFaceJumpError', ({(387, 61, 387, 65): 'self', (387, 67, 387, 72): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((395, 15, 395, 65), '_gridfunc.GridFunction_ComputeH1Error', '_gridfunc.GridFunction_ComputeH1Error', ({(395, 53, 395, 57): 'self', (395, 59, 395, 64): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((400, 15, 400, 79), '_gridfunc.GridFunction_ComputeHDivError', '_gridfunc.GridFunction_ComputeHDivError', ({(400, 55, 400, 59): 'self', (400, 61, 400, 66): 'exsol', (400, 68, 400, 73): 'exdiv', (400, 75, 400, 78): 'irs'}, {}), '(self, exsol, exdiv, irs)', False, 'import _gridfunc\n'), ((405, 15, 405, 81), '_gridfunc.GridFunction_ComputeHCurlError', '_gridfunc.GridFunction_ComputeHCurlError', ({(405, 56, 405, 60): 'self', (405, 62, 405, 67): 'exsol', (405, 69, 405, 75): 'excurl', (405, 77, 405, 80): 'irs'}, {}), '(self, exsol, excurl, irs)', False, 'import _gridfunc\n'), ((414, 15, 414, 66), '_gridfunc.GridFunction_ComputeMaxError', '_gridfunc.GridFunction_ComputeMaxError', ({(414, 54, 414, 58): 'self', (414, 60, 414, 65): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((419, 15, 419, 97), '_gridfunc.GridFunction_ComputeW11Error', '_gridfunc.GridFunction_ComputeW11Error', ({(419, 54, 419, 58): 'self', (419, 60, 419, 65): 'exsol', (419, 67, 419, 73): 'exgrad', (419, 75, 419, 84): 'norm_type', (419, 86, 419, 91): 'elems', (419, 93, 419, 96): 'irs'}, {}), '(self, exsol, exgrad, norm_type,\n    elems, irs)', False, 'import _gridfunc\n'), ((427, 15, 427, 65), '_gridfunc.GridFunction_ComputeL1Error', '_gridfunc.GridFunction_ComputeL1Error', ({(427, 53, 427, 57): 'self', (427, 59, 427, 64): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((435, 15, 435, 65), '_gridfunc.GridFunction_ComputeLpError', '_gridfunc.GridFunction_ComputeLpError', ({(435, 53, 435, 57): 'self', (435, 59, 435, 64): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((443, 15, 443, 73), '_gridfunc.GridFunction_ComputeElementLpErrors', '_gridfunc.GridFunction_ComputeElementLpErrors', ({(443, 61, 443, 65): 'self', (443, 67, 443, 72): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((451, 15, 451, 73), '_gridfunc.GridFunction_ComputeElementL1Errors', '_gridfunc.GridFunction_ComputeElementL1Errors', ({(451, 61, 451, 65): 'self', (451, 67, 451, 72): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((459, 15, 459, 73), '_gridfunc.GridFunction_ComputeElementL2Errors', '_gridfunc.GridFunction_ComputeElementL2Errors', ({(459, 61, 459, 65): 'self', (459, 67, 459, 72): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((467, 15, 467, 74), '_gridfunc.GridFunction_ComputeElementMaxErrors', '_gridfunc.GridFunction_ComputeElementMaxErrors', ({(467, 62, 467, 66): 'self', (467, 68, 467, 73): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((472, 15, 472, 85), '_gridfunc.GridFunction_ComputeFlux', '_gridfunc.GridFunction_ComputeFlux', ({(472, 50, 472, 54): 'self', (472, 56, 472, 60): 'blfi', (472, 62, 472, 66): 'flux', (472, 68, 472, 73): 'wcoef', (472, 75, 472, 84): 'subdomain'}, {}), '(self, blfi, flux, wcoef, subdomain)', False, 'import _gridfunc\n'), ((481, 15, 481, 57), '_gridfunc.GridFunction_Assign', '_gridfunc.GridFunction_Assign', ({(481, 45, 481, 49): 'self', (481, 51, 481, 56): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((486, 15, 486, 50), '_gridfunc.GridFunction_Update', '_gridfunc.GridFunction_Update', ({(486, 45, 486, 49): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((494, 15, 494, 58), '_gridfunc.GridFunction_FESpace', '_gridfunc.GridFunction_FESpace', ({(494, 46, 494, 50): 'self', (494, 52, 494, 57): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((499, 15, 499, 55), '_gridfunc.GridFunction_SetSpace', '_gridfunc.GridFunction_SetSpace', ({(499, 47, 499, 51): 'self', (499, 53, 499, 54): 'f'}, {}), '(self, f)', False, 'import _gridfunc\n'), ((509, 15, 509, 58), '_gridfunc.GridFunction_MakeRef', '_gridfunc.GridFunction_MakeRef', ({(509, 46, 509, 50): 'self', (509, 52, 509, 57): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((517, 15, 517, 59), '_gridfunc.GridFunction_MakeTRef', '_gridfunc.GridFunction_MakeTRef', ({(517, 47, 517, 51): 'self', (517, 53, 517, 58): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((522, 15, 522, 73), '_gridfunc.GridFunction_SaveVTK', '_gridfunc.GridFunction_SaveVTK', ({(522, 46, 522, 50): 'self', (522, 52, 522, 55): 'out', (522, 57, 522, 67): 'field_name', (522, 69, 522, 72): 'ref'}, {}), '(self, out, field_name, ref)', False, 'import _gridfunc\n'), ((527, 15, 527, 71), '_gridfunc.GridFunction_SaveSTL', '_gridfunc.GridFunction_SaveSTL', ({(527, 46, 527, 50): 'self', (527, 52, 527, 55): 'out', (527, 57, 527, 70): 'TimesToRefine'}, {}), '(self, out, TimesToRefine)', False, 'import _gridfunc\n'), ((545, 15, 545, 74), '_gridfunc.GridFunction_SaveToFile', '_gridfunc.GridFunction_SaveToFile', ({(545, 49, 545, 53): 'self', (545, 55, 545, 62): 'gf_file', (545, 64, 545, 73): 'precision'}, {}), '(self, gf_file, precision)', False, 'import _gridfunc\n'), ((550, 15, 550, 67), '_gridfunc.GridFunction_WriteToStream', '_gridfunc.GridFunction_WriteToStream', ({(550, 52, 550, 56): 'self', (550, 58, 550, 66): 'StringIO'}, {}), '(self, StringIO)', False, 'import _gridfunc\n'), ((555, 15, 555, 51), '_gridfunc.GridFunction_iadd', '_gridfunc.GridFunction_iadd', ({(555, 43, 555, 47): 'self', (555, 49, 555, 50): 'c'}, {}), '(self, c)', False, 'import _gridfunc\n'), ((563, 15, 563, 55), '_gridfunc.GridFunction_isub', '_gridfunc.GridFunction_isub', ({(563, 43, 563, 47): 'self', (563, 49, 563, 54): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((568, 15, 568, 51), '_gridfunc.GridFunction_imul', '_gridfunc.GridFunction_imul', ({(568, 43, 568, 47): 'self', (568, 49, 568, 50): 'c'}, {}), '(self, c)', False, 'import _gridfunc\n'), ((573, 15, 573, 51), '_gridfunc.GridFunction_idiv', '_gridfunc.GridFunction_idiv', ({(573, 43, 573, 47): 'self', (573, 49, 573, 50): 'c'}, {}), '(self, c)', False, 'import _gridfunc\n'), ((582, 15, 582, 55), '_gridfunc.GridFunction_Save', '_gridfunc.GridFunction_Save', ({(582, 43, 582, 47): 'self', (582, 49, 582, 54): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((587, 15, 587, 67), '_gridfunc.GridFunction_SaveGZ', '_gridfunc.GridFunction_SaveGZ', ({(587, 45, 587, 49): 'self', (587, 51, 587, 55): 'file', (587, 57, 587, 66): 'precision'}, {}), '(self, file, precision)', False, 'import _gridfunc\n'), ((611, 15, 611, 53), '_gridfunc.JumpScaling_Eval', '_gridfunc.JumpScaling_Eval', ({(611, 42, 611, 46): 'self', (611, 48, 611, 49): 'h', (611, 51, 611, 52): 'p'}, {}), '(self, h, p)', False, 'import _gridfunc\n'), ((637, 15, 637, 58), '_gridfunc.QuadratureFunction_GetSpace', '_gridfunc.QuadratureFunction_GetSpace', ({(637, 53, 637, 57): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((645, 15, 645, 65), '_gridfunc.QuadratureFunction_SetSpace', '_gridfunc.QuadratureFunction_SetSpace', ({(645, 53, 645, 57): 'self', (645, 59, 645, 64): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((650, 15, 650, 57), '_gridfunc.QuadratureFunction_GetVDim', '_gridfunc.QuadratureFunction_GetVDim', ({(650, 52, 650, 56): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((655, 15, 655, 64), '_gridfunc.QuadratureFunction_SetVDim', '_gridfunc.QuadratureFunction_SetVDim', ({(655, 52, 655, 56): 'self', (655, 58, 655, 63): 'vdim_'}, {}), '(self, vdim_)', False, 'import _gridfunc\n'), ((660, 15, 660, 59), '_gridfunc.QuadratureFunction_OwnsSpace', '_gridfunc.QuadratureFunction_OwnsSpace', ({(660, 54, 660, 58): 'self'}, {}), '(self)', False, 'import _gridfunc\n'), ((665, 15, 665, 67), '_gridfunc.QuadratureFunction_SetOwnsSpace', '_gridfunc.QuadratureFunction_SetOwnsSpace', ({(665, 57, 665, 61): 'self', (665, 63, 665, 66): 'own'}, {}), '(self, own)', False, 'import _gridfunc\n'), ((670, 15, 670, 72), '_gridfunc.QuadratureFunction_GetElementIntRule', '_gridfunc.QuadratureFunction_GetElementIntRule', ({(670, 62, 670, 66): 'self', (670, 68, 670, 71): 'idx'}, {}), '(self, idx)', False, 'import _gridfunc\n'), ((682, 15, 682, 73), '_gridfunc.QuadratureFunction_GetElementValues', '_gridfunc.QuadratureFunction_GetElementValues', ({(682, 61, 682, 65): 'self', (682, 67, 682, 72): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((690, 15, 690, 61), '_gridfunc.QuadratureFunction_Save', '_gridfunc.QuadratureFunction_Save', ({(690, 49, 690, 53): 'self', (690, 55, 690, 60): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((695, 15, 695, 73), '_gridfunc.QuadratureFunction_SaveGZ', '_gridfunc.QuadratureFunction_SaveGZ', ({(695, 51, 695, 55): 'self', (695, 57, 695, 61): 'file', (695, 63, 695, 72): 'precision'}, {}), '(self, file, precision)', False, 'import _gridfunc\n'), ((733, 15, 733, 61), '_gridfunc.ExtrudeCoefficient_Eval', '_gridfunc.ExtrudeCoefficient_Eval', ({(733, 49, 733, 53): 'self', (733, 55, 733, 56): 'T', (733, 58, 733, 60): 'ip'}, {}), '(self, T, ip)', False, 'import _gridfunc\n'), ((235, 12, 235, 69), '_gridfunc.GridFunction_GetNodalValues', '_gridfunc.GridFunction_GetNodalValues', ({(235, 50, 235, 54): 'self', (235, 56, 235, 59): 'vec', (235, 61, 235, 68): 'args[0]'}, {}), '(self, vec, args[0])', False, 'import _gridfunc\n'), ((239, 19, 239, 69), '_gridfunc.GridFunction_GetNodalValues', '_gridfunc.GridFunction_GetNodalValues', ({(239, 57, 239, 61): 'self', (239, 63, 239, 68): '*args'}, {}), '(self, *args)', False, 'import _gridfunc\n'), ((541, 46, 541, 79), '_gridfunc.new_GridFunction', '_gridfunc.new_GridFunction', ({(541, 73, 541, 78): '*args'}, {}), '(*args)', False, 'import _gridfunc\n'), ((607, 45, 607, 87), '_gridfunc.new_JumpScaling', '_gridfunc.new_JumpScaling', ({(607, 71, 607, 76): '*args'}, {}), '(*args, **kwargs)', False, 'import _gridfunc\n'), ((632, 52, 632, 91), '_gridfunc.new_QuadratureFunction', '_gridfunc.new_QuadratureFunction', ({(632, 85, 632, 90): '*args'}, {}), '(*args)', False, 'import _gridfunc\n'), ((729, 52, 729, 94), '_gridfunc.new_ExtrudeCoefficient', '_gridfunc.new_ExtrudeCoefficient', ({(729, 85, 729, 86): 'm', (729, 88, 729, 89): 's', (729, 91, 729, 93): 'n_'}, {}), '(m, s, n_)', False, 'import _gridfunc\n')]