#include <CHlcpIterativeSchwarzMPI.h>
List of all members.
Detailed Description
This is an iterative LCP solver that can be used when multiple processes are using ChLcpSystemDescriptorMPI that can communicate via MPI. Hence, the solution comes from a Schwarz alternating method.
Constructor & Destructor Documentation
| chrono::ChLcpIterativeSchwarzMPI::ChLcpIterativeSchwarzMPI |
( |
int |
mdomain_iters = 10, |
|
|
int |
minner_iters = 20, |
|
|
bool |
mwarm_start = false, |
|
|
double |
mtolerance = 0.0, |
|
|
double |
momega = 1.0 |
|
) |
| |
- Parameters:
-
| mdomain_iters | number of outer iterations (Schwarz inter-domain updates) |
| minner_iters | number of inner domain solver iterations |
| mwarm_start | uses warm start? |
| mtolerance | tolerance for termination criterion |
| momega | overrelaxation criterion |
Member Function Documentation
| double chrono::ChLcpIterativeSchwarzMPI::Solve |
( |
ChLcpSystemDescriptor & |
sysd, |
|
|
bool |
add_Mq_to_f = false |
|
) |
| [virtual] |
Performs the solution of the LCP.
- Returns:
- the maximum constraint violation after termination.
- Parameters:
-
| sysd | system description with constraints and variables |
| add_Mq_to_f | if true, takes the initial 'q' and adds [M]*q to 'f' vector |
Implements chrono::ChLcpSolver.