Example #1
0
    def prepare_materials(self, field, velo=1.0, diffusion=0.1, penalty=100):
        """
        Crates material objects with data attribute, containing properly shaped
        data to pass to terms

        :param field: DGField
        :param velo: optional values for velocity a
        :param diffusion: optional value for diffusion tensor D
        :param penalty: optional value for diffusion penalty Cw
        :return: a, D, Cw
        """

        a = Material('a', val=[velo])
        a.data = nm.ones((field.n_cell, 1)) * velo

        D = Material('D', val=[diffusion])
        D.data = nm.ones((field.n_cell, 1, 1)) * diffusion

        Cw = Material("Cw", values={".val": penalty})
        Cw.data = penalty

        return a, D, Cw