1 // GetDP - Copyright (C) 1997-2021 P. Dular and C. Geuzaine, University of Liege
2 //
3 // See the LICENSE.txt file for license information. Please report all
4 // issues on https://gitlab.onelab.info/getdp/getdp/issues.
5 
6 #ifndef CAL_QUANTITY_H
7 #define CAL_QUANTITY_H
8 
9 #include "ProData.h"
10 #include "ListUtils.h"
11 
12 void  Get_ValueOfExpression(struct Expression *Expression_P,
13 			    struct QuantityStorage *QuantityStorage_P0,
14 			    double u, double v, double w,
15 			    struct Value *Value,
16 			    int NbrArguments=0,
17 			    char *CallingExpressionName=NULL);
18 
19 void  Get_ValueOfExpressionByIndex(int Index_Expression,
20 				   struct QuantityStorage *QuantityStorage_P0,
21 				   double u, double v, double w,
22 				   struct Value *Value);
23 
24 void  Cal_WholeQuantity(struct Element *Element,
25 			struct QuantityStorage *QuantityStorage_P0,
26 			List_T *WholeQuantity_L,
27 			double u, double v, double w,
28 			int Index_Dof, int Nbr_Dof, struct Value DofValue[],
29 			int NbrArguments=0, char *ExpressionName=NULL);
30 
31 void Cal_StoreInRegister(struct Value *Value, int RegisterIndex);
32 
33 void Cal_StoreInVariable(struct Value *Value, const char *name);
34 void Cal_GetValueSaved(struct Value *Value, const char *name);
35 std::map<std::string, struct Value> &Get_AllValueSaved();
36 
37 bool Is_ExpressionConstant(struct Expression *Expression_P);
38 
39 #endif
40