Commit e430729c by Christophe Geuzaine

new SetExtrapolationOrder[] function to choose how we initialize solution in time loops

parent 57412bd7
Pipeline #1460 passed with stage
in 11 minutes 17 seconds
......@@ -1164,6 +1164,9 @@ struct Operation {
struct {
char *residual;
} OptimizerUpdate;
struct {
int order;
} SetExtrapolationOrder;
} Case;
};
......@@ -1317,6 +1320,7 @@ struct IterativeLoopSystem {
#define OPERATION_OPTIMIZER_INITIALIZE 107
#define OPERATION_OPTIMIZER_UPDATE 108
#define OPERATION_OPTIMIZER_FINALIZE 109
#define OPERATION_SETEXTRAPOLATIONORDER 110
/* ChangeOfState.Type */
#define CHANGEOFSTATE_NOCHANGE 0
......
......@@ -388,6 +388,7 @@ SendToServer return tSendToServer;
SetCommSelf return tSetCommSelf;
SetCommWorld return tSetCommWorld;
SetDTime return tSetDTime;
SetExtrapolationOrder return tSetExtrapolationOrder;
SetFrequency return tSetFrequency;
SetGlobalSolverOptions return tSetGlobalSolverOptions;
SetNumber return tSetNumber;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -321,6 +321,7 @@ struct doubleXstring{
%token tNbrMaxIteration tRelaxationFactor
%token tIterativeTimeReduction
%token tSetCommSelf tSetCommWorld tBarrier tBroadcastFields tBroadcastVariables
%token tSetExtrapolationOrder
%token tSleep
%token tDivisionCoefficient tChangeOfState
%token tChangeOfCoordinates tChangeOfCoordinates2 tSystemCommand tError
......@@ -4650,6 +4651,13 @@ OperationTerm :
Operation_P->Case.Sleep.ExpressionIndex = $3;
}
| tSetExtrapolationOrder '[' FExpr ']' tEND
{ Operation_P = (struct Operation*)
List_Pointer(Operation_L, List_Nbr(Operation_L)-1);
Operation_P->Type = OPERATION_SETEXTRAPOLATIONORDER;
Operation_P->Case.SetExtrapolationOrder.order = (int)$3;
}
| tSetCommSelf tEND
{ Operation_P = (struct Operation*)
List_Pointer(Operation_L, List_Nbr(Operation_L)-1);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -4879,6 +4879,12 @@ Aborts an iterative loop, a time loop or a While loop.
Sleeps for @var{expression} seconds;
@item SetExtrapolationOrder
@code{[@var{expression-cst}]}
Chooses the extrapolation order to compute the initialization of the
solution vector in time loops. Default is 0.
@item Print
@code{[ @{ @var{expression-list} @} <, File @var{expression-char} > <, Format @var{expression-char} > ]}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment