Jacobian emulator.
More...
#include <mvqn_recursive_convergence_accelerator.hpp>
template<class TSpace>
class Kratos::JacobianEmulator< TSpace >
Jacobian emulator.
◆ MatrixPointerType
◆ MatrixType
◆ Pointer
◆ VectorPointerType
◆ VectorType
◆ JacobianEmulator() [1/4]
Old Jacobian pointer constructor. The inverse Jacobian emulator will use information from the previous Jacobian
◆ JacobianEmulator() [2/4]
Old Jacobian pointer constructor with recursive previous Jacobian deleting. The inverse Jacobian emulator will use information from the previous Jacobian
◆ JacobianEmulator() [3/4]
Empty constructor. The Jacobian emulator will consider minus the identity matrix as previous Jacobian
◆ JacobianEmulator() [4/4]
◆ ~JacobianEmulator()
◆ AppendDataColumns()
Appends a two new columns to the observation matrices V and W Then, it checks if the new information columns are linear dependent to the existent ones by computing a QR decomposition and checking the diagonal coefficients of matrix R. If any value is less than the stablished threshold criterion, it is assume that the related column is close to be linear deppendent and is dropped.
- Parameters
-
rNewColV | new column to be appended to V observation matrix |
rNewColW | new column to be appended to W observation matrix |
AbsCutOffEps | epsilon value for the absolut cut-off criteria |
- Returns
- Returns true if the columns have been added
◆ ApplyJacobian()
Projects the approximated inverse Jacobian onto a vector
- Parameters
-
rWorkVector | Vector in where the inverse Jacobian is to be projected |
rProjectedVector | Projected vector output |
◆ DropAndAppendDataColumns()
Calls the AppendDataColumns() method to add the new data columns to the observation matrices (provided that the new data columns are not linear dependent to the previous data). Then, if the information has been added, the oldest column is dropped to avoid the number of data columns become larger than the problem size.
- Parameters
-
rNewColV | new column to be appended to V observation matrix |
rNewColW | new column to be appended to W observation matrix |
CutOffEps | epsilon value for the cut-off criteria |
◆ GetNumberOfDataCols()
Get the Number Of Data Cols object This function returns the number of data columns stored. Since the data columns is assumed (and must be) the same in both observation matrices, it is computed using V matrix.
- Returns
- std::size_t number of data columns
◆ GetResidualSize()
Get the Residual Size object This function returns the interface residual size. Since the residual size is assumed (and must be) the same in every column for both observation matrices, it is computed using the first column of V matrix.
- Returns
- std::size_t residual size
The documentation for this class was generated from the following file: