Input Data

From KratosWiki
(Difference between revisions)
Jump to: navigation, search
m (Added Flag format)
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
The current input data consist of one archive with <tt>.mdpa</tt> extension. The input file is free format and the reading is not depend to the spaces, tabs, endlines etc.
 
The current input data consist of one archive with <tt>.mdpa</tt> extension. The input file is free format and the reading is not depend to the spaces, tabs, endlines etc.
  
This format contains all ModelPart's data in a minimalistic block form and consists of 8 blocks of data in following form:
+
This format contains all ModelPart's data in a minimalistic block form:
  
  Begin ModelPartData
+
Begin ModelPartData
  //  VARIABLE_NAME value
+
  //  VARIABLE_NAME value
  End ModelPartData
+
End ModelPartData
 
   
 
   
  Begin Table table_id variable1 variable2  
+
Begin Table table_id variable1 variable2  
  // table_x table_y
+
  // table_x table_y
  End Table
+
End Table
 
    
 
    
  Begin Properties  properties_id  
+
Begin Properties  properties_id  
  //  VARIABLE_NAME value
+
  //  VARIABLE_NAME value
  End Properties
+
End Properties
 
    
 
    
  Begin Nodes
+
Begin Nodes
  // id   X Y Z
+
  // id   X Y Z
  End Nodes
+
End Nodes
 
    
 
    
  Begin Elements element_name
+
Begin Elements element_name
  // id prop_id n1 n2 n3 ...
+
  // id prop_id n1 n2 n3 ...
  End Elements
+
End Elements
 
    
 
    
  Begin Conditions condition_name  
+
Begin Conditions condition_name  
  // id prop_id n1 n2 n3 ...
+
  // id prop_id n1 n2 n3 ...
  End Conditions
+
End Conditions
 
    
 
    
  Begin NodalData VARIABLE_NAME
+
Begin NodalData VARIABLE_NAME
  //  id is_fixed value
+
  //  id is_fixed value               //data accessible by GetSolutionStepValue
  End NodalData
+
End NodalData
 
    
 
    
  Begin ElementalData VARIABLE_NAME
+
Begin ElementalData VARIABLE_NAME
  //  id value
+
  //  id value                       //data accessible by GetValue
  End ElementalData
+
End ElementalData
 
    
 
    
  Begin ConditionalData VARIABLE_NAME
+
Begin ConditionalData VARIABLE_NAME
  //  id value
+
  //  id value                       //data accessible by GetValue
  End ConditionalData  
+
End ConditionalData  
 
    
 
    
  Begin Mesh mesh_id  // mesh_id cannot be zero!
+
Begin Mesh mesh_id  // mesh_id cannot be zero!
 +
  Begin MeshData
 +
    //VARIABLE_NAME value                //data accessible by GetValue or operator []
 +
  End MeshData
 +
  Begin MeshNodes
 +
    // node_id
 +
  End MeshNodes
 
    
 
    
      Begin MeshNodes
+
  Begin MeshElements
      // node_id
+
    // element_id
      End MeshNodes
+
  End MeshElements
 
    
 
    
      Begin MeshElements
+
  Begin MeshConditions
      // element_id
+
    // condition_id
      End MeshElements
+
  End MeshConditions
 
+
End Mesh
      Begin MeshConditions
+
      // condition_id
+
Begin SubModelPart SubModelPartName
      End MeshConditions
+
  Begin SubModelPartData
 
+
    // VARIABLE_NAME value
  End Mesh
+
  End SubModelPartData
 
+
  Begin SubModelPartTables
 +
    // Table_id
 +
  End SubModelPartTables
 +
 +
  Begin SubModelPartNodes
 +
    // node_id
 +
  End SubModelPartNodes
 +
 +
  Begin SubModelPartElements
 +
    // element_id
 +
  End SubModelPartElements
 +
 +
  Begin SubModelPartConditions
 +
    // condition_id
 +
  End SubModelPartConditions
 +
 +
  Begin SubModelPart SubModelPartName // Note that this would be a sub sub modelpart
 +
    Begin SubModelPartTables
 +
      // Table_id
 +
    End SubModelPartTables
 +
 
 +
    Begin SubModelPartNodes
 +
      // node_id
 +
    End SubModelPartNodes
 +
 +
    Begin SubModelPartElements
 +
      // element_id
 +
    End SubModelPartElements
 +
 +
    Begin SubModelPartConditions
 +
      // condition_id
 +
    End SubModelPartConditions
 +
  End SubModelPart
 +
End SubModelPart
 +
 
Each block starts with a <tt>Begin</tt> statement following by the block name and ends with the <tt>End</tt> statement again following by the block name. Some block may have some additional parameter like id or variable in their definitions.
 
Each block starts with a <tt>Begin</tt> statement following by the block name and ends with the <tt>End</tt> statement again following by the block name. Some block may have some additional parameter like id or variable in their definitions.
  
An example is presented in the following lines:
+
=== ModelPartData Block ===
 +
== Example ==
 +
 
 +
Here is an example of mdpa file:
  
 
  Begin ModelPartData
 
  Begin ModelPartData
//  VARIABLE_NAME value
+
  //  VARIABLE_NAME value
 +
  AMBIENT_TEMPERATURE 250.00
 
  End ModelPartData
 
  End ModelPartData
+
 
 
  Begin Table 1 TEMPERATURE VISCOSITY
 
  Begin Table 1 TEMPERATURE VISCOSITY
200. 2e-6
+
  200. 2e-6
300. 3e-6
+
  300. 3e-6
400. 4e-6
+
  400. 4e-6
 
  End Table
 
  End Table
 
   
 
   
 
  Begin Properties 1
 
  Begin Properties 1
DENSITY 3.4E-5  //scalar
+
  DENSITY 3.4E-5  //scalar
THICKNESS 19.5
+
  THICKNESS 19.5
ORTHOTROPIC_YOUNG_MODULUS [3] (20000,10000,8000) //vector
+
  VOLUME_ACCELERATION [3] (0.00,0.00,9.8) //vector
ORTHOTROPIC_POISSON_RATIO [3,3] ((0, 0.27,0.27),(0.087,0,0.27),(0.075,0.23,0)) // matrix
+
  LOCAL_INERTIA [3,3] ((0, 0.27,0.27),(0.087,0,0.27),(0.075,0.23,0)) // matrix
  ORTHOTROPIC_SHEAR_MODULUS [3] (4225.23,4225.23,4225.23)
+
   
 +
  Begin Table TEMPERATURE VISCOSITY
 +
    200. 2e-6
 +
    300. 3e-6
 +
    400. 4e-6
 +
  End Table
 +
 
  End Properties
 
  End Properties
 
   
 
   
 
  Begin Nodes
 
  Begin Nodes
1                  16                  0                  0
+
  1                  16                  0                  0
2                  16                0.4                  0
+
  2                  16                0.4                  0
3                15.6                  0                  0
+
  3                15.6                  0                  0
...
+
  972                  0                7.2                  0
972                  0                7.2                  0
+
  973                  0                7.6                  0
973                  0                7.6                  0
+
  974                  0                  8                  0
974                  0                  8                  0
+
 
  End Nodes
 
  End Nodes
 
   
 
   
  Begin Elements ASGS2D
+
  Begin Elements Element2D3N
1 0       649       661       641
+
  1 1        1       2       3
2 0       765       771       785
+
  2 1       2       3       972
3 0       710       700        704
+
  3 1       3       972      973
...
+
  1796 1    972      973      974
1796 0        535        563        549
+
1797 0        877        857        891
+
1798 0        612        646        628
+
 
  End Elements
 
  End Elements
+
 
+
 
  Begin Conditions Condition2D
 
  Begin Conditions Condition2D
1799 0       644        650
+
  1    1       1          2
1800 0       650        663
+
  1800 1       2          3
1801 0       663        673
+
  1801 1       3          972
...
+
  1947 1       972        973
1947 0       972        973
+
  1948 1       973        974
1948 0       973        974
+
 
  End Conditions
 
  End Conditions
 
   
 
   
 
   
 
   
 
  Begin NodalData DISPLACEMENT_X
 
  Begin NodalData DISPLACEMENT_X
1 1 0.000000
+
  1 1 0.100000
2 1 0.000000
+
  2 1 0.200000
...
+
  973 1 0.000000
973 1 0.000000
+
  974 1 0.000000
974 1 0.000000
+
 
  End NodalData
 
  End NodalData
 
   
 
   
 
  Begin NodalData DISPLACEMENT_Y
 
  Begin NodalData DISPLACEMENT_Y
1 1 0.000000
+
  1 1 0.000000
2 1 0.000000
+
  2 1 0.000000
...
+
  973 1 0.000973
973 1 0.000000
+
  974 1 0.000974
974 1 0.000000
+
 
  End NodalData
 
  End NodalData
 
   
 
   
 
  Begin NodalData DISPLACEMENT_Z
 
  Begin NodalData DISPLACEMENT_Z
1 1 0.000000
+
  1 1 0.000000
2 1 0.000000
+
  2 1 0.000000
...
+
  973 1 0.000000
973 1 0.000000
+
  974 1 0.000000
974 1 0.000000
+
End NodalData
+
+
Begin NodalData VELOCITY_X
+
637 1 0.000000
+
639 1 0.000000
+
...
+
973 1 1.000000
+
974 1 1.000000
+
End NodalData
+
+
Begin NodalData VELOCITY_Y
+
1 1 0.000000
+
3 1 0.000000
+
...
+
973 1 0.000000
+
974 1 0.000000
+
End NodalData
+
+
Begin NodalData VELOCITY_Z
+
1 1 0.000000
+
3 1 0.000000
+
...
+
973 1 0.000000
+
974 1 0.000000
+
 
  End NodalData
 
  End NodalData
 
   
 
   
 
  Begin NodalData VISCOSITY
 
  Begin NodalData VISCOSITY
1 0 0.010000
+
  1 0 0.010000
2 0 0.010000
+
  2 0 0.010000
...
+
  973 0 0.010000
973 0 0.010000
+
  974 0 0.010000
974 0 0.010000
+
 
  End NodalData
 
  End NodalData
 
   
 
   
  Begin NodalData DENSITY
+
  Begin SubModelPart Inlets
1 0 1.000000
+
  Begin SubModelPartTables
2 0 1.000000
+
...
+
973 0 1.000000
+
974 0 1.000000
+
End NodalData
+
 
+
If the varibale we want to set is a flag, just have to skip the fixicity column and set the values to 0(False) or 1 (True)
+
 
+
Begin NodalData INLET // Now we are setting a flag
+
1 0 // Pay attention that now we just have 2 columns. Id and True/False. There is no fixicity
+
2 1
+
End NodalData
+
 
+
Begin Mesh 2
+
+
    Begin MeshNodes
+
 
     1
 
     1
    3
+
  End SubModelPartTables
    End MeshNodes
+
 
   
 
   
    Begin MeshElements
+
  Begin SubModelPartNodes
 
     1
 
     1
 
     2
 
     2
    End MeshElements
+
  End SubModelPartNodes
 
   
 
   
    Begin MeshConditions
+
  Begin SubModelPartElements
 
     1
 
     1
    End MeshConditions
+
  End SubModelPartElements
 
   
 
   
  End Mesh
+
  Begin SubModelPartConditions
 +
    1
 +
    1800
 +
  End SubModelPartConditions
 +
 +
  Begin SubModelPart Inlet1
 +
    Begin SubModelPartNodes
 +
      1
 +
      3
 +
    End SubModelPartNodes
 +
 +
    Begin SubModelPartConditions
 +
      1
 +
      1800
 +
    End SubModelPartConditions
 +
 +
  End SubModelPart // Inlet1
 +
 +
  Begin SubModelPart Inlet2
 +
    Begin SubModelPartConditions
 +
      1800
 +
      1801
 +
    End SubModelPartConditions
 +
  End SubModelPart // Inlet2
 +
 +
End SubModelPart // Inlets
 +
 +
Begin SubModelPart Outlet
 +
  Begin SubModelPartProperties
 +
    1
 +
  End SubModelPartProperties
 +
 +
  Begin SubModelPartConditions
 +
    1948
 +
  End SubModelPartConditions
 +
 +
  End SubModelPart // Outlet
  
 
The old format for data file is still supported due to the backward compatibility but without further improvement. The old format description can be found [[Old Input Data | here]]
 
The old format for data file is still supported due to the backward compatibility but without further improvement. The old format description can be found [[Old Input Data | here]]

Latest revision as of 13:57, 23 September 2016

The current input data consist of one archive with .mdpa extension. The input file is free format and the reading is not depend to the spaces, tabs, endlines etc.

This format contains all ModelPart's data in a minimalistic block form:

Begin ModelPartData
  //  VARIABLE_NAME value
End ModelPartData

Begin Table table_id variable1 variable2 
  // table_x table_y
End Table
 
Begin Properties  properties_id 
  //  VARIABLE_NAME value
End Properties
 
Begin Nodes
  // id	  X	Y	Z
End Nodes
 
Begin Elements element_name
  // id prop_id	 n1	n2	n3	...
End Elements
 
Begin Conditions condition_name 
  // id prop_id	 n1	n2	n3	...
End Conditions
 
Begin NodalData VARIABLE_NAME
  //  id is_fixed value               //data accessible by GetSolutionStepValue
End NodalData
 
Begin ElementalData VARIABLE_NAME
  //  id value                        //data accessible by GetValue
End ElementalData
 
Begin ConditionalData VARIABLE_NAME
  //  id value                        //data accessible by GetValue
End ConditionalData 
 
Begin Mesh mesh_id   // mesh_id cannot be zero!
  Begin MeshData
    //VARIABLE_NAME value                 //data accessible by GetValue or operator []
  End MeshData
  Begin MeshNodes
    // node_id
  End MeshNodes
 
  Begin MeshElements
    // element_id
  End MeshElements
 
  Begin MeshConditions
    // condition_id
  End MeshConditions
End Mesh

Begin SubModelPart SubModelPartName
  Begin SubModelPartData
    // VARIABLE_NAME value 
  End SubModelPartData
  Begin SubModelPartTables
    // Table_id
  End SubModelPartTables

  Begin SubModelPartNodes
    // node_id
  End SubModelPartNodes

  Begin SubModelPartElements
    // element_id
  End SubModelPartElements

  Begin SubModelPartConditions
    // condition_id
  End SubModelPartConditions

  Begin SubModelPart SubModelPartName // Note that this would be a sub sub modelpart
    Begin SubModelPartTables
      // Table_id
    End SubModelPartTables
  
    Begin SubModelPartNodes
      // node_id
    End SubModelPartNodes

    Begin SubModelPartElements
      // element_id
    End SubModelPartElements

    Begin SubModelPartConditions
      // condition_id
    End SubModelPartConditions
  End SubModelPart
End SubModelPart

Each block starts with a Begin statement following by the block name and ends with the End statement again following by the block name. Some block may have some additional parameter like id or variable in their definitions.

ModelPartData Block

Example

Here is an example of mdpa file:

Begin ModelPartData
  //  VARIABLE_NAME value
  AMBIENT_TEMPERATURE 250.00
End ModelPartData
 
Begin Table 1 TEMPERATURE VISCOSITY
  200. 2e-6
  300. 3e-6
  400. 4e-6
End Table

Begin Properties 1
  DENSITY 3.4E-5  //scalar
  THICKNESS 19.5
  VOLUME_ACCELERATION [3] (0.00,0.00,9.8) //vector
  LOCAL_INERTIA [3,3] ((0, 0.27,0.27),(0.087,0,0.27),(0.075,0.23,0)) // matrix

  Begin Table TEMPERATURE VISCOSITY
    200. 2e-6
    300. 3e-6
    400. 4e-6
  End Table

End Properties

Begin Nodes
  1                  16                   0                   0
  2                  16                 0.4                   0
  3                15.6                   0                   0
  972                   0                 7.2                   0
  973                   0                 7.6                   0
  974                   0                   8                   0
End Nodes

Begin Elements Element2D3N
  1 1        1        2        3
  2 1        2        3        972
  3 1        3        972      973
  1796 1     972      973      974
End Elements
 
Begin Conditions Condition2D
  1    1        1          2
  1800 1        2          3
  1801 1        3          972
  1947 1        972        973
  1948 1        973        974
End Conditions


Begin NodalData DISPLACEMENT_X
  1 1 0.100000
  2 1 0.200000
  973 1 0.000000
  974 1 0.000000
End NodalData

Begin NodalData DISPLACEMENT_Y
  1 1 0.000000
  2 1 0.000000
  973 1 0.000973
  974 1 0.000974
End NodalData

Begin NodalData DISPLACEMENT_Z
  1 1 0.000000
  2 1 0.000000
  973 1 0.000000
  974 1 0.000000
End NodalData

Begin NodalData VISCOSITY
  1 0 0.010000
  2 0 0.010000
  973 0 0.010000
  974 0 0.010000
End NodalData

Begin SubModelPart Inlets
  Begin SubModelPartTables
    1
  End SubModelPartTables

  Begin SubModelPartNodes
    1
    2
  End SubModelPartNodes

  Begin SubModelPartElements
    1
  End SubModelPartElements

  Begin SubModelPartConditions
    1
    1800
  End SubModelPartConditions

  Begin SubModelPart Inlet1
    Begin SubModelPartNodes
      1
      3
    End SubModelPartNodes

    Begin SubModelPartConditions
      1
      1800
    End SubModelPartConditions

  End SubModelPart // Inlet1

  Begin SubModelPart Inlet2
    Begin SubModelPartConditions
      1800
      1801
    End SubModelPartConditions
  End SubModelPart // Inlet2

End SubModelPart // Inlets

Begin SubModelPart Outlet
  Begin SubModelPartProperties
    1
  End SubModelPartProperties

  Begin SubModelPartConditions
    1948
  End SubModelPartConditions

End SubModelPart // Outlet

The old format for data file is still supported due to the backward compatibility but without further improvement. The old format description can be found here

Personal tools
Categories