|
# Desciption of the file damageinfo.dat
|
|
# DamageBand Wiki
|
|
|
|
|
|
damageinfo.dat is read by DamageInfoParser.h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## initial control:
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `initial_defect_width` = 0.2 | ratio of `lc`. Here, the initial defect will be **0.2** times the characteristic length `lc` of the material. |
|
|
|
|
| `restart_file` = ls_control_timestep_0730.bin | (no warranty on the restart procedure) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## job control :
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `main_debug` = 0 | **1** for verbose output, else **0** . |
|
|
|
|
| `max_number_iterations` = 200 | maximum number of iteration for crack propagation.|
|
|
|
|
| `maximum_elastic_nl_iteration` = 20 | maximum number of iteration for Newton-Raphson solver. |
|
|
|
|
| `residual_threshold` = 1.e-5 | maximum residual for Newton-Raphson solver. |
|
|
|
|
| `update_tangent_mat_freq` = 5 | ... |
|
|
|
|
| `number_of_thread` = 4 | ... |
|
|
|
|
| `elastic_solver_verbose` = 0 | **1** for verbose output for MUMPS solver|
|
|
|
|
| `velocity_solver_verbose` = 0 | **1** for verbose output for MUMPS solver|
|
|
|
|
| `elastic_solver_condn` = 0 | matrix conditionning for SuperLU solver |
|
|
|
|
| `elastic_solver_mumps_mem` = 5500 | ... for MUMPS solver |
|
|
|
|
| `velocity_solver_mumps_mem` = 5500 |... for MUMPS solver |
|
|
|
|
| `elastic_solver_mumps_mem_relax`= | ... for MUMPS solver |
|
|
|
|
| `velocity_solver_mumps_mem_relax` | ... for MUMPS solver |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## physical caracteristique:
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `lc` = 0.01 | Characteristic length `lc` of the material. |
|
|
|
|
| `Yc` = 100 | Characteristic Energy Release Rate`Yc` of the material. Not used if `hardeningCZM` is equal to **1**. |
|
|
|
|
| `YPCoef` = 0. | Generally **0** (default).|
|
|
|
|
| `2D_plane_condition` = `plane_strain` | 2D assumption |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## hardening properties (CZM)
|
|
|
|
|
|
|
|
See **Fig. 3 a** in article **Comparison between thick level set (TLS) and cohesive zone models**, Andrés Parrilla Gómez,
|
|
|
|
Nicolas Moës and Claude Stolz, **Advanced Modeling and Simulation in Engineering Sciences**, 2015, pp 2:18,
|
|
|
|
DOI: 10.1186/s40323-015-0041-9
|
|
|
|
|
|
|
|
[[https://static-content.springer.com/image/art%3A10.1186%2Fs40323-015-0041-9/MediaObjects/40323_2015_41_Fig3_HTML.gif]]
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `hardeningCZM` = 1 | **1**: use Cohesive Zone Model equivalence (it is NOT the Cohesive Zone modeling, but a modification of the TLS in order to get the same behavior). |
|
|
|
|
| `CZM_wf` = 7.80e-5 | *wf* maximun opening value (stress = 0). |
|
|
|
|
| `CZM_w1` = 3.00e-5 | *w1* intersection of opening axis and the first slope. |
|
|
|
|
| `CZM_sigmak` = 1.00e6 | stress at point where the slope changes. |
|
|
|
|
| `CZM_sigmac` = 3.00e6 | stress where the opening starts (opening = 0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## numerical methode control:
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `polynomial_order` = 2 | **2** (but, level set order is 1) |
|
|
|
|
| `space_type` = 1 | ... |
|
|
|
|
| `use_enrichment` = 5 | **5** to use Heavyside function enrichment of the crack, else **3** |
|
|
|
|
| `update_displacement_field` = 0 | **0** means that the displacement field is unknown every iteration. **1** the displacement field is initiated with the previous displacement field in the Newton-Raphson solver (may reduice the N-R process in some case, but is more time consuming ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## geometric representation of the tls
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `tls_geom_interface` = 2 | **2** for Double Cut to use with `use_enrichment` equal to **5** or **0** , **0** for Simple Cut to use with `use_enrichment` equal to **3** or **0** (**1** for experimental double cut implemented by Nicolas Chevaugeon for 2D problems). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## velocity control:
|
|
|
|
|
|
|
|
damage front (level set) displacement control
|
|
|
|
|
|
|
|
[[http://ars.els-cdn.com/content/image/1-s2.0-S004578251200062X-si93.gif]]
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `front_advance_algo` = 3 | generally **3**, except for Cohesive Zone Model equivalence where it is **4**. |
|
|
|
|
| `k_max` = 100. | maximum value of `kmax`. |
|
|
|
|
| `power_law_coef` = 100. | initial value of `kmax`, which may evolve during the TLS process but will be limited by `k_max`(above). Small value induces a global expansion of the damage zone (level set displacment), big value induces propagation arround the process zone (crack tip). Must be big compared to `lc`. See **A level set based model for damage growth: The thick level set approach**, N. Moës, C. Stolz, P.-E. Bernard, N. Chevaugeon, **International Journal For Numerical Methods in Engineering**, 86,pp 358–380, 2011 |
|
|
|
|
| `CFLfactor` = 0.25 | the maximum displacement of the damage level set is set to **0.25** times the size of the element on which the displacement is maximum. The value must be between **0.25** and **0.6**.|
|
|
|
|
| `Yx_mean_algo` = 0 | method to compute <Y> (average of Y). Default value is **0**.|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## damage law control:
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `damage_shape` = `Poly3` | the shape of the function Phi(d). Generally `Poly3 ` except for Cohesive Zone Model equivalence where it is `Poly2revert`.|
|
|
|
|
| `hcoef` = 0. | coefficient before `alpha_i` variables of the asymmetric traction/compression behavior of the material : **0** means that asymmetric is taken into account, **1** means that the material is symmetric (standard elasticity). Generally **0** or **1** but can be fixed numerically in [0,1]. |
|
|
|
|
| `penalty_coef` = 1. | involved in the computation of the field averaging (see Eq.9.a in the paper of A. Salzman 2016). |
|
|
|
|
| `radius_factor` = .2 | the initial radius of level set will be set to 0.2 times `lc`. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Octree control
|
|
|
|
|
|
|
|
Only used withDamageTestContext <DamageTestOctree> template parameter.
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `band_width_octree` = 1.5 | ratio of `lc`. Distance arround the damage level set where the mesh is fine. |
|
|
|
|
| `band_width_geo` = 1. | default value is **1** |
|
|
|
|
| `band_width_fr` = 0.25 | ratio of `lc`. Define mesh refinement where boundary conditions are applied. |
|
|
|
|
| `min_recursion_level` = 1 | octree level where mesh is coarse. |
|
|
|
|
| `octree_recursion_level` = 6 | octree level where mesh is fine. |
|
|
|
|
| `octree_inter_level` = 3 | octree level for transition mesh. |
|
|
|
|
|
|
|
|
|
|
|
|
## search for initiation control:
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `search_for_initiations` = -10000 | when smaller than **0**, initation zone is automatically computed at the beginning of the job. When greater than **0** the initiation zone is evaluated every `search_for_initiations` iterations. |
|
|
|
|
| `start_with_search_for_initiations` = 1 | **1**: start the job with a virgin part and `search_for_initiations` must be less than **0**. **0**: the initiation zone is defined by the level set given in the main file. |
|
|
|
|
| `sphere_radius_search_for_initiations` = 0.03 | ratio of `lc` for level set initiation. |
|
|
|
|
| `search_at_adapt` = 1 | initation zone is automatically computed every time that the mesh is refined ( only works with octree at now) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## export control:
|
|
|
|
|
|
|
|
| **command**| **description**|
|
|
|
|
|:------------------------------------------------|:-------------------------------|
|
|
|
|
| `full_elastic_out` = 0 | **0**: export mesh without the full-damaged zone (**d=1**). **1**: the zone where **d=1** is meshed for output. |
|
|
|
|
| `load_factor_out` = 1 | **1**: fields are ouput by taken into account the load factor. **0** fields are output for the load given in the **main.dat** file |
|
|
|
|
| `output_name` = output | screen output will be output in the file **output.txt** |
|
|
|
|
| `export_manager = { ` | Use to export fields declared by `MyExport(...)` commands in the c++ files |
|
|
|
|
| *displacement* 20 | `MyExport("displacement",...)` will be execute every **20** iterations. Synthax **5+23** means every **5** itérations after iteration **23** is reached (then, the first is **25**) |
|
|
|
|
| *strain* 20 | `MyExport("*strain*",...)` will be executed every **20** iterations |
|
|
|
|
| *stress* 20 | `MyExport("*stress*",...)` will be executed every **20** iterations |
|
|
|
|
| *isoCrakDamageFront* 1 | `MyExport("*isoCrakDamageFront*",...)` will be executed every **1** iteration |
|
|
|
|
| *damage* 5 `}` | `MyExport("*damage*",...)` will be executed every **5** iterations |
|
|
|
|
| `debug_geom` 1 | extra verbose output for debug |
|
|
|
|
|
|
|
|
[Description of damageinfo.dat](damage-info) |
|
[Description of damageinfo.dat](damage-info) |
|
\ No newline at end of file |
|
|