Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:results:courbes_res

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:user:results:courbes_res [2018/07/23 10:55] – [Extracting values on an interaction] cerquagliadoc:user:results:courbes_res [2023/05/25 11:28] (current) papeleux
Line 52: Line 52:
 ===== FacValuesManager ===== ===== FacValuesManager =====
  
-The ''FacValuesManager'' manages the extraction of data at each time a "bfac" file is written. It is a exactely the same object that the ValueManager, but called at different time of the time integration.+The ''FacValuesManager'' manages the extraction of data at each time a "bfac" file is written. It is exactly the same object as the ''ValuesManager'', but called at different times of the time integration.
  
-To access the ''FacValueManager'', just get it from metafor. The rest of the syntax is the same..+To access the ''FacValuesManager'', just get it from metafor. The rest of the syntax is the same.
  
-  facValuesmanager = metafor.getFacValuesManager()+  facValuesManager = metafor.getFacValuesManager()
      
 <note important>Be carefull that ThermoDynamics Fields (TdFieldValueExtractor) will give false values, as they accumulate values from each time step !!! Metafor will not prohibit the use of them (it is up to you to NOT define them).</note> <note important>Be carefull that ThermoDynamics Fields (TdFieldValueExtractor) will give false values, as they accumulate values from each time step !!! Metafor will not prohibit the use of them (it is up to you to NOT define them).</note>
  
 +===== StageValuesManager =====
  
 +The ''StageValuesManager'' manages the extraction of data at the end of each stage. It is exactly the same object as the ''ValuesManager'', but called at different times of the time integration. 
 +
 +To access the ''StageValuesManager'', just get it from metafor. The rest of the syntax is the same. 
 +
 +    stageValuesManager = metafor.getStageValuesManager()
 +
 +<note important>Be carefull that ThermoDynamics Fields (TdFieldValueExtractor) will give false values, as they accumulate values from each time step !!! Metafor will not prohibit the use of them (it is up to you to NOT define them).</note>
  
 ===== ValueExtractor ===== ===== ValueExtractor =====
Line 120: Line 128:
 Extract values stored in the data base, On geometrically defined point (positions, displacements, temperature, forces, velocities, ...).  Extract values stored in the data base, On geometrically defined point (positions, displacements, temperature, forces, velocities, ...). 
  
-  valueExtractor = DbGeoPointValueExtractor (pointList, mesh, field)+  valueExtractor = DbGeoPointValueExtractor (pointList, meshedObject, field) 
 +  valueExtractor = DbGeoPointValueExtractor (pointList, meshedObjectList, field)
   valueExtractor.setEulerian(True)    valueExtractor.setEulerian(True) 
   valueExtractor.setOutsideTol(tol)   valueExtractor.setOutsideTol(tol)
Line 126: Line 135:
 where where
  
-| ''listPt''  | List of points where the field is extracted                         | +| ''listPt''         | List of points where the field is extracted                         | 
-| ''mesh''    | Mesh from which the value is extracted                              |  +| ''meshObject''     Meshed Object from where the point will try to find the element from which the value is interpolated |  
-| ''dbField'' | [[doc:user:general:locks|Field1D]] describing the scalar to extract |  +| ''meshObjectList'' | List of Mesh Meshed Object from where the point will try to find the element from which the value is interpolated |  
-| ''tol''     | Outside tolerance in terms of reduced coordinate (default = 0.2)    | +| ''dbField''        | [[doc:user:general:locks|Field1D]] describing the scalar to extract |  
 +| ''tol''            | Outside tolerance in terms of reduced coordinate (default = 0.2)    | 
  
  
Line 136: Line 146:
  
     pt102 = pointset.define(102,0.15*Lx,0.75*Ly,0)     # geo point of extraction (must be in pointset)     pt102 = pointset.define(102,0.15*Lx,0.75*Ly,0)     # geo point of extraction (must be in pointset)
-    dyPt102 = DbGeoPointValueExtractor([pt102,], geometry.getMesh(), Field1D(TY, RE))+    dyPt102 = DbGeoPointValueExtractor([pt102,], [volset(idx+1), volset(idx+2)], Field1D(TY, RE))
     dyPt102.setEulerian(True)                       # Eulerian point (not moving with elements)     dyPt102.setEulerian(True)                       # Eulerian point (not moving with elements)
     dyPt102.setOutsideTol(0.5)                      # half an element outside detection tolerance     dyPt102.setOutsideTol(0.5)                      # half an element outside detection tolerance
Line 146: Line 156:
 Value are interpolated from Integration Points Values. Value are interpolated from Integration Points Values.
  
-  valueExtractor = IFGeoPointValueExtractor (pointList, mesh, InternalField)+  valueExtractor = IFGeoPointValueExtractor (pointList, meshedObject, InternalField) 
 +  valueExtractor = IFGeoPointValueExtractor (pointList, meshedObjectList, InternalField)
   valueExtractor.setEulerian(True)    valueExtractor.setEulerian(True) 
   valueExtractor.setOutsideTol(tol)   valueExtractor.setOutsideTol(tol)
Line 152: Line 163:
 where where
  
-| ''listPt''  | List of points where the field is extracted                         | +| ''listPt''         | List of points where the field is extracted                         | 
-| ''mesh''    | Mesh from which the value is extracted                              |  +| ''meshObject''     Meshed Object from where the point will try to find the element from which the value is interpolated |  
-| ''InternalField'' | [[doc:user:general:ifields|internal field]] of the element extrapolated in the node |  +| ''meshObjectList'' | List of Mesh Meshed Object from where the point will try to find the element from which the value is interpolated |  
-| ''tol''     | Outside tolerance in terms of reduced coordinate (default = 0.2)    | +| ''InternalField''  | [[doc:user:general:ifields|internal field]] of the element extrapolated in the node |  
 +| ''tol''            | Outside tolerance in terms of reduced coordinate (default = 0.2)    | 
  
 __Example:__ __Example:__
  
     pt102 = pointset.define(102,0.15*Lx,0.75*Ly,0)     # geo point of extraction (must be in pointset)     pt102 = pointset.define(102,0.15*Lx,0.75*Ly,0)     # geo point of extraction (must be in pointset)
-    eplPt102 = IFGeoPointValueExtractor([pt102,], geometry.getMesh(), IF_EPL) +    eplPt102 = IFGeoPointValueExtractor([pt102,], volset(101), IF_EPL) 
     eplPt102.setEulerian(True)                        # Eulerian point (not moving with elements)     eplPt102.setEulerian(True)                        # Eulerian point (not moving with elements)
     eplPt102.setOutsideTol(0.5)                       # half an element outside detection tolerance      eplPt102.setOutsideTol(0.5)                       # half an element outside detection tolerance 
          
  
-=== GeoPtValueExtractor ===+=== StrainGaugeValueExtractor ===
  
-Extract fields at given positionInterpolates nodal value of the corresponding element. These nodal values are either variables stored in these nodes (positions, displacements, temperature, fores, velocities, ...or an extrapolation and average of variables stored at the integration points.+It is possible to modelize strainGauge in Metafor using GeoPointValueExtractorsSelecting the 2 geometrical points  (anywhere in the meshdefining the Strain Gauge, the distance between the tho points can be computed during the simulation allowing to define a StrainGaufeValueExtractorThe strain measure define the kind of extractor : 
  
-  valueExtractor = GeoPtValueExtractor (listPt, meshfield+  valueExtractor = BiotStrainGaugeValueExtractor(listPt, meshedObject) 
-  valueExtractor = GeoPtValueExtractor (listPt, meshfieldsOp None)+  valueExtractor = BiotStrainGaugeValueExtractor(listPtmeshedObjectList
 +  valueExtractor = GLStrainGaugeValueExtractor(listPt, meshedObject) 
 +  valueExtractor = GLStrainGaugeValueExtractor(listPtmeshedObjectList) 
 +  valueExtractor = NatStrainGaugeValueExtractor(listPtmeshedObject) 
 +  valueExtractor NatStrainGaugeValueExtractor(listPt, meshedObjectList)
  
 where where
  
-| ''listPt''  | List of points where the field is extracted +| ''listPt''         | List of the 2 points defining the strain Gauge 
-| ''mesh''    Mesh from which the value is extracted |  +| ''meshObject''     Meshed Object from where the point will try to find the element from which the value is interpolated |  
-| ''field''   [[doc:user:general:locks|Field1D]] describing the scalar to extract or [[doc:user:general:ifields|internal field]] of the element extrapolated and averaged in the node |  +| ''meshObjectList''List of Mesh Meshed Object from where the point will try to find the element from which the value is interpolated  
-''sOp''     [[doc:user:general:SortingOperator|SortingOperator]] : sort nodes according to a geometric criterion  ''def=None'' will give the order in which these nodes are generated (not reliable) | +and if $\lambda = \frac{l}{l_0}$ the ratio of current to initial length of the Strain Gauge 
- +BiotStrainGaugeValueExtractor $\epsilon  \lambda-1 = \frac{l}{l_0}-1$ (Engineer Strain) | 
-__Example:__ +| GLStrainGaugeValueExtractor   | $\epsilon  = 0.5*(\lambda^2-1) $ | 
- +| NatStrainGaugeValueExtractor  | $\epsilon  = ln(\lambda)$ |
-  valuesmanager.add(8, GeoPtValueExtractor [point1, point2], Field1D(T0,RE)), 'temperature_P1_P2')+
  
-Extract a result curve numbered 8 defined by the temperature in points 1 and 2. This curve is named ''temperature_P1_P2''. 
 === TdFieldValueExtractor === === TdFieldValueExtractor ===
  
Line 256: Line 270:
 |              | 3D : Topological volume | |              | 3D : Topological volume |
 | ''ifield''   | [[doc:user:general:ifields|internal field]] of the element extrapolated to the node |  | ''ifield''   | [[doc:user:general:ifields|internal field]] of the element extrapolated to the node | 
-|              | ''TX'' : X coordinate|  
-|              | ''TY'' : Y coordinate| 
-|              | ''TZ'' : Z coordinate| 
- 
 :!: works, but :!::!::!: :!: works, but :!::!::!:
  
Line 275: Line 285:
 |              | 2D : Topological face |  |              | 2D : Topological face | 
 |              | 3D : Topological volume | |              | 3D : Topological volume |
-| ''ifield''   | [[doc:user:general:ifields|internal field]] of the element extrapolated to the node +| ''ifield''   | [[doc:user:general:ifields|internal field]] of the element averaged over the element 
  
 :!: works, but :!::!::!: :!: works, but :!::!::!:
Line 290: Line 300:
 |          | ''EXT_T''  : time | |          | ''EXT_T''  : time |
 |          | ''EXT_DT'' : time step | |          | ''EXT_DT'' : time step |
-|          | ''EXT_NT''number of time step | +|          | ''EXT_NT'' : time step number 
-|          | ''EXT_ITE'' : number of mechanical iterations over a time steps | +|          | ''EXT_ITE'' : number of mechanical iterations over a time step | 
-|          | ''EXT_ITE_TH'' : number of thermal iterations over a time steps | +|          | ''EXT_ITE_TOT'' : total number of mechanical iterations (included failed steps !)
-|          | ''EXT_ITE_AR'' : number of iterations with updates of tangent stiffness matrix | +|          | ''EXT_ITE_TH'' : number of thermal iterations over a time step | 
-|          | ''EXT_ITE_SR'' : number of iterations with updates of tangent stiffness matrix | +|          | ''EXT_ITE_TH_TOT'' : total number of thermal iterations (included failed steps !) 
-|          | ''EXT_ITE_LS'' : number of line-search iterations | +|          | ''EXT_ITE_AR'' : number of mechanical iterations with update of tangent stiffness matrix over a time step
-|          | ''EXT_ITE_ALM'' : number of augmentations +|          | ''EXT_ITE_SR'' : number of mechanical iterations without update of tangent stiffness matrix over a time step| 
-|          | ''EXT_ITE_ALM_TOT'' : number of total augmentations (included failed steps !)| +|          | ''EXT_ITE_AR_TOT'' : total number of mechanical iterations with update of tangent stiffness matrix  (included failed steps !)| 
-|          | ''EXT_ITE_TOT'' : number of total iterations (included failed steps !)|+|          | ''EXT_ITE_SR_TOT'' : total number of mechanical iterations without update of tangent stiffness matrix  (included failed steps !)| 
 +|          | ''EXT_ITE_TH_AR'' : number of thermal iterations with update of tangent stiffness matrix over a time step | 
 +|          | ''EXT_ITE_TH_SR'' : number of thermal iterations without update of tangent stiffness matrix over a time step| 
 +|          | ''EXT_ITE_TH_AR_TOT'' : total number of thermal iterations with update of tangent stiffness matrix  (included failed steps !)| 
 +|          | ''EXT_ITE_TH_SR_TOT'' : total number of thermal iterations without update of tangent stiffness matrix  (included failed steps !)
 +|          | ''EXT_ITE_LS'' : number of mechanical line-search iterations over a time step 
 +|          | ''EXT_ITE_LS_TOT''total number of mechanical line-search iterations (included failed steps !)
 +|          | ''EXT_ITE_TH_LS'' : number of thermal line-search iterations over a time step | 
 +|          | ''EXT_ITE_TH_LS_TOT''total number of thermal line-search iterations (included failed steps !)| 
 +|          | ''EXT_ITE_ALM'' : number of augmentations over a time step| 
 +|          | ''EXT_ITE_ALM_TOT''total number of augmentations (included failed steps !)|
 |          | ''EXT_RCOND'' : reciprocal condition number of the mechanical tangent stiffness matrix | |          | ''EXT_RCOND'' : reciprocal condition number of the mechanical tangent stiffness matrix |
 |          | ''EXT_VM....'' : Extractors of virtual memory (see table below) | |          | ''EXT_VM....'' : Extractors of virtual memory (see table below) |
Line 353: Line 373:
 where where
      
-''interaction'' --> Reference of an interaction+''interaction'' --> Reference of an interaction.
  
 ==== Extracting values on a contact interaction ==== ==== Extracting values on a contact interaction ====
Line 824: Line 844:
   * ''None'': no operator (all component,s by default)   * ''None'': no operator (all component,s by default)
   * ''MaxOperator'': maximal value   * ''MaxOperator'': maximal value
-  * ''MinOperator'': minimale value+  * ''MinOperator'': minimal value
   * ''AbsMaxOperator'': compute the value whose absolute value is maximal (but keeps its sign)   * ''AbsMaxOperator'': compute the value whose absolute value is maximal (but keeps its sign)
   * ''AbsMinOperator'': compute the value whose absolute value is minimal (but keeps its sign)   * ''AbsMinOperator'': compute the value whose absolute value is minimal (but keeps its sign)
   * ''MaxAbsOperator'': compute the maximal value of the vector containing absolute values (always positive)   * ''MaxAbsOperator'': compute the maximal value of the vector containing absolute values (always positive)
   * ''MinAbsOperator'': compute the minimal value of the vector containing absolute values (always positive)   * ''MinAbsOperator'': compute the minimal value of the vector containing absolute values (always positive)
 +  * ''MaxOfNonZeroOperator'': maximal value excluding zero values
 +  * ''MinOfNonZeroOperator'': minimal value excluding zero values
 +  * ''AbsMaxNonZeroOperator'': compute the value whose absolute value is maximal (but keeps its sign), excluding zero values
 +  * ''AbsMinNonZeroOperator'': compute the value whose absolute value is minimal (but keeps its sign), excluding zero values
 +  * ''MaxAbsNonZeroOperator'': compute the maximal value of the vector containing absolute values (always positive), excluding zero values
 +  * ''MinAbsNonZeroOperator'': compute the minimal value of the vector containing absolute values (always positive), excluding zero values
   * ''MeanOperator'': compute the average value   * ''MeanOperator'': compute the average value
   * ''SumOperator'': compute the sum (used toe extract the resultant force exercised on a given geometric entity)   * ''SumOperator'': compute the sum (used toe extract the resultant force exercised on a given geometric entity)
doc/user/results/courbes_res.1532336153.txt.gz · Last modified: 2018/07/23 10:55 by cerquaglia

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki