Ejemplo n.º 1
0
    def test_dq_de(self):
        from sfepy.fem import Integrals
        from sfepy.fem.mappings import get_jacobian

        problem = self.problem

        var = problem.create_variables(['us'])['us']
        val = nm.arange(var.n_dof, dtype=var.dtype)
        var.data_from_any(val)

        val1 = problem.evaluate('de_grad.i1.Omega( us )', us=var, mode='el_avg')
        self.report('de_grad: min, max:', val1.min(), val1.max())

        aux = problem.evaluate('dq_grad.i1.Omega( us )', us=var, mode='qp')

        integral = Integrals().get(2, 'v')
        det = get_jacobian(var.field, integral)
        val2 = (aux * det).sum(axis=1) / det.sum(axis=1)
        val2.shape = val1.shape

        self.report('dq_grad: min, max:', val2.min(), val2.max())

        ok = self.compare_vectors(val1, val2,
                                  label1='de mode',
                                  label2='dq mode')
        if not ok:
            self.report('failed')

        return ok
Ejemplo n.º 2
0
def _integrate(var, val_qp):
    from sfepy.fem import Integrals
    from sfepy.fem.mappings import get_jacobian

    integral = Integrals().get(2, 'v')
    det = get_jacobian(var.field, integral)
    val = (val_qp * det).sum(axis=1) / det.sum(axis=1)

    return val
Ejemplo n.º 3
0
def _integrate(var, val_qp):
    from sfepy.fem import Integrals
    from sfepy.fem.mappings import get_jacobian

    integral = Integrals().get(2, 'v')
    det = get_jacobian(var.field, integral)
    val = (val_qp * det).sum(axis=1) / det.sum(axis=1)

    return val