Click here to download the latest version of PhiPsi.
Click here to download the latest version of PPView.
Define initial cracks, voids (holes) and inclusions
Definition of material parameters
Hydraulic fracturing simulation
Coupling of degrees of freedom
Keyword lines are in no particular order.
Lines starting with "%" are comments.
The keyword line starts with "*", followed by a corresponding data line (multiple data are separated by commas ","). For example:
*num_Crack
2
*InSitu_S1_nv_3D
1.0,0.0,0.0
Keywords are not case sensitive.
Support parameter definition. For example:
num_of_crack = 2
*num_Crack
num_of_crack
Support basic four arithmetic operations (
*num_Crack
1+1
*INI_CRACK_PRESSURE_1
(15.0e6-10.0e6)*(3.0-1.0)
Time_Hour=1.0
*INJECTION_T_STAGES_WELLBORES_1_1
Time_hour*60*60
*Work_Dirctory - File location of the input files of PhiPsi, i.e., the work directory.
Keyword example:
*Work_Directory
X:\PhiPsi_Work\FEM
*Filename - Filename of the input files of PhiPsi (all input files have the same filename).
Keyword example:
*Filename
FEM
*Key_Unit_System - Unit system.
= 1, international system of units (default);
= 2, mm-ton-s.
Keyword example:
*Key_Unit_System
1 % SI.
*Key_Dimension - The dimension of the problem.
= 2, two-dimension (Plane stress or plane strain)
= 3, three-dimension
Keyword example:
*Key_Dimension
2 % 2D problem.
*Key_Type_2D - Define plane stress or plane strain for 2D problems.
= 1, plane stress;
= 2, plane strain (default).
Keyword example:
*Key_Type_2D
2 % plane strain.
*Key_Analysis_Type - Analysis type.
= 1, quasi-static (default);
= 2, implicit dynamic;
= 3, hydraulic fracturing simulation;
= 4, hydraulic fracturing simulation with slick water;
= 7, nonlinear problem (such as plastic deformation problem);
= 15, field problem (such as heat transfer problem).
Keyword example:
*Key_Analysis_Type
1 % quasi-static.
*Key_SIFs_Method - Method to calculate the stress intensity factors (SIFs).
= 1, displacement interpolation method (DIM; default);
= 2, the interaction integral method.
Keyword example:
*Key_SIFs_Method
2 % the interaction integral method.
*Key_SIFs_DIM_Points - Number of points to calculate SIFs using DIM method (default to 2).
Keyword example:
*Key_SIFs_DIM_Points
2
*Key_SIFs_DIM_Method - Model assumption of the DIM method.
= 1, plane stress (default);
= 2, plane strain.
Keyword example:
*Key_SIFs_DIM_Method
2
*Key_Print_SIFs_to_Screen - Print SIFs to screen / terminal.
= 0, do not print SIFs to screen / terminal (default);
= 1, print SIFs to screen / terminal.
Keyword example:
*Key_Print_SIFs_to_Screen
1
*Key_Contact - Consider contact between crack surfaces or not.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Contact
1 % Active contact between crack surfaces.
*Max_Contact_Iter - The maximum number of contact iterations (default to 50).
Keyword example:
*Max_Contact_Iter
10
*fric_mu_Cont - Friction coefficient of crack surfaces (default to 0.3).
Keyword example:
*fric_mu_Cont
0.4
*kn_Cont_Penalty - Normal penalty stiffness of crack surfaces (default to 1.0e13).
Keyword example:
*kn_Cont_Penalty
1.0e12
*kt_Cont_Penalty - Tangential penalty stiffness of crack surfaces (default to 1.0e13).
Keyword example:
*kt_Cont_Penalty
1.0e12
*Conve_Tol_Penalty - Convergence tolerance for the contact iteration (default to 1.0e-5).
Keyword example:
*Conve_Tol_Penalty
1.0e-4
*Num_Substeps - Number of steps need to be performed.
Keyword example:
*Num_Substeps
10
*CFCP - Criterion of crack propagation.
= 1, maximum tensile circumferential stress criterion (default);
= 2, maximum principal tensile stress criterion;
= 3, Schollmann’s criterion;
= 4, maximum shear stress criterion.
Keyword example:
*CFCP
2 % Maximum principal tensile stress criterion.
*Key_CFCP_3_Type - Crack growth behavior for the Schollmann’s criterion.
= 1, crack grows only when the equivalent stress intensity factor is greater than the fracture toughness
= 2, crack grows when the equivalent stress intensity factor is greater than zero.
Keyword example:
*Key_CFCP_3_Type
2
*Key_TipEnrich - Crack tip enrichment type.
= 0, no crack tip enrichment, the crack tip is automatically adjusted to the element boundary;
= 1, standard crack tip enrichment (4 items,
= 2, keep only the first item (
= 3, not available yet;
= 4, Cohesive crack tip_cohesive crack (only 1 enrichment function item).
Keyword example:
*Key_TipEnrich
1
*Key_Fd_TipEnrich - Crack tip enrichment type for field problems.
= 0, no crack tip enrichment, the crack tip is automatically adjusted to the element boundary;
= 1, strong discontinuity crack tip enrichment (enrichment function is
= 2, weak discontinuity crack tip enrichment (enrichment function is
Keyword example:
*Key_Fd_TipEnrich
1
*Key_InPlane_Growth - 3D Plannar or nonplanar crack propagation.
= 0, nonplanar crack propagation (default);
= 1, planar crack propagation.
Keyword example:
*Key_InPlane_Growth
1
*Key_Scheme_Signed_Dis_InPlane - Scheme to calculate the signed distance for 3D plannar crack.
= 1, slow and robuts (default);
= 2, fast but not robuts.
= 3, more fast but not robuts. Keyword example:
% Fast scheme to calculte the signed distance to plannar crack.
*Key_Scheme_Signed_Dis_InPlane
2
*Key_Allow_3D_Outside_Crack - Allow the 3D cracks to be outside the model.
= 0, does not allow the cracks to be outside the model (default);
= 1, allow the cracks to be outside the model.
Keyword example:
*Key_Allow_3D_Outside_Crack
1
*Key_Stop_Outside_Crack - Do not allow cracks to grow outside the model.
= 0, allow cracks to grow outside the model (default);
= 1, do not allow cracks to grow outside the model.
Keyword example:
*Key_Stop_Outside_Crack
1
*Key_Denoise_Vertex_Value - Denoise vertex values for 3D cracks.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Denoise_Vertex_Value
1
*Key_Smooth_Vertex_Value - Smooth vertex values for 3D cracks.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Smooth_Vertex_Value
1
*Key_Smooth_GF_Value - Smooth the propagation for 3D cracks.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Smooth_GF_Value
1
*Key_Smooth_Front - 3D crack propagation front vertex smoothing scheme.
= 0, do not smooth crack front (default);
= 1, Smooth the crack front edge according to the straight line equation;
= 2, According to the equation of the circle;
= 3, CSAPS cubic spline fitting;
= 4, B-spline curve fitting;
= 5, According to the equation of ellipse;
= 6, Taubin smoothing algorithm.
Keyword example:
*Key_Smooth_Front
6
*Key_Force_Control - The method to control the value of the applied force for each step.
= 1, the force is applied all at once (default);
= 2, the applied force increases linearly in each step;
= 3, not available yet;
= 4, special scheme for cohesive crack;
= 5, make sure that only one crack grows in each step.
Keyword example:
*Key_Force_Control
1
*Key_Initiation - Allow the formation of new cracks.
= 0, no (default);
= 1, yes.
Keyword example:
% New cracks are allowed to be generated.
*Key_Initiation
1
*Key_Ini_Rule - Ruls for the formation of new cracks.
= 1, maximum tensile stress criterion (default);
= 2, maximum shear stress criterion;
= 3, concrete.
Keyword example:
% New cracks are allowed to be generated.
*Key_Ini_Rule
1
*Key_Ini_Cr_3D_Type - Shape of newly formed cracks.
= 1, circular (default);
= 2, rectangle.
Keyword example:
*Key_Ini_Cr_3D_Type
1
*Size_Ini_Crack - Size of newly formed cracks. For a 3D circular crack, Size_Ini_Crack represnts the diameter.
Keyword example:
*Size_Ini_Crack
0.5
*Key_Max_Num_Initiation_Cracks - Maximum number of cracks allowed to be newly formed (default to 1).
Keyword example:
*Key_Max_Num_Initiation_Cracks
10
*Key_Propagation - Propagation of cracks.
= 0, cracks are not allowed to propagate;
= 1, cracks are allowed to propagate (default).
Keyword example:
% Cracks are allowed to propagate.
*Key_Propagation
1
*MAT_ALLOW_CRACK_INITIATION_1 - MAT_ALLOW_CRACK_INITIATION_20 - Allow the formation of new cracks in material type
= 0, do not allow;
= 1, allow (default).
Keyword example:
% Do not allow the formation of new cracks in material type 2.
*MAT_ALLOW_CRACK_INITIATION_2
0
*Cracks_Allow_Propa - Allow cracks 1 to
= 0, does not allow cracks to propagate;
= 1, allow cracks to propagate (default).
Keyword example:
*Cracks_Allow_Propa
1,1,1,1,1,0,0,0,0,0 % Allow cracks 1 to 5 to propagate, and does not allow the propagation of cracks 6 to 10.
*Key_CS_Natural_Crack - Using penalty function method to simulate contact of natural cracks.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_CS_Natural_Crack
1
*Key_Check_and_Adjust_Cracks_3D - Check and adjust initial 3D cracks.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Check_and_Adjust_Cracks_3D
1
*Factor_Propagation - Factor of propagation length of cracks, i.e., propagation length
Keyword example:
*Factor_Propagation
1.5
*Propagation_Length - Propagation length of cracks during a propagation step (Unit:
Keyword example:
*Propagation_Length
0.010
*Key_Fracture_Zone - Define propagation zone, i.e., cracks are allowed to propagate just inside the propagation zone.
= 0, no propagation zone (default);
= 1, define a propagation zone.
Keyword example:
*Key_Fracture_Zone
1
*Frac_Zone_MinX - Minimum value of range
Keyword example:
*Frac_Zone_MinX
4.0e-3
*Frac_Zone_MinY - Minimum value of range
Keyword example:
*Frac_Zone_MinY
4.0e-3
*Frac_Zone_MinZ - Minimum value of range
Keyword example:
*Frac_Zone_MinZ
4.0e-3
*Frac_Zone_MaxX - Maximum value of range
Keyword example:
*Frac_Zone_MaxX
50.0e-3
*Frac_Zone_MaxY - Maximum value of range
Keyword example:
*Frac_Zone_MaxY
50.0e-3
*Frac_Zone_MaxZ - Maximum value of range
Keyword example:
*Frac_Zone_MaxZ
50.0e-3
*Key_Ini_Crack_Zone - Define a zone for crack initiation, i.e., initial cracks are allowed to be created just inside the given zone.
= 0, no (default);
= 1, define a crack initiation zone.
Keyword example:
*Key_Ini_Crack_Zone
1
*Ini_Crack_Zone_MinX - Minimum value of range
Keyword example:
*Ini_Crack_Zone_MinX
4.0e-3
*Ini_Crack_Zone_MinY - Minimum value of range
Keyword example:
*Ini_Crack_Zone_MinY
4.0e-3
*Ini_Crack_Zone_MaxX - Maximum value of range
Keyword example:
*Ini_Crack_Zone_MaxX
4.0e-3
*Ini_Crack_Zone_MaxY - Maximum value of range
Keyword example:
*Ini_Crack_Zone_MaxY
50.0e-3
*Key_InSitu_Strategy - In-situ stress.
= 0, does not consider initial stress issues;
= 1, the displacement field generated by in-situ stress is processed through linear superposition;
= 2, use the method proposed in the book 'The Finite Element Method: its Basis and Fundamentals';
= 3, shield the applied in-situ stress (only for hydraulic fracturing analysis);
= 4, specify the initial stress or read from the initial stress file.
Keyword example:
*Key_InSitu_Strategy
4
*Key_Read_Initial_Node_Stress_File - Read In-situ stress from the initial stress file (.istn file) when Key_InSitu_Strategy = 4. *.istn file is the initial stress file of all nodes. The number of rows of this file is the same as the total number of nodes. There are 6 data per row:
= 0, define In-situ stress manualy (default);
= 1, read In-situ stress from the initial stress file (*.istn file).
Keyword example:
*Key_InSitu_Strategy
4
*Key_Read_Initial_Node_Stress_File
1
*InSitu_S1_3D - In-situ stress
*Key_InSitu_Strategy
4
*InSitu_S1_3D
10.0e6
*InSitu_S1_nv_3D - Normal vector of In-situ stress
*Key_InSitu_Strategy
4
*InSitu_S1_3D
10.0e6
*InSitu_S1_nv_3D
1.0,0.0,0.0
*InSitu_S2_3D - In-situ stress
*Key_InSitu_Strategy
4
*InSitu_S2_3D
20.0e6
*InSitu_S2_nv_3D - Normal vector of In-situ stress
*Key_InSitu_Strategy
4
*InSitu_S2_3D
20.0e6
*InSitu_S2_nv_3D
0.0,1.0,0.0
*InSitu_S3_3D - In-situ stress
*Key_InSitu_Strategy
4
*InSitu_S3_3D
5.0e6
*InSitu_S3_nv_3D - Normal vector of In-situ stress
*Key_InSitu_Strategy
4
*InSitu_S3_3D
5.0e6
*InSitu_S3_nv_3D
0.0,0.0,1.0
*Key_Nonuniform_InSitu_X_with_Z - Apply Nonuniform InSitu stress in X direction (changing with Z) when Key_InSitu_Strategy = 4. Keyword example:
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_X_with_Z
1
*InSitu_Sx_3D_Seg_Strs_X_with_Z - Sx stresses when Key_Nonuniform_InSitu_X_with_Z=1 and Key_InSitu_Strategy = 4. Keyword example:
% In this example, three different stress zones (with different stress values of 15, 10, and 5 MPa, respectively) are defined.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_X_with_Z
1
*InSitu_Sx_3D_Seg_Strs_X_with_Z
15.0e6,10.0e6,5.0e6
*InSitu_Sx_3D_Seg_Loca_X_with_Z - Location of Sx stresses when Key_Nonuniform_InSitu_X_with_Z=1 and Key_InSitu_Strategy = 4. Keyword example:
% In this example, along the z-direction, the stress-x in the zone (0.0, 110.0) is 15.0 MPa, the stress-x in the zone (110.0, 140.0) is 10.0 MPa, and the stress-x in the zone (140.0, 250.0) is 5.0 MPa.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_X_with_Z
1
*InSitu_Sx_3D_Seg_Strs_X_with_Z
15.0e6,10.0e6,5.0e6
*InSitu_Sx_3D_Seg_Loca_X_with_Z
0.0,110.0,140.0,250.0
*Key_Nonuniform_InSitu_X_with_Y - Apply nonuniform InSitu stress in X direction (changing with Y) when Key_InSitu_Strategy = 4. Keyword example:
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_X_with_Z
1
*InSitu_Sx_3D_Seg_Strs_X_with_Y - Sx stresses when Key_Nonuniform_InSitu_X_with_Y=1 and Key_InSitu_Strategy = 4. Keyword example:
% In this example, three different stress zones (with different stress values of 15, 10, and 15 MPa, respectively) are defined.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_X_with_Z
1
*InSitu_Sx_3D_Seg_Strs_X_with_Y
15.0e6,10.0e6,15.0e6
*InSitu_Sx_3D_Seg_Loca_X_with_Y - Locations of Sx stresses when Key_Nonuniform_InSitu_X_with_Y=1 and Key_InSitu_Strategy = 4. Keyword example:
% In this example, along the y-direction, the stress-x in the zone (0.0, 110.0) is 15.0 MPa, the stress-x in the zone (110.0, 140.0) is 10.0 MPa, and the stress-x in the zone (140.0, 250.0) is 15.0 MPa.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_X_with_Y
1
*InSitu_Sx_3D_Seg_Strs_X_with_Y
15.0e6,10.0e6,15.0e6
*InSitu_Sx_3D_Seg_Loca_X_with_Y
0.0,110.0,140.0,250.0
*Key_Nonuniform_InSitu_Y_with_Z - Apply nonuniform InSitu stress in Y direction (changing with Z) when Key_InSitu_Strategy = 4. Keyword example:
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Y_with_Z
1
*InSitu_Sy_3D_Seg_Strs_Y_with_Z - Sy stresses when Key_Nonuniform_InSitu_Y_with_Z=1 and Key_InSitu_Strategy = 4.
Keyword example:
% In this example, three different stress zones (with different stress values of 15, 10, and 15 MPa, respectively) are defined.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Y_with_Z
1
*InSitu_Sy_3D_Seg_Strs_Y_with_Z
15.0e6,10.0e6,15.0e6
*InSitu_Sy_3D_Seg_Loca_Y_with_Z - Locations of Sy stresses when Key_Nonuniform_InSitu_Y_with_Z=1 and Key_InSitu_Strategy = 4. Keyword example:
% In this example, along the z-direction, the stress-y in the zone (0.0, 110.0) is 15.0 MPa, the stress-y in the zone (110.0, 140.0) is 10.0 MPa, and the stress-y in the zone (140.0, 250.0) is 15.0 MPa.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Y_with_Z
1
*InSitu_Sy_3D_Seg_Strs_Y_with_Z
15.0e6,10.0e6,15.0e6
*InSitu_Sy_3D_Seg_Loca_Y_with_Z
0.0,110.0,140.0,250.0
*Key_Nonuniform_InSitu_Y_with_X - Apply nonuniform InSitu stress in Y direction (changing with X) when Key_InSitu_Strategy = 4. Keyword example:
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Y_with_X
1
*InSitu_Sy_3D_Seg_Strs_Y_with_X - Sy stresses when Key_Nonuniform_InSitu_Y_with_X=1 and Key_InSitu_Strategy = 4.
Keyword example:
% In this example, three different stress zones (with different stress values of 15, 10, and 15 MPa, respectively) are defined.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Y_with_X
1
*InSitu_Sy_3D_Seg_Strs_Y_with_X
15.0e6,10.0e6,15.0e6
*InSitu_Sy_3D_Seg_Loca_Y_with_X - Locations of Sy stresses when Key_Nonuniform_InSitu_Y_with_X=1 and Key_InSitu_Strategy = 4. Keyword example:
% In this example, along the x-direction, the stress-y in the zone (0.0, 110.0) is 15.0 MPa, the stress-y in the zone (110.0, 140.0) is 10.0 MPa, and the stress-y in the zone (140.0, 250.0) is 15.0 MPa.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Y_with_X
1
*InSitu_Sy_3D_Seg_Strs_Y_with_X
15.0e6,10.0e6,15.0e6
*InSitu_Sy_3D_Seg_Loca_Y_with_X
0.0,110.0,140.0,250.0
*Key_Nonuniform_InSitu_Z_with_X - Apply nonuniform InSitu stress in Z direction (changing with X) when Key_InSitu_Strategy = 4. Keyword example:
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Z_with_X
1
*InSitu_Sz_3D_Seg_Strs_Z_with_X - Sz stresses when Key_Nonuniform_InSitu_Z_with_X=1 and Key_InSitu_Strategy = 4.
Keyword example:
% In this example, three different stress zones (with different stress values of 15, 10, and 15 MPa, respectively) are defined.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Z_with_X
1
*InSitu_Sz_3D_Seg_Strs_Z_with_X
15.0e6,10.0e6,15.0e6
*InSitu_Sz_3D_Seg_Loca_Z_with_X - Locations of Sz stresses when Key_Nonuniform_InSitu_Z_with_X=1 and Key_InSitu_Strategy = 4. Keyword example:
% In this example, along the x-direction, the stress-z in the zone (0.0, 110.0) is 15.0 MPa, the stress-y in the zone (110.0, 140.0) is 10.0 MPa, and the stress-y in the zone (140.0, 250.0) is 15.0 MPa.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Z_with_X
1
*InSitu_Sz_3D_Seg_Strs_Z_with_X
15.0e6,10.0e6,15.0e6
*InSitu_Sz_3D_Seg_Loca_Z_with_X
0.0,110.0,140.0,250.0
*Key_Nonuniform_InSitu_Z_with_Y - Apply nonuniform InSitu stress in Z direction (changing with Y) when Key_InSitu_Strategy = 4. Keyword example:
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Z_with_Y
1
*InSitu_Sz_3D_Seg_Strs_Z_with_Y - Sz stresses when Key_Nonuniform_InSitu_Z_with_Y=1 and Key_InSitu_Strategy = 4.
Keyword example:
% In this example, three different stress zones (with different stress values of 15, 10, and 15 MPa, respectively) are defined.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Z_with_Y
1
*InSitu_Sz_3D_Seg_Strs_Z_with_Y
15.0e6,10.0e6,15.0e6
*InSitu_Sz_3D_Seg_Loca_Z_with_Y - Locations of Sz stresses when Key_Nonuniform_InSitu_Z_with_Y=1 and Key_InSitu_Strategy = 4. Keyword example:
% In this example, along the y-direction, the stress-z in the zone (0.0, 110.0) is 15.0 MPa, the stress-y in the zone (110.0, 140.0) is 10.0 MPa, and the stress-y in the zone (140.0, 250.0) is 15.0 MPa.
*Key_InSitu_Strategy
4
*Key_Nonuniform_InSitu_Z_with_Y
1
*InSitu_Sz_3D_Seg_Strs_Z_with_Y
15.0e6,10.0e6,15.0e6
*InSitu_Sz_3D_Seg_Loca_Z_with_Y
0.0,110.0,140.0,250.0
*Key_Gravity - Gravity.
= 0, no gravity (default);
= 1, apply gravity to the whole model.
Keyword example:
*Key_Gravity
1 % Active gravity.
*g_X_Y_Z - Values of gravitational acceleration in
1, gravitational acceleration in
2, gravitational acceleration in
3, gravitational acceleration in
Keyword example:
*g_X_Y_Z
0,0,9.8 % Set gravitational acceleration in z direction.
*KEY_RANDOM_SCHEME - Random generation.
= 0, randomly generates, but the generated results remain unchanged;
= 1, randomly generates and the generated results are different (default);
= 2, randomly generates with a given seed.
= 3, randomly generates with a seed, seed is randomly generated.
Keyword example:
*Key_Random
2
*Seed - Seed for random generation (when *Key_Random=4).
Keyword example:
*Key_Random
2
*Seed
12345 % Can be arbitrary integer.
*Key_Crack_Aperture_Method - Method to calculate crack aperture.
= 1, equation (default);
= 2, according to displacements of points on both sides of the fracture surface.
Keyword example:
*Key_Crack_Aperture_Method
1
*Key_SLOE - Select the solver of linear system.
= 1, the direct solver (Finding the inverse matrix);
= 2, Gaussian elimination;
= 3, Pardiso (Only available for Intel Fortran compiler);
= 4, ITPACK (Iterative method);
= 5, LAPACK (Default);
= 6, MUMPS (Direct method);
= 7, UMFPACK (Direct method - Multifrontal LU factorization);
= 8, Lis (Iterative method);
= 9, SuperLU (Direct method);
= 10, Y12m (Gaussian elimination);
= 11, EBE-PCG (Element-by-element preconditioned conjugate gradient solver);
= 12, STRUMPACK (Direct solver for sparse and dense rank-structured linear systems).
Keyword example:
*Key_SLOE
11 % EBE-PCG solver.
*Key_K_Sparse - Assemble the stiffness matrix K in Sparse format (Compressed Sparse Row (CSR) format) to reduce the memory usage. This keyword is available for solvers 6, 7, 8, 9, and 12. If you're working with large-scale models, we recommend either selecting solver 11 or activating sparse matrix storage by setting *Key_K_Sparse = 1 when using other available solvers.
= 0, assemble the stiffness matrix K in full format (default);
= 1, assemble the stiffness matrix K in Compressed Sparse Row (CSR) format.
Keyword example:
*Key_SLOE
8 % Lis solver.
*Key_K_Sparse
1 % Assemble the K matrix in CSR format.
*Key_EBE_Precondition - Preconditioner for EBE-PCG solver (solver 11).
= 0, no preconditoner.
= 1, diagonalized preprocessor (default);
= 2, HW preprocessor.
Keyword example:
*Key_EBE_Precondition
1
*num_Crack - Number of initial cracks.
Keyword example:
*num_Crack
5
*num_Circ_Hole - Number of initial circle holes.
Keyword example:
*num_Circ_Hole
1
*num_Circ_Incl - Number of circular inclusions.
Keyword example:
*num_Circ_Incl
5
*num_Poly_Incl - Number of polygonal inclusions.
Keyword example:
*num_Poly_Incl
3
*CRACK_1 - CRACK_50 - Define the coordinates of each initial cracks (line segments) for 2D problem (input format:
Keyword example:
% Coordinates of 2 initial cracks, the first crack is defined by 2 points, the second crack is defined by 3 points.
*CRACK_1
0.0217,0.0229,0.0253,0.0247
*CRACK_2
0.0083,0.0193,0.0123,0.0283,0.0223,0.0383
*Crack3D_Coor_1 - Crack3D_Coor_50 - Define the coordinates of each initial cracks (plane in 3D composed of four points) for 3D problem (input format:
Keyword example:
*Crack3D_Coor_1
10.0,14.0,6.0,10.0,14.0,14.0,10.0,6.0,14.0,10.0,6.0,6.0
*Crack3D_Coor_2
14.0,10.0,6.0,14.0,10.0,14.0,6.00,10.0,14.0,6.0,10.0,6.0
*Crack3D_Coor_3
6.0,6.0,10.0,14.0,6.0,10.0,14.0,14.0,10.0,6.0,14.0,10.0
*Crack3D_Cir_Coor_1 - Crack3D_Cir_Coor_30 - Define the coordinates of each initial circular cracks for 3D problem (input format:
Keyword example:
*Crack3D_Cir_Coor_1
8.5,8.5,6.5,1.0,1.0,1.0,2.5
*Crack3D_Cir_Coor_2
8.5,8.5,10.5,1.0,1.0,1.0,2.5
*Hole_Coor_1 - Hole_Coor_30 - Define the coordinates of initial holes in 2D (input format:
Keyword example:
% Define initial holes.
*Hole_Coor_1
15.25e-3,7.75e-3,2.0e-3
*Hole_Coor_2
4.25e-3,7.75e-3,1.5e-3
*Hole_Coor_3
26.25e-3,7.75e-3,1.5e-3
*Circ_Inclu_Coor_1 - Circ_Inclu_Coor_30 - Define the coordinates of initial circular inclusions in 2D (input format:
Keyword example:
% Define an initial inclusion.
*Circ_Inclu_Coor_1
13.5e-3,10.5e-3,3.0e-3
*Key_Random_NaCr - Randomly generate initial cracks or not.
= 0, do not generate (default);
= 1, randomly generates;
= 2, read from FracMan file (*.fab);
= 3, generates according to user-defined parameters.
Keyword example:
% Read initial cracks from FracMan file (*.fab).
*Key_Random_NaCr
2
*Key_NaCr_Active_Scheme_3D - Activation algorithm for 3D natural fractures.
= 1, all natural fractures are activated at the initial moment. After being activated by hydraulic fracture, the fractures will be filled with fracturing fluid (default);
= 2, natural fractures are activated after being communicated by hydraulic fracture. After being activated by hydraulic fracture, the fractures will be filled with fracturing fluid;
= 3, natural fractures are partially activated after being communicated by hydraulic fracture. After being activated by hydraulic fracture, only part of the crack open and expand along the surface where the natural cracks are located.
Keyword example:
% Partially enable natural crack when activated by hydraulic cracks.
*Key_NaCr_Active_Scheme_3D
3
*KIC_NACR - Fracture toughness
Keyword example:
*KIC_NACR
10
*KIC_NA_Crack_1 - KIC_NA_Crack_30 - Fracture toughness
Keyword example:
*KIC_NA_Crack_1
0.1e6
*KIC_NA_Crack_2
0.2e6
*St_NACR - Tensile strength
Keyword example:
*St_NACR
0.1e6
*St_NA_Crack_1 - St_NA_Crack_30 - Tensile strength
Keyword example:
*St_NA_Crack_1
0.1e6
*St_NA_Crack_2
0.5e6
*Key_NaCr_Cross - Allow the intersection of initially generated natural cracks.
= 1, no (default);
= 2, yes;
Keyword example:
*Key_NaCr_Cross
1
*num_Rand_Na_Crack - Number of cracks need to be randomly generated.
Keyword example:
*num_Rand_Na_Crack
10
*NaCr_Orientation - Average direction (in degrees) of the cracks need to be randomly generated for 2D problems.
Keyword example:
*NaCr_Orientation
-60.0
*NaCr_3D_n_Vector - Average direction (normal vector) of cracks need to be randomly generated for 3D problems.
Keyword example:
*NaCr_3D_n_Vector
1.0,0.0,1.0
*NaCr_Ori_Delta - Fluctuation range (+ or -) of the average direction (in degrees) for 2D problems.
Keyword example:
*NaCr_Ori_Delta
10.0
*NaCr_3D_n_Vector_Delta - Amplitude of fluctuation of the normal direction (in degrees) for 3D problems.
Keyword example:
*NaCr_3D_n_Vector_Delta
15.0
*NaCr_Length - Average length of the cracks need to be randomly generated for 2D problems.
Keyword example:
*NaCr_Length
10.0
*NaCr_3D_Size - Average size of the cracks need to be randomly generated for 3D problems.
Keyword example:
*NaCr_3D_Size
10.0
*NaCr_Len_Delta - Fluctuation range (+ or -) of the average length of natural cracks for 2D problems.
Keyword example:
*NaCr_Len_Delta
2.0
*NaCr_3D_Sz_Delta - Fluctuation range (+ or -) of the average size of natural cracks for 3D problems.
Keyword example:
*NaCr_3D_Sz_Delta
5.0
*num_Rand_Hole - Number of holes need to be randomly generated.
Keyword example:
*num_Rand_Hole
6
*Rand_Hole_R - Size of initial generated holes.
Keyword example:
*Rand_Hole_R
1.2e-2
*Rand_Hole_Delta_R - Fluctuation range (+ or -) of size of initial generated holes.
Keyword example:
*Rand_Hole_Delta_R
0.3e-2
*Key_Hole_Crack_Generate - Allow cracks to emerge from the inner edge of the holes.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Hole_Crack_Generate
1
*Key_Num_Cr_Hole_Generated - The maximum number of cracks emerged from the inner edge of the holes.
Keyword example:
*Key_Num_Cr_Hole_Generated
2
*Key_NaCr_Type_3D - Shape of initially generated natural cracks for 3D problems.
= 1, rectangle;
= 2, circle;
= 3, polygon.
Keyword example:
*Key_NaCr_Type_3D
1
*Key_Rand_Circ_Incl - Randomly generate circular inclusions or not.
= 0, do not generate (default);
= 1, generates.
Keyword example:
*Key_Rand_Circ_Incl
1
*num_Rand_Circ_Incl - Number of circular inclusions need to be randomly generated.
Keyword example:
*num_Rand_Circ_Incl
10
*Rand_Circ_Incl_R - The average radius of the circular inclusions need to be randomly generated.
Keyword example:
*Rand_Circ_Incl_R
0.5e-3
*Rand_Circ_Inc_R_Delta - Fluctuation range (+ or -) of the average radius.
Keyword example:
*Rand_Circ_Inc_R_Delta
0.1e-3
*Key_Rand_Poly_Incl - Randomly generate initial regular polygonal inclusions or not.
= 0, do not generate (default);
= 1, generates.
Keyword example:
*Key_Rand_Poly_Incl
1
*num_Rand_Poly_Incl - Number of regular polygonal inclusions need to be randomly generated.
Keyword example:
*num_Rand_Poly_Incl
10
*num_Vert_Poly_Incl - Number of edges of regular polygonal inclusions.
Keyword example:
*num_Vert_Poly_Incl
5
*Rand_Poly_Incl_R - Average radius of circumcircle of regular polygonal inclusions.
Keyword example:
*Rand_Poly_Incl_R
0.5e-3
*Rand_Poly_Inc_R_Delta - Fluctuation range (+ or -) of the average radius of circumcircle of regular polygonal inclusions.
Keyword example:
*Rand_Poly_Inc_R_Delta
0.1e-3
*Key_User_Defined_2D_Crack_Path - Enable user defined 2D crack path. The cracks will propagate along user defined paths. This keyword should be used in conjunction with keyword *USER_DEFINED_2D_CRACK_PATH_n. = 1, no (default);
= 2, yes;
Keyword example:
*Key_User_Defined_2D_Crack_Path
1
*User_Defined_2D_Crack_Path_1 - User_Defined_2D_Crack_Path_99 - Define the coordinates of each user defined crack path (Support up to 99 user defined crack paths). Input format of this keyword:
Keyword example:
% Enable User Defined 2D Crack Path.
*Key_User_Defined_2D_Crack_Path
1
% User Defined 2D Crack Path 1. This crack path consists of 9 coordinate points.
*User_Defined_2D_Crack_Path_1
0.154856,0.291413,0.154856,0.480089,0.154856,0.694378,0.253281,0.694577,0.330709,0.670475,0.354331,0.581574,0.333333,0.506059,0.251969,0.484332,0.154856,0.480089
% User Defined 2D Crack Path 2. This crack path consists of 3 coordinate points.
*User_Defined_2D_Crack_Path_2
0.471129,0.290705,0.472441,0.465909,0.473753,0.721977
*Material_Type_1 - Material_Type_70 - Material type definition for each material.
= 1, isotropic material;
= 2, plastic material (Von Mises yield criterion);
= 3, damage material;
= 4, Mohr-Coulomb plastic;
= 5, Composite (for 3D problems only);
= 6, Drucker-Prager plastic.
Keyword example:
*MATERIAL_TYPE_1
1
*MATERIAL_TYPE_2
1
*MATERIAL_TYPE_3
1
*Material_Para_1 - Material_Para_70 - Definition of material parameters. The following 20 parameters can be defined as needed for each material:
1, elasticity modulus,
2, Poisson's ratio,
3, density,
4, thickness for 2D plane stress model,
5, tensile strength,
6, fracture toughness,
7, compressive strength,
8, coefficient of thermal expansion,
9, specific heat coefficient,
10, conductivity coefficient,
11, conductivity coefficient,
12, Mises yield stress
13, Tangent modulus after yielding
14, Hardening parameter
15, Cohesive strength
16, Internal friction angle
17, Initial damage strain for tension;
18, Ultimate damage strain for tension;
19, Initial damage strain for compression;
20, Ultimate damage strain for compression.
Keyword example:
% Parameters for material type 1.
*Material_Para_1
35.0e9,0.25,2000.0,1.0,2.0e6,1.0e6,100.0e6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
% Parameters for material type 2.
*Material_Para_2
0.02e9,0.3,200.0,1.0,1000.0e6,2.0e6,100.0e6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
*Material_Para_Added_1 - Material_Para_Added_10 - Additional material parameters required for specific material types (such as material type 5).
1, elasticity modulus in
2, elasticity modulus in
3, elasticity modulus in
4, Poisson's ratio for material type 5,
5, Poisson's ratio for material type 5,
6, Poisson's ratio for material type 5,
7, Shear elastic modulus for material type 5,
8, Shear elastic modulus for material type 5,
9, Shear elastic modulus for material type 5,
10, Volume fraction of reinforcement phase;
11, Composite material coordinate system type: 1, Cartesian coordinates; 10, Cylindrical coordinates;
12, Shear strength,
13-20, blank.
Keyword example:
% Example parameters for material type 5.
*MATERIAL_TYPE_1
5
*Material_Para_1
38.5e9,0.228,2000.0,1.0,5.0e6,1.0e6,50.0e6,0.5e-5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
*Material_Para_Added_1
38.5e9,10.5e9,10.5e9,0.228,0.2,0.2,20e9,5e9,5e9,0.1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
*Key_Weibull_E_1 - Key_Weibull_E_10 - Activates Weibull distribution for elastic modulus of material
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Weibull_E_1
1
*WEIBULL_PARAMETERS_E_1 - WEIBULL_PARAMETERS_E_10 - Weibull parameters of material
1, shape parameter
2, lower bound of the elastic modulus
3, upper bound of the elastic modulus
Keyword example:
*Material_Type_1
1
*Material_Para_1
150.0e9,0.26,7900.0,1.0,1.0e6,1.0e6,100.0e6,0.0,0.0,0.0,0.0,100.0e6,20.0e9,0.5,0.0,0.0,0.0,0.0,0.0,0.0
*MATERIAL_PARA_ADDED_1
0,0,0,0,0,0,0,0,0,0,0,300e6,0,0,0,0,0,0,0,0
% Apply Weibull distribution to the elastic modulus of material 1.
*Key_Weibull_E_1
1
*Weibull_Parameters_E_1
2.0,0.0,500e9
*Num_Frac - Number of steps of the hydraulic fracturing simulation.
Keyword example:
*Num_Frac
10
*Key_Symm_HF - Symmetric hydraulic fracturing model.
= 0, no (full model);
= 1, yes.
Keyword example:
*Key_Symm_HF
0
*Cracks_HF_State - Initial states of each crack (fluid driven or not).
= 0, free crack without fluid;
= 1, hydraulic fluid-driven crack.
Keyword example:
*Cracks_HF_State
1
*Inject_Crack_Num - For full model (Key_Symm_HF=0), define the crack which contains the injection point of fluid (For symmetric model, the injection point is just the mouth of the edge crack which is also crack number 1).
Keyword example:
*Cracks_HF_State
1
*Inj_Point_Loc - For full model, define the coordinates of the injection point (input format:
Keyword example:
*Inj_Point_Loc
8.5, 8.5
*Inject_Q_Time - Define the time instants of the data curve of injection rate of fracturing fluid (unit:
Keyword example:
*Inject_Q_Time
0,10000
*Inject_Q_Val - Define the values of injection rate of the data curve of injection rate of fracturing fluid (unit:
Keyword example:
*Inject_Q_Val
0.001,0.001
*Inject_c_Time - Define the time instants of the data curve of volumetric concentration of injected proppant (unit:
Keyword example:
*Inject_c_Time
0,10000,20000
*Inject_c_Val - Define the values of concentration of the data curve of volumetric concentration of injected proppant.
Keyword example:
*Inject_c_Val
0,0.1,0.3
*Key_Visco_Type - Static viscosity or dynamic viscosity.
= 1, static viscosity;
= 2, dynamic viscosity.
Keyword example:
*Key_Visco_Type
1
*Viscosity - The viscosity of fracturing fluid (unit:
Keyword example:
*Viscosity
0.01
*Viscosity_Par_m - Parameter
Keyword example:
*Viscosity_Par_m
2
*Key_Proppant - Consider proppant or not.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Proppant
1
*Key_Propp_Trans - Consider the transport of proppant or not.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Propp_Trans
1
*Key_Leakoff - Consider the leak off of the fracturing fluid or not.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Leakoff
0
*Coeff_Leak - Leak coefficient of the Carter model (define when *Key_Leakoff =1).
Keyword example:
*Coeff_Leak
1.0d-5
*Key_Crack_Inner_Pressure - Active initial fluid pressure of cracks.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_Crack_Inner_Pressure
1
*INI_CRACK_PRESSURE - Initial fluid pressure of all cracks.
Keyword example:
*INI_CRACK_PRESSURE
10.0e6
*INI_CRACK_PRESSURE_1 - INI_CRACK_PRESSURE_50 - Initial fluid pressure of cracks.
Keyword example:
*INI_CRACK_PRESSURE_1
10.0e6
*INI_CRACK_PRESSURE_2
10.0e6
*Key_3D_HF_Time_Step_Method - Method to solve the fluid-solid coupling problem for the 3D hydraulic fracturing simulation with slick water.
= 1, Dual-layer Newton-Raphson iteration (default);
= 2, Bisection.
Keyword example:
*Key_3D_HF_Time_Step_Method
1
*Key_3D_HF_SlipWater_fk_Type - Calculation method of the equivalent stress intensity factor crack propagation criterion for 3D hydraulic fracturing simulation with slick water.
= 1, the maximum equivalent stress intensity factor;
= 2, the avarage equivalent stress intensity factor;
= 3, the minimum equivalent stress intensity factor.
Keyword example:
*Key_3D_HF_SlipWater_fk_Type
3
*Key_HF_Multistage_3D - Active staged fracturing.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_HF_Multistage_3D
1
*num_Wellbore - Number of wellbores.
Keyword example:
*num_Wellbore
1
*num_Points_WB_1 - num_Points_WB_10 - Number of points to define wellbore
Keyword example:
*num_Points_WB_1
2
*Wellbore_Coors_1_1 - Wellbore_Coors_10_6 - Points to define wellbore
Keyword example:
% Point 1 to define wellbore 1.
*Wellbore_Coors_1_1
100.0,100.0,0.1
% Point 2 to define wellbore 1.
*Wellbore_Coors_1_2
100.0,100.0,199.9
*WELLBORES_START_POINT_1 - WELLBORES_START_POINT_10 - Start point for fracturing of wellbore
Keyword example:
*WELLBORES_START_POINT_1
100.0,100.0,90.0
*WELLBORES_END_POINT_1 - WELLBORES_END_POINT_10 - End point for fracturing of wellbore
Keyword example:
*WELLBORES_END_POINT_1
100.0,100.0,110.0
*num_Stages_Wellbores_1 - num_Stages_Wellbores_10 - Number of stages of wellbore
Keyword example:
*num_Stages_Wellbores_1
1
*NUM_CRS_STAGES_WELLBORES_1_1 - NUM_CRS_STAGES_WELLBORES_5_5 - Number of clusters of a stage of wellbore
Keyword example:
% Number of clusters of stage 1 of wellbore 5.
*NUM_CRS_STAGES_WELLBORES_5_1
1
*Key_Gen_Ini_Crack_Wellbores - Shape of initial hydraulic fractures.
= 1, rectangle;
= 2, circle (default);
= 3, polygon.
Keyword example:
% Generate circle initial fractures along the wellbore.
*Key_Gen_Ini_Crack_Wellbores
2
*Num_Poly_Edges_PolyCr_WB - The number of sides (default to 5) of the polygon initial hydraulic fractures when Key_Gen_Ini_Crack_Wellbores = 3.
Keyword example:
% The number of sides (default to 5) of the polygon initial hydraulic fractures.
*Num_Poly_Edges_PolyCr_WB
5
*Key_Gen_Ini_Crack_Rule_Wellbores - Direction of the generated initial hydraulic fractures.
= 1, the generated initial fractures are perpendicular to the wellbore (default);
= 2, the generated initial fractures are perpendicular to the direction of the minimum principal stress.
= 3, user defined direction by giving the normal vector of the generated initial hydraulic fractures (see keyword *Normal_Vector_Gen_Ini_Crack_Wellbores).
Keyword example:
% Generate circle initial fractures along the wellbore.
*Key_Gen_Ini_Crack_Wellbores
2
% The generated initial fractures are perpendicular to the direction of the minimum principal stress.
*Key_Gen_Ini_Crack_Rule_Wellbores
3
*Normal_Vector_Gen_Ini_Crack_Wellbores - User defined normal vector of the generated initial hydraulic fractures when *Key_Gen_Ini_Crack_Rule_Wellbores=3. The normal vector of fractures need to be defined as:
Keyword example:
% Generate circle initial fractures along the wellbore.
*Key_Gen_Ini_Crack_Wellbores
2
% User defined direction of the generated initial fractures. The nomal vector of initial fractures in this example is (1,1,1).
*Normal_Vector_Gen_Ini_Crack_Wellbores
1,1,1
*Size_Ini_Crack_Wellbores - Size of initial hydraulic fractures, for circle or polygon cracks, size denotes diameter.
Keyword example:
*Size_Ini_Crack_Wellbores
3.0
*INJECTION_Q_STAGES_WELLBORES_1_1 - INJECTION_Q_STAGES_WELLBORES_5_5 - Injection rate of a stage of wellbore 1 (unit:
Keyword example:
% Injection rate of stage 1 of wellbore 5.
*INJECTION_Q_STAGES_WELLBORES_5_1
0.01
*INJECTION_T_STAGES_WELLBORES_1_1 - INJECTION_T_STAGES_WELLBORES_5_5 - Injection time of a stage of wellbore 1 (unit:
Keyword example:
% Injection time of stage 1 of wellbore 5.
*INJECTION_T_STAGES_WELLBORES_5_1
1000
*Key_Get_Permeability - Calculate the element equivalent permeability for 3D hydraulic fracturing simulation.
= 0, no;
= 1, yes.
Keyword example:
*Key_Get_Permeability
1
*NL_ITRA - Maximum number of Newton-Raphson iteration (default:30).
Keyword example:
*NL_ITRA
40
*NL_ATOL - Maximum Norm-2 value of the residual of Newton-Raphson iteration (default:1.0e8).
Keyword example:
*NL_ATOL
2.0e8
*NL_NTOL - Maximum number of bisection of force for Newton-Raphson iteration (default:6).
Keyword example:
*NL_NTOL
10
*NL_TOL - Convergence tolerance for Newton-Raphson iteration (default:1.0e-6).
Keyword example:
*NL_TOL
1.0e6
*NL_TIMS_1 - NL_TIMS_30 - Load step control, 5 parameters are needed for each load step:
1, starting time for the current load step;
2, ending time for the current load step;
3, time increment for the current load step;
4, starting force factor for the current load step;
5, ending force factor for the current load step.
Keyword example:
*NL_TIMS_1
0.0,0.4,0.1,0.0,0.5
*NL_TIMS_2
0.4,1.0,0.05,0.5,1.0
*Coh_Constitutive_type - Constitutive model of the cohesive crack:
= 1, bilinear model, first rise and then fall (Define both *Coh_Width_Critical1 and *Coh_Width_Critical2);
= 2, linear model (Define *Coh_Width_Critical2);
= 3, constant model (Define *Coh_Width_Critical2).
Keyword example:
*Coh_Constitutive_type
1
*Coh_Width_Critical1 - Normal width of crack at which the crack surface has the ultimate normal traction (needs to be defined only when *Coh_Constitutive_type =1).
Keyword example:
*Coh_Width_Critical1
2.0e-4
*Coh_Width_Critical2 - Normal width of crack at which the crack surface has no normal traction.
Keyword example:
*Coh_Width_Critical2
1.0e-5
*Coh_f_Ultimate - The ultimate normal traction.
Keyword example:
*Coh_f_Ultimate
3.0D5
*Coh_Tangential_Key - Consider tangential traction or not.
= 0, no (default);
= 1, yes (Define *Coh_Width_Critical1_T, *Coh_Width_Critical2_T, *Coh_f_Ultimate_T).
Keyword example:
*Coh_Tangential_Key
1
*Coh_Width_Critical1_T - Tangential width of crack at which the crack surface has the ultimate tangential traction (needs to be defined only when *Coh_Constitutive_type =1 and * Coh_Tangential_Key =1).
Keyword example:
*Coh_Width_Critical1_T
0.25D-3
*Coh_Width_Critical2_T - Tangential width of crack at which the crack surface has no tangential traction.
Keyword example:
*Coh_Width_Critical2_T
0.50D-3
*Coh_f_Ultimate_T - The ultimate tangential traction
Keyword example:
*Coh_f_Ultimate_T
5.0D6
*IDy_Num_Iteras - Number of steps of the implicit dynamic analysis.
Keyword example:
*IDy_Num_Iteras
200
*IDy_Num_force_Itr - Number of steps with force applied (In other words, the applied force will be removed if the current step number is larger than *IDy_Num_force_Itr) for the implicit dynamic analysis.
Keyword example:
*IDy_Num_force_Itr
100
*Delt_Time_NewMark - Time increment of the Newmark time integration algorithm (default to 1.0e-6) for the implicit dynamic analysis.
Keyword example:
*Delt_Time_NewMark
5.0e-6
*edy_num_iteras - Number of steps of the explicit dynamic analysis.
Keyword example:
*edy_num_iteras
200
*EDy_num_force_itr - Number of steps with force applied (In other words, the applied force will be removed if the current step number is larger than *edy_num_iteras) for the explicit dynamic analysis.
Keyword example:
*EDy_num_force_itr
100
*delt_time_explicit - Time increment of the time step (default to 1.0e-6) for the explicit dynamic analysis.
Keyword example:
*delt_time_explicit
5.0e-6
*Factor_Prop_Dy - Factor of dynamic propagation length of cracks (default to 1.63). Propagation length
Keyword example:
*Factor_Prop_Dy
1.63
*Key_EQ: Earthquake analysis.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_EQ
1
*num_EQ_Ac_nodes - Number of the nodes with earthquake acceleration applied.
Keyword example:
*num_EQ_Ac_nodes
31
*EQ_Ac_nodes - List of nodes with earthquake acceleration applied.
Keyword example:
*EQ_Ac_nodes
187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217
*EQ_Ac_Time_Gap - Time interval of the earthquake acceleration data (define when *Key_EQ=1).
Keyword example:
*EQ_Ac_Time_Gap
0.01
*num_CP_x_nodes - The total amount of nodes need to be coupled in
Keyword example:
*num_CP_x_nodes
21
*CP_x_nodes - The nodes number of all the nodes need to be coupled in
Keyword example:
*CP_x_nodes
2,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101
*num_CP_y_nodes - The total amount of nodes need to be coupled in
Keyword example:
*num_CP_y_nodes
21
*CP_y_nodes - The nodes number of all the nodes need to be coupled in
Keyword example:
*CP_y_nodes
2,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101
*Key_EKILL - Deactivate elements during simulation.
= 1, no (default);
= 1, yes.
Keyword example:
*Key_EKILL
1
*Ele_Killed_Each_Load_Step_02 - Ele_Killed_Each_Load_Step_40 - Define element lists for load step
Keyword example:
% Define elements to be killed at each step (from step 2 to step 5).
*Ele_Killed_Each_Load_Step_02
501,466
*Ele_Killed_Each_Load_Step_03
502,467
*Ele_Killed_Each_Load_Step_04
503,468
*Ele_Killed_Each_Load_Step_05
504,469
*KEY_THERMAL_STRESS - Enable thermal stress.
= 0, no (default);
= 1, yes.
Keyword example:
*KEY_THERMAL_STRESS
1
*Key_Initial_Temperature - Methods to define initial temperature.
= 1, define initial temperature according to material type number (default);
= 2, read initial temperature from file.
Keyword example:
*Key_Initial_Temperature
1
*THERMAL_STR_TEMPER_1 - THERMAL_STR_TEMPER_25 - Initial temperature of material type
Keyword example:
*THERMAL_STR_TEMPER_1
70.0
*THERMAL_STR_TEMPER_2
100.0
*Key_Scheme_Thermal_Stress - Methods to calculate thermal stress.
= 1, thermal stress is calculated directly from the temperature value (default);
= 2, thermal stress is calculated based on temperature difference.
Keyword example:
*Key_Scheme_Thermal_Stress
1
*Key_InStress_for_Mat - Apply prestress to a material.
= 0, no (default);
= 1, yes.
Keyword example:
*Key_InStress_for_Mat
1
*Mat_Number_of_InStress_1 - Mat_Number_of_InStress_10 - Material type number to apply prestress.
Keyword example:
*Mat_Number_of_InStress_1
2 % Apply prestress to material type 2.
*MAT_INSTRESS_X, MAT_INSTRESS_Y, MAT_INSTRESS_Z - Prestress in
Keyword example:
*MAT_INSTRESS_X
10.0e6
*MAT_INSTRESS_Y
5.0e6
*MAT_INSTRESS_Z
5.0e6
*Num_Surface_Loads - Number of applied surface load.
Keyword example:
*Num_Surface_Loads
3
*File_Surface_Load_1 - File_Surface_Load_20 - File suffix of surface load
Keyword example:
*File_Surface_Load_1
surf
*File_Surface_Load_2
top
*File_Surface_Load_3
inner
% Each line of the *.surf file stores surface element number, node 1, node 2, node 3, node 4, and the area of the surface element, for example:
% 1415. 7789. 7828. 7790. 7829. 0.12500000E-06
% 1416. 7828. 7867. 7829. 7868. 0.12500000E-06
*Surface_Pressure_1 - Surface_Pressure_20 - Pressure value if surface load
Keyword example:
*Surface_Pressure_1
-10.0e6
*Key_Clear_All - Clear all the results files in the current work directory before starting.
= 0, disable (default);
= 1, enable.
Keyword example:
*Key_Clear_All
1
*Key_Close_Window - Close the console window when calculation is finished.
= 0, wait user to close (default);
= 1, auto close.
Keyword example:
*Key_Close_Window
0
*Key_Data_Format - Save data in ASCII format or in binary format.
= 1, ASCII format (default);
= 2, binary format.
Keyword example:
*Key_Data_Format
1
*Key_Num_Process - Set the number of threads of CPU for OpenMP (if taken as 99, then all threads are available, default to 1).
Keyword example:
*Key_Num_Process
4 % Use 4 threads.
*Key_Save_vtk - Save the simulation results as vtk files for postprocessing using ParaView.
= 0, do not save vtk file;
= 1, save vtk file (default).
Keyword example:
*Key_Save_vtk
1
*Key_Simple_Post - Save only necessary result files.
= 0, save all result files (default);
= 1, save only necessary result files.
Keyword example:
*Key_Simple_Post
1
*Key_Post_CS_N_Strs - Calcutale and save stress results of nodes.
= 0, no;
= 1, yes (default).
Keyword example:
*Key_Post_CS_N_Strs
0
*Key_Play_Sounds - Play sound using Python script when finised the simulation.
= 0, no (default);
= 1, yes.
Keyword example:
% Play sound (using python).
*Key_Play_Sounds
1
2D FEM analysis.
% This is a simple PhiPsi kpp file example.
% Pay attention to *Work_Directory, some modification might be necessary!
% Working directory.
*Work_Directory
X:\PhiPsi Work\FEM
% Filename of input files.
*Filename
FEM
% Parameters.
Elasticity_modulus = 70.0e9
Poisson_ratio = 0.3
% Analysis type (Quasi-static).
*Key_Analysis_Type
1
% Plane stress.
*Key_Type_2D
1
% Linear system solver (SuperLU).
*Key_SLOE
9
% Number of propagation steps.
*Num_Substeps
1
% Material(1-E,2-v,3-density,4-thick,5-St,6-KIc,7-Sc,8-20(blank))
*Material_Para_1
Elasticity_modulus,Poisson_ratio,2700.0,1.0,1.0e6,1.0e6,100.0e6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
% Play sound (using python).
*Key_Play_Sounds
1
2D XFEM analysis.
% Working directory.
*Work_Directory
X:\PhiPsi Work\XFEM
% Filename of input files.
*Filename
XFEM
% Number of initial cracks.
*num_Crack
1
% Analysis type (Quasi-static).
*Key_Analysis_Type
1
% Plane strain.
*Key_Type_2D
2
% Calculate stress intensity factors using the interaction integral method.
*Key_SIFs_Method
2
% Linear system solver.
*Key_SLOE
% 5 %LAPACK
11 %PCG-EBE
% Number of propagation steps.
*Num_Substeps
1
% Material(1-E,2-v,3-density,4-thick,5-St,6-KIc,7-Sc,8-20(blank))
*Material_Para_1
20.0e9,0.2,2000.0,1.0,1.0e6,1.0e6,100.0e6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
% Coordinates of initial cracks.
*CRACK_1
0.00615,0.013,0.01485,0.018
% Play sound (using python).
*Key_Play_Sounds
1
3D XFEM analysis.
% Working directory.
*Work_Directory
X:\PhiPsi_Work\exa_3D_block_tension_cir
% Finename of input files.
*Filename
exa_3D_block_tension_cir
% Number of CPU threads.
*Key_Num_Process
4
% 3-D problem.
*Key_Dimension
3
% Number of initial cracks.
*num_Crack
2
% Analysis type (Quasi-static).
*Key_Analysis_Type
1
% Linear system solver.
*Key_SLOE
11 % PCG-EBE.
% Number of propagation step.
*Num_Substeps
5
% Crack propagation criterion.
*CFCP
2 % Weighted average maximum principal tensile stress criterion.
% Material
*Material_Para_1
20.0e9,0.3,2000.0,1.0,0.1e6,1.0e6,100.0e6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
% Define the coordinates of each initial cracks for 3D problem.
% (input format: x_of_circle_center, y_of_circle_center, z_of_circle_center, x_of_direction_vector, y_of_direction_vector, z_of_direction_vector, radius)
*Crack3D_Cir_Coor_1
8.5,8.5,6.5,1.0,1.0,1.0,2.5
*Crack3D_Cir_Coor_2
8.5,8.5,10.5,1.0,1.0,1.0,2.5
% Allow crack 1 and 2 to propagate.
*Cracks_Allow_Propa
1,1
% Do not close the DOS Window when the calculation is finished (default).
*Key_Close_Window
0
% Save crack radius
*Key_Save_Crack_Radius
1