def compute_integral(self, where=None, as_value=True): ocaml.lam_get_field(self.lam, self.master, self.get_lam_name()) dof_stem = "" if where != None: if type(where) == str: where = [where] dof_stem = ["%s_%s" % (self.name, mat_name) for mat_name in where] raw_result = nfem.integrate_field(self.master, dof_stem) if not as_value: return raw_result u = self.unit * self.volume_unit if self.def_on_mat: v = Value() for mat_name, data in raw_result: v.set(mat_name, data, u) return v else: assert len(raw_result) == 1 name, data = raw_result[0] return Value(data, u)
def get_updated_master(self): master = self.master ocaml.lam_get_field(self.lam, master, self.get_lam_name()) return master