My Project
|
The common code for the linearizers of non-linear systems of equations. More...
#include <tpfalinearizer.hh>
Public Member Functions | |
void | init (Simulator &simulator) |
Initialize the linearizer. | |
void | eraseMatrix () |
Causes the Jacobian matrix to be recreated from scratch before the next iteration. | |
void | linearize () |
Linearize the full system of non-linear equations. | |
void | linearizeDomain () |
Linearize the part of the non-linear system of equations that is associated with the spatial domain. | |
template<class SubDomainType > | |
void | linearizeDomain (const SubDomainType &domain) |
Linearize the part of the non-linear system of equations that is associated with a part of the spatial domain. | |
void | finalize () |
void | linearizeAuxiliaryEquations () |
Linearize the part of the non-linear system of equations that is associated with the spatial domain. | |
const SparseMatrixAdapter & | jacobian () const |
Return constant reference to global Jacobian matrix backend. | |
SparseMatrixAdapter & | jacobian () |
const GlobalEqVector & | residual () const |
Return constant reference to global residual vector. | |
GlobalEqVector & | residual () |
void | setLinearizationType (LinearizationType linearizationType) |
const LinearizationType & | getLinearizationType () const |
const auto & | getFlowsInfo () const |
Return constant reference to the flowsInfo. | |
const auto & | getFloresInfo () const |
Return constant reference to the floresInfo. | |
const auto & | getVelocityInfo () const |
Return constant reference to the velocityInfo. | |
void | updateDiscretizationParameters () |
void | updateBoundaryConditionData () |
const std::map< unsigned, Constraints > | constraintsMap () const |
Returns the map of constraint degrees of freedom. | |
template<class SubDomainType > | |
void | resetSystem_ (const SubDomainType &domain) |
void | setResAndJacobi (VectorBlock &res, MatrixBlock &bMat, const ADVectorBlock &resid) const |
void | updateFlowsInfo () |
Static Public Member Functions | |
static void | registerParameters () |
Register all run-time parameters for the Jacobian linearizer. | |
The common code for the linearizers of non-linear systems of equations.
This class assumes that these system of equations to be linearized are stemming from models that use an finite volume scheme for spatial discretization and an Euler scheme for time discretization.
|
inline |
Returns the map of constraint degrees of freedom.
(This object is only non-empty if the EnableConstraints property is true.)
|
inline |
Causes the Jacobian matrix to be recreated from scratch before the next iteration.
This method is usally called if the sparsity pattern has changed for some reason. (e.g. by modifications of the grid or changes of the auxiliary equations.)
|
inline |
Return constant reference to the floresInfo.
(This object is only non-empty if the FLORES keyword is true.)
|
inline |
Return constant reference to the flowsInfo.
(This object is only non-empty if the FLOWS keyword is true.)
|
inline |
Return constant reference to the velocityInfo.
(This object is only non-empty if the DISPERC keyword is true.)
|
inline |
Initialize the linearizer.
At this point we can assume that all objects in the simulator have been allocated. We cannot assume that they are fully initialized, though.
|
inline |
Linearize the full system of non-linear equations.
The linearizationType() controls the scheme used and the focus time index. The default is fully implicit scheme, and focus index equal to 0, i.e. current time (end of step).
This linearizes the spatial domain and all auxiliary equations.
|
inline |
Linearize the part of the non-linear system of equations that is associated with the spatial domain.
That means that the global Jacobian of the residual is assembled and the residual is evaluated for the current solution.
The current state of affairs (esp. the previous and the current solutions) is represented by the model object.
|
inline |
Linearize the part of the non-linear system of equations that is associated with a part of the spatial domain.
That means that the Jacobian of the residual is assembled and the residual is evaluated for the current solution, on the domain passed in as argument.
The current state of affairs (esp. the previous and the current solutions) is represented by the model object.