示例#1
0
    def linearize(self):
	""" Calculate adjoint and read it in """
	
        for name in _obj_names:
            config_in.ADJ_OBJ_FUNC = name
            state = adjoint(self.config_in)
            csvname = self.config_in.SURFACE_ADJ_FILENAME+'.csv'
            suffix = SU2.io.tools.get_adjointSuffix(name)
            csvname = SU2.io.tools.add_suffix(csvname, suffix)
示例#2
0
    def linearize(self):
        """ Create jacobian from adjoint results."""

        self.J = None
        for i, name in enumerate(_obj_names):
            self.config_in.ADJ_OBJFUNC = name
            state = adjoint(self.config_in)
            restart2solution(self.config_in, state)
            csvname = self.config_in.SURFACE_ADJ_FILENAME+'.csv'
            col = get_sensitivities(csvname)
            if self.J is None:
                self.J = np.zeros((len(col),len(_obj_names)))
            self.J[:,i] = np.array(col)
示例#3
0
    def provideJ(self):
        """ Create jacobian from adjoint results."""

        if self._first_lin:
            self._first_lin = False
        else:
            self.config_in.RESTART_SOL = "YES"

        self.J = None
        for i, name in enumerate(_obj_names):
            self.config_in.ADJ_OBJFUNC = name
            state = adjoint(self.config_in)
            restart2solution(self.config_in, state)
            csvname = self.config_in.SURFACE_ADJ_FILENAME + '.csv'
            col = get_sensitivities(csvname)
            if self.J is None:
                self.J = np.zeros((len(col), len(_obj_names)))
            self.J[:, i] = np.array(col)
示例#4
0
    def provideJ(self):
        """ Create jacobian from adjoint results."""

        if self._first_lin:
            self._first_lin = False
        else:
            self.config_in.RESTART_SOL = "YES"

        self.J = None
        for i, name in enumerate(_obj_names):
            self.config_in.ADJ_OBJFUNC = name
            state = adjoint(self.config_in)
            restart2solution(self.config_in, state)
            csvname = self.config_in.SURFACE_ADJ_FILENAME+'.csv'
            col = get_sensitivities(csvname)
            if self.J is None:
                self.J = np.zeros((len(col),len(_obj_names)))
            self.J[:,i] = np.array(col)