Skip to content

Commit

Permalink
Merge pull request #10896 from KratosMultiphysics/structural/update-R…
Browse files Browse the repository at this point in the history
…EADME-md

[StructuralMechanicsApplication][ConstitutiveLawsApplication] Updating README
  • Loading branch information
loumalouomega authored Nov 18, 2024
2 parents 2941a01 + 3fa7806 commit bcc5801
Show file tree
Hide file tree
Showing 3 changed files with 181 additions and 135 deletions.
99 changes: 99 additions & 0 deletions applications/ConstitutiveLawsApplication/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@

# Constitutive Laws Application

| **Application** | **Description** | **Status** | **Authors** |
|:---------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------:|:-----------:|
| `ConstitutiveLawsApplication` | The *Constitutive Laws Application* contains a series of constitutive laws implementations within *Kratos Multiphysics*. | <img src="https://img.shields.io/badge/Status-%F0%9F%9A%80%20Actively%20developed-Green" width="300px"> | Alejandro Cornejo Velázquez *([email protected] )* <br /> Sergio Jimenez Reyes *([email protected])* <br /> Riccardo Rossi *([email protected])* <br /> Rubén Zorrilla Martínez *([email protected])* <br /> Vicente Mataix Ferrándiz *([email protected])* |


The application includes tests to check the proper functioning of the application.

## 😎 Features:

- **Constitutive laws**
* *Orthotropic law (Plane stress)*
* *Hyperelastic laws*
* Neo-Hookean
* Kirchhoff
* *Small displacement isotropic plasticity laws (just 3D)*
* Combining:
* Yield surfaces:
* VonMises
* ModifiedMohrCoulomb
* Tresca
* DruckerPrager
* Plastic potential:
* VonMises
* ModifiedMohrCoulomb
* Tresca
* DruckerPrager
* Complete list:
* SmallStrainIsotropicPlasticity3DVonMisesVonMises
* SmallStrainIsotropicPlasticity3DVonMisesModifiedMohrCoulomb
* SmallStrainIsotropicPlasticity3DVonMisesDruckerPrager
* SmallStrainIsotropicPlasticity3DVonMisesTresca
* SmallStrainIsotropicPlasticity3DModifiedMohrCoulombVonMises
* SmallStrainIsotropicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb
* SmallStrainIsotropicPlasticity3DModifiedMohrCoulombDruckerPrager
* SmallStrainIsotropicPlasticity3DModifiedMohrCoulombTresca
* SmallStrainIsotropicPlasticity3DTrescaVonMises
* SmallStrainIsotropicPlasticity3DTrescaModifiedMohrCoulomb
* SmallStrainIsotropicPlasticity3DTrescaDruckerPrager
* SmallStrainIsotropicPlasticity3DTrescaTresca
* SmallStrainIsotropicPlasticity3DDruckerPragerVonMises
* SmallStrainIsotropicPlasticity3DDruckerPragerModifiedMohrCoulomb
* SmallStrainIsotropicPlasticity3DDruckerPragerDruckerPrager
* SmallStrainIsotropicPlasticity3DDruckerPragerTresca
* *Small displacement isotropic damage laws (just 3D)*
* Combining:
* Yield surfaces:
* VonMises
* ModifiedMohrCoulomb
* Tresca
* DruckerPrager
* Rankine
* SimoJu
* Damage potential:
* VonMises
* ModifiedMohrCoulomb
* Tresca
* DruckerPrager
* Complete list:
* SmallStrainIsotropicDamage3DVonMisesVonMises
* SmallStrainIsotropicDamage3DVonMisesModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DVonMisesDruckerPrager
* SmallStrainIsotropicDamage3DVonMisesTresca
* SmallStrainIsotropicDamage3DModifiedMohrCoulombVonMises
* SmallStrainIsotropicDamage3DModifiedMohrCoulombModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DModifiedMohrCoulombDruckerPrager
* SmallStrainIsotropicDamage3DModifiedMohrCoulombTresca
* SmallStrainIsotropicDamage3DTrescaVonMises
* SmallStrainIsotropicDamage3DTrescaModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DTrescaDruckerPrager
* SmallStrainIsotropicDamage3DTrescaTresca
* SmallStrainIsotropicDamage3DDruckerPragerVonMises
* SmallStrainIsotropicDamage3DDruckerPragerModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DDruckerPragerDruckerPrager
* SmallStrainIsotropicDamage3DDruckerPragerTresca
* SmallStrainIsotropicDamage3DRankineVonMises
* SmallStrainIsotropicDamage3DRankineModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DRankineDruckerPrager
* SmallStrainIsotropicDamage3DRankineTresca
* SmallStrainIsotropicDamage3DSimoJuVonMises
* SmallStrainIsotropicDamage3DSimoJuModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DSimoJuDruckerPrager
* SmallStrainIsotropicDamage3DSimoJuTresca

- **Utilities**
* *Generic constitutive laws utilities*
* *Tangent operator AD*

- **Processes**
* *Automatic initial damage*
* *Advance in time HCF*

- **Several python unittest, including Validation tests, and several cpp tests**

## ⚙️ Examples:

Examples can be found [in the same folder as the *Structural Mechanics Application*](https://github.com/KratosMultiphysics/Examples/tree/master/structural_mechanics).
34 changes: 17 additions & 17 deletions applications/ContactStructuralMechanicsApplication/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,39 +17,39 @@ The application includes tests to check the proper functioning of the applicatio

## 😎 Features:

- *Mesh tying conditions based in mortar formulation*
- **Mesh tying conditions based in mortar formulation**

- *Augmented Lagrangian contact conditions based in mortar formulation*
- **Augmented Lagrangian contact conditions based in mortar formulation**

* Frictionless formulation
* *Frictionless formulation*

* Frictional formulation
* *Frictional formulation*

- *Penalty contact conditions based in mortar formulation*
- **Penalty contact conditions based in mortar formulation**

* Frictionless formulation
* *Frictionless formulation*

* Frictional
* *Frictional formulation*

- *Simplified **MPC** conditions based in mortar formulation. With the mortar formulation the weight are computed, allowing to compute a Simplified *NTN* and a simplified *NTS**
- **Simplified **MPC** conditions based in mortar formulation. With the mortar formulation the weight are computed, allowing to compute a Simplified *NTN* and a simplified *NTS***

* Frictionless formulation
* *Frictionless formulation*

* Frictional formulation
* *Frictional formulation*

* Mesh tying formulation, with tension checking
* *Mesh tying formulation, with tension checking*

- *Self-contact compatible*
- **Self-contact compatible**

- *Strategies, processes, solvers and convergence criterias used by the contact formulation*
- **Strategies, processes, solvers and convergence criterias used by the contact formulation**

- *Several strategies for adaptive remeshing*
- **Several strategies for adaptive remeshing**

- *The application includes search utilities in order to create the contact conditions*
- **The application includes search utilities in order to create the contact conditions**

- *Frictional laws (**WIP**) in order to consider different types of frictional behaviour*
- **Frictional laws (**WIP**) in order to consider different types of frictional behaviour**

- *+115 Python unittest, including Validation tests, and +85 cpp tests*
- **+115 Python unittest, including Validation tests, and +85 cpp tests**

## ⚙️ Examples:

Expand Down
183 changes: 65 additions & 118 deletions applications/StructuralMechanicsApplication/README.md
Original file line number Diff line number Diff line change
@@ -1,137 +1,84 @@
# Structural Mechanics Application

## Structural Mechanics Application

The Structural Mechanics Application contains a series of structural elements, as well as solid elements, constitutive laws and the corresponding strategies and solvers within Kratos Multiphysics.
| **Application** | **Description** | **Status** | **Authors** |
|:---------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------:|:-----------:|
| `StructuralMechanicsApplication` | The *Structural Mechanics Application* contains a series of structural elements, as well as solid elements, the corresponding strategies, solvers and *Constitutive Laws Application* within *Kratos Multiphysics*. | <img src="https://img.shields.io/badge/Status-%F0%9F%9A%80%20Actively%20developed-Green" width="300px"> | @KratosMultiphysics/structural-mechanics |

<p align="center">
<img src="https://github.com/KratosMultiphysics/Examples/raw/master/structural_mechanics/validation/beam_roll_up/data/rollup.gif" alt="Solution" style="width: 600px;"/>
<img src="https://github.com/KratosMultiphysics/Examples/raw/master/structural_mechanics/validation/beam_roll_up/data/rollup.gif" alt="Solution" style="width: 300px;"/>
<img src="https://github.com/KratosMultiphysics/Examples/raw/master/structural_mechanics/use_cases/tensile_test_example/data/animation.gif" alt="Solution" style="width: 300px;"/>
<img src="https://github.com/KratosMultiphysics/Examples/raw/master/structural_mechanics/validation/beam_shallow_angled_structure/data/shallowAngleBeam.gif" alt="Solution" style="width: 300px;"/>
<img src="https://github.com/KratosMultiphysics/Examples/raw/master/structural_mechanics/validation/catenoid_formfinding/data/catenoid_normal.gif" alt="Solution" style="width: 300px;"/>
<img src="https://github.com/KratosMultiphysics/Examples/raw/master/structural_mechanics/validation/four_point_sail_formfinding/data/fourpoint_sail.gif" alt="Solution" style="width: 300px;"/>
<img src="https://github.com/KratosMultiphysics/Examples/raw/master/structural_mechanics/validation/two_dimensional_circular_truss_arch_snapthrough/data/DispCtrl.gif" alt="Solution" style="width: 300px;"/>
</p>

The application includes tests to check the proper functioning of the application
The application includes tests to check the proper functioning of the application.

### Features:
## 😎 Features:

- A set of *Neumann* conditions:
* Point loads (loads applied directly on the nodes)
* Point moment (a discret moment applied directly on the nodes)
* Line load (a distributed load applied over a line)
* Surface load (a distributed load applied over a face)
* A simple point contact conditions based on the distance
- **A set of *Neumann* conditions**:
* *Point loads (loads applied directly on the nodes)*
* *Point moment (a discret moment applied directly on the nodes)*
* *Line load (a distributed load applied over a line)*
* *Surface load (a distributed load applied over a face)*
* *A simple point contact conditions based on the distance*

- Solid elements:
* Small displacement elements
* Total Lagrangian elements
* Updated Lagrangian elements
* Total Lagrangian prismatic solid-shell element (SPrism)
- **Solid elements**:
* *Small displacement elements*
* Irreducible (pure displacement)
* Mixed formulation ($BBar$)
* Mixed formulation ($U-\varepsilon$)
* *Total Lagrangian elements*
* Irreducible (pure displacement)
* Mixed formulation ($U-\Delta V/V$)
* Mixed formulation ($Q1P0$)
* *Updated Lagrangian* elements *irreducible (pure displacement)*
* *Total Lagrangian prismatic solid-shell element (*SPrism*)*

- Structural elements:
* Zero-dimensional elements :
- **Structural elements**:
* *Zero-dimensional elements* :
* Nodal concentrated element (both 2D/3D). Includes nodal damping, nodal mass and nodal stiffness
* Uni-dimensional elements :
* *Uni-dimensional elements* :
* Spring-damper element (3D)
* Cable element (3D)
* Truss element (3D)
* Corrotational beam element (both 2D/3D)
* Two-dimensional elements :
* *Two-dimensional elements* :
* Membrane (pre-stressed)
* Isotropic shell element
* Thin shell (Quadrilateral and triangular)
* Thick shell (Quadrilateral and triangular)

- Constitutive laws:
* Isotropic laws (Plane strain, plane stress and 3D)
* Orthotropic law (Plane stress)
* Hyperelastic laws:
* Neo-Hookean
* Kirchhoff
* Small displacement isotropic plasticity laws (just 3D):
* Combining:
* Yield surfaces:
* VonMises
* ModifiedMohrCoulomb
* Tresca
* DruckerPrager
* Plastic potential:
* VonMises
* ModifiedMohrCoulomb
* Tresca
* DruckerPrager
* Complete list:
* SmallStrainIsotropicPlasticity3DVonMisesVonMises
* SmallStrainIsotropicPlasticity3DVonMisesModifiedMohrCoulomb
* SmallStrainIsotropicPlasticity3DVonMisesDruckerPrager
* SmallStrainIsotropicPlasticity3DVonMisesTresca
* SmallStrainIsotropicPlasticity3DModifiedMohrCoulombVonMises
* SmallStrainIsotropicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb
* SmallStrainIsotropicPlasticity3DModifiedMohrCoulombDruckerPrager
* SmallStrainIsotropicPlasticity3DModifiedMohrCoulombTresca
* SmallStrainIsotropicPlasticity3DTrescaVonMises
* SmallStrainIsotropicPlasticity3DTrescaModifiedMohrCoulomb
* SmallStrainIsotropicPlasticity3DTrescaDruckerPrager
* SmallStrainIsotropicPlasticity3DTrescaTresca
* SmallStrainIsotropicPlasticity3DDruckerPragerVonMises
* SmallStrainIsotropicPlasticity3DDruckerPragerModifiedMohrCoulomb
* SmallStrainIsotropicPlasticity3DDruckerPragerDruckerPrager
* SmallStrainIsotropicPlasticity3DDruckerPragerTresca
* Small displacement isotropic damage laws (just 3D):
* Combining:
* Yield surfaces:
* VonMises
* ModifiedMohrCoulomb
* Tresca
* DruckerPrager
* Rankine
* SimoJu
* Damage potential:
* VonMises
* ModifiedMohrCoulomb
* Tresca
* DruckerPrager
* Complete list:
* SmallStrainIsotropicDamage3DVonMisesVonMises
* SmallStrainIsotropicDamage3DVonMisesModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DVonMisesDruckerPrager
* SmallStrainIsotropicDamage3DVonMisesTresca
* SmallStrainIsotropicDamage3DModifiedMohrCoulombVonMises
* SmallStrainIsotropicDamage3DModifiedMohrCoulombModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DModifiedMohrCoulombDruckerPrager
* SmallStrainIsotropicDamage3DModifiedMohrCoulombTresca
* SmallStrainIsotropicDamage3DTrescaVonMises
* SmallStrainIsotropicDamage3DTrescaModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DTrescaDruckerPrager
* SmallStrainIsotropicDamage3DTrescaTresca
* SmallStrainIsotropicDamage3DDruckerPragerVonMises
* SmallStrainIsotropicDamage3DDruckerPragerModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DDruckerPragerDruckerPrager
* SmallStrainIsotropicDamage3DDruckerPragerTresca
* SmallStrainIsotropicDamage3DRankineVonMises
* SmallStrainIsotropicDamage3DRankineModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DRankineDruckerPrager
* SmallStrainIsotropicDamage3DRankineTresca
* SmallStrainIsotropicDamage3DSimoJuVonMises
* SmallStrainIsotropicDamage3DSimoJuModifiedMohrCoulomb
* SmallStrainIsotropicDamage3DSimoJuDruckerPrager
* SmallStrainIsotropicDamage3DSimoJuTresca

- Adjoint Sensitivity Analysis:
* This feature provides the framework to compute sensitivities of structural responses (e.g. displacements, strain energy or stresses) with respect to different types of design variables (e.g. nodal coordinates, material or cross-sectional properties or load intensity) with the adjoint approach

- Strategies:
* Formfinding strategies
* Eigensolver strategy
* Harmonic analysis strategies

- Schemes:
* Relaxation scheme
* Eigen solver scheme

- Convergence criteria:
* For displacement and other DoF
* For displacement and rotation

- Utilities and processe:
* A process to post-process eigenvalues
* A GiDIO utility for eigen values
* Process to compute the global mass of the system
* Process to identify the neighbours in a prismatic mesh
* Process to transform a pure shell mesh (local dimension equal to 2), to solid-shell mesh (pure 3D mesh)
- **Constitutive laws**:
* *Isotropic laws (Plane strain, plane stress and 3D)*
* *The ones available in [`ConstitutiveLawsApplication`](https://github.com/KratosMultiphysics/Kratos/blob/master/applications/ConstitutiveLawsApplication/README.md)*

- **Adjoint Sensitivity Analysis**:
* *This feature provides the framework to compute sensitivities of structural responses (e.g. displacements, strain energy or stresses) with respect to different types of design variables (e.g. nodal coordinates, material or cross-sectional properties or load intensity) with the adjoint approach*

- **Strategies**:
* *Formfinding strategies*
* *Eigensolver strategy*
* *Harmonic analysis strategies*

- **Schemes**:
* *Relaxation scheme*
* *Eigen solver scheme*

- **Convergence criteria**:
* *For displacement and other *DoF**
* *For displacement and rotation*

- **Utilities and processes**:
* *A process to post-process eigenvalues*
* *A *GiDIO* utility for eigen values*
* *Process to compute the global mass of the system*
* *Process to identify the neighbours in a prismatic mesh*
* *Process to transform a pure shell mesh (local dimension equal to 2), to solid-shell mesh (pure 3D mesh)*

- **+100 Python unittest, including Validation tests, and several cpp tests**

## ⚙️ Examples:

Examples can be found [here](https://github.com/KratosMultiphysics/Examples/tree/master/structural_mechanics).

0 comments on commit bcc5801

Please sign in to comment.