def __call__(self, volume, problem=None, data=None): problem = get_default(problem, self.problem) dim, sym = problem.get_dim(get_sym=True) coef = nm.zeros((sym, sym), dtype=self.dtype) term_mode = self.term_mode equations, variables = problem.create_evaluable(self.expression, term_mode=term_mode) for ir, (irr, icr) in enumerate(iter_sym(dim)): if isinstance(self.set_variables, list): self.set_variables_default(variables, irr, icr, 'row', self.set_variables, data) else: self.set_variables(variables, irr, icr, 'row', **data) for ic, (irc, icc) in enumerate(iter_sym(dim)): if isinstance(self.set_variables, list): self.set_variables_default(variables, irc, icc, 'col', self.set_variables, data) else: self.set_variables(variables, irc, icc, 'col', **data) val = eval_equations(equations, variables, term_mode=term_mode) coef[ir,ic] = val coef /= self._get_volume(volume) return coef
def __call__(self, volume, problem=None, data=None): problem = get_default(problem, self.problem) dim, sym = problem.get_dim(get_sym=True) coef = nm.zeros((sym, sym), dtype=self.dtype) term_mode = self.term_mode equations, variables = problem.create_evaluable(self.expression, term_mode=term_mode) for ir, (irr, icr) in enumerate(iter_sym(dim)): if isinstance(self.set_variables, list): self.set_variables_default(variables, irr, icr, 'row', self.set_variables, data) else: self.set_variables(variables, irr, icr, 'row', **data) for ic, (irc, icc) in enumerate(iter_sym(dim)): if isinstance(self.set_variables, list): self.set_variables_default(variables, irc, icc, 'col', self.set_variables, data) else: self.set_variables(variables, irc, icc, 'col', **data) val = eval_equations(equations, variables, term_mode=term_mode) coef[ir, ic] = val coef /= self._get_volume(volume) return coef
def __call__( self, volume, problem = None, data = None ): problem = get_default( problem, self.problem ) dim, sym = problem.get_dim( get_sym = True ) aux = self.get_filename( data, 0, 0 ) ts = TimeStepper( *HDF5MeshIO( aux ).read_time_stepper() ) coef = nm.zeros( (ts.n_step, sym, sym), dtype = nm.float64 ) equations, variables = problem.create_evaluable(self.expression) for ir, (irr, icr) in enumerate( iter_sym( dim ) ): io = HDF5MeshIO( self.get_filename( data, irr, icr ) ) for step, time in ts: self.set_variables(variables, io, step, None, None, 'row', **data) for ic, (irc, icc) in enumerate( iter_sym( dim ) ): self.set_variables(variables, None, None, irc, icc, 'col', **data) val = eval_equations(equations, variables) coef[step,ir,ic] = val coef /= volume return coef
def __call__( self, volume, problem = None, data = None ): problem = get_default( problem, self.problem ) problem.select_variables( self.variables ) dim, sym = problem.get_dim( get_sym = True ) coef = nm.zeros( (sym, sym), dtype = nm.float64 ) for ir, (irr, icr) in enumerate( iter_sym( dim ) ): for name, val in self.get_variables( problem, irr, icr, data, 'row' ): problem.variables[name].data_from_data( val ) for ic, (irc, icc) in enumerate( iter_sym( dim ) ): for name, val in self.get_variables( problem, irc, icc, data, 'col' ): problem.variables[name].data_from_data( val ) val = eval_term_op( None, self.expression, problem, call_mode = 'd_eval' ) coef[ir,ic] = val coef /= volume return coef
def __call__(self, volume, problem=None, data=None): problem = get_default(problem, self.problem) dim, sym = problem.get_dim(get_sym=True) filename = self.set_variables(None, 0, 0, 'filename', **data) ts = TimeStepper(*HDF5MeshIO(filename).read_time_stepper()) coef = nm.zeros((ts.n_step, sym), dtype=self.dtype) term_mode = self.term_mode equations, variables = problem.create_evaluable(self.expression, term_mode=term_mode) self.set_variables(variables, None, None, 'col', **data) for ii, (ir, ic) in enumerate(iter_sym(dim)): filename = self.set_variables(None, ir, ic, 'filename', **data) io = HDF5MeshIO(filename) for step, time in ts: self.set_variables(variables, io, step, 'row', **data) val = eval_equations(equations, variables, term_mode=term_mode) coef[step, ii] = val coef /= self._get_volume(volume) return coef
def __call__(self, volume, problem=None, data=None): problem = get_default(problem, self.problem) dim, sym = problem.get_dim(get_sym=True) filename = self.set_variables(None, 0, 0, 'filename', **data) ts = TimeStepper(*HDF5MeshIO(filename).read_time_stepper()) coef = nm.zeros((ts.n_step, sym), dtype=self.dtype) term_mode = self.term_mode equations, variables = problem.create_evaluable(self.expression, term_mode=term_mode) self.set_variables(variables, None, None, 'col', **data) for ii, (ir, ic) in enumerate(iter_sym(dim)): filename = self.set_variables(None, ir, ic, 'filename', **data) io = HDF5MeshIO(filename) for step, time in ts: self.set_variables(variables, io, step, 'row', **data) val = eval_equations(equations, variables, term_mode=term_mode) coef[step,ii] = val coef /= self._get_volume(volume) return coef
def __call__( self, volume, problem = None, data = None ): problem = get_default( problem, self.problem ) dim, sym = problem.get_dim( get_sym = True ) coef = nm.zeros( (sym,), dtype = nm.float64 ) equations, variables = problem.create_evaluable(self.expression) self.set_variables(variables, None, None, 'col', **data) for ii, (ir, ic) in enumerate( iter_sym( dim ) ): self.set_variables(variables, ir, ic, 'row', **data) val = eval_equations(equations, variables) coef[ii] = val coef /= volume return coef