KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Jacobian emulator. More...
#include <trilinos_mvqn_recursive_convergence_accelerator.hpp>
Public Types | |
Type Definitions | |
typedef std::unique_ptr< TrilinosJacobianEmulator< TSpace > > | Pointer |
typedef TSpace::VectorType | VectorType |
typedef TSpace::VectorPointerType | VectorPointerType |
typedef TSpace::MatrixType | MatrixType |
typedef TSpace::MatrixPointerType | MatrixPointerType |
Public Member Functions | |
Life Cycle | |
TrilinosJacobianEmulator (ModelPart &rInterfaceModelPart, const Epetra_MpiComm &rEpetraCommunicator, Pointer &&OldJacobianEmulatorPointer) | |
TrilinosJacobianEmulator (ModelPart &rInterfaceModelPart, const Epetra_MpiComm &rEpetraCommunicator, Pointer &&OldJacobianEmulatorPointer, const unsigned int EmulatorBufferSize) | |
TrilinosJacobianEmulator (ModelPart &rInterfaceModelPart, const Epetra_MpiComm &rEpetraCommunicator) | |
TrilinosJacobianEmulator (const TrilinosJacobianEmulator &rOther) | |
virtual | ~TrilinosJacobianEmulator () |
Operations | |
void | ApplyPrevStepJacobian (const VectorPointerType pWorkVector, VectorPointerType pProjectedVector) |
void | ApplyJacobian (const VectorPointerType pWorkVector, VectorPointerType pProjectedVector) |
void | AppendColToV (const VectorType &rNewColV) |
void | AppendColToW (const VectorType &rNewColW) |
void | DropAndAppendColToV (const VectorType &rNewColV) |
void | DropAndAppendColToW (const VectorType &rNewColW) |
Protected Attributes | |
Protected member Variables | |
ModelPart & | mrInterfaceModelPart |
const Epetra_MpiComm & | mrEpetraCommunicator |
Pointer | mpOldJacobianEmulator |
std::vector< VectorType > | mJacobianObsMatrixV |
std::vector< VectorType > | mJacobianObsMatrixW |
Jacobian emulator.
typedef TSpace::MatrixPointerType Kratos::TrilinosJacobianEmulator< TSpace >::MatrixPointerType |
typedef TSpace::MatrixType Kratos::TrilinosJacobianEmulator< TSpace >::MatrixType |
typedef std::unique_ptr< TrilinosJacobianEmulator<TSpace> > Kratos::TrilinosJacobianEmulator< TSpace >::Pointer |
typedef TSpace::VectorPointerType Kratos::TrilinosJacobianEmulator< TSpace >::VectorPointerType |
typedef TSpace::VectorType Kratos::TrilinosJacobianEmulator< TSpace >::VectorType |
|
inline |
Old Jacobian pointer constructor. The inverse Jacobian emulator will use information from the previous Jacobian
|
inline |
Old Jacobian pointer constructor with recursive previous Jacobian deleting. The inverse Jacobian emulator will use information from the previous Jacobian
|
inline |
Empty constructor. The Jacobian emulator will consider minus the identity matrix as previous Jacobian
|
inline |
Copy Constructor.
|
inlinevirtual |
Destructor.
|
inline |
Appends a new column to the observation matrix V
newColV | new column to be appended |
|
inline |
Appends a new column to the observation matrix W
newColW | new column to be appended |
|
inline |
Projects the approximated inverse Jacobian onto a vector
rWorkVector | Vector in where the inverse Jacobian is to be projected |
rProjectedVector | Projected vector output |
|
inline |
Projects the previous step approximated inverse Jacobian onto a vector
rWorkVector | Vector in where the inverse Jacobian is to be projected |
rProjectedVector | Projected vector output |
|
inline |
Drops the oldest column and appends a new column to the observation matrix V
newColV | new column to be appended |
|
inline |
Drops the oldest column and appends a new column to the observation matrix W
newColW | new column to be appended |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |