-
Notifications
You must be signed in to change notification settings - Fork 248
Composite clamped cylinder
The linear static orthotropic composite clamped cylinder test considers a cylinder clamped at both ends subject to internal pressure. A cylinder of length a = 20, radius R = 20 and total laminate thickness of h = 1 is subject to a uniform internal pressure of p_0 = (6410/π) [1]. The system is setup as follows:
Problem definition [1]
The laminate is considered in both single and double ply arrangements, with the lamina properties defined as:
- E_1 = 7.5E6,
- E_2 = 2E6
- G_12 = 1.25E6
- G_13 = G_23 = 0.625E6
- ν_12 = 0.25
Due to symmetry only half the cylinder was modeled, while the mesh was refined under the constraint of 'circumferential divisions = 1.5(axial divisions)'.
The key quantity of interest is the maximum radial displacement of the cylinder, with the reference solution taken from Reference [1].
The following displacement contour of the Kratos thin quad element (mesh = 864 elements) with a 2-ply layup is provided for context.
Composite clamped cylinder results: displacement contour of Kratos thin quad element (2 ply layup)
The results of the test for the thin quad and thick triangle Kratos shell elements with a single ply layup are presented below.
Composite clamped cylinder results: single ply layup
The results of the test for the thin quad and thick triangle Kratos shell elements with a double ply layup are presented below.
Composite clamped cylinder results: double ply layup
Both graphs above indicate the thick triangular and thin quadrilateral Kratos shell elements agree with the reference solutions.
- Junuthula Narasimha Reddy. Mechanics of laminated composite plates and shells: theory and analysis. CRC press, 2004.
- Getting Kratos (Last compiled Release)
- Compiling Kratos
- Running an example from GiD
- Kratos input files and I/O
- Data management
- Solving strategies
- Manipulating solution values
- Multiphysics
- Video tutorials
- Style Guide
- Authorship of Kratos files
- Configure .gitignore
- How to configure clang-format
- How to use smart pointer in Kratos
- How to define adjoint elements and response functions
- Visibility and Exposure
- Namespaces and Static Classes
Kratos structure
Conventions
Solvers
Debugging, profiling and testing
- Compiling Kratos in debug mode
- Debugging Kratos using GDB
- Cross-debugging Kratos under Windows
- Debugging Kratos C++ under Windows
- Checking memory usage with Valgind
- Profiling Kratos with MAQAO
- Creating unitary tests
- Using ThreadSanitizer to detect OMP data race bugs
- Debugging Memory with ASAN
HOW TOs
- How to create applications
- Python Tutorials
- Kratos For Dummies (I)
- List of classes and variables accessible via python
- How to use Logger
- How to Create a New Application using cmake
- How to write a JSON configuration file
- How to Access DataBase
- How to use quaternions in Kratos
- How to do Mapping between nonmatching meshes
- How to use Clang-Tidy to automatically correct code
- How to use the Constitutive Law class
- How to use Serialization
- How to use GlobalPointerCommunicator
- How to use PointerMapCommunicator
- How to use the Geometry
- How to use processes for BCs
- How to use Parallel Utilities in futureproofing the code
- Porting to Pybind11 (LEGACY CODE)
- Porting to AMatrix
- How to use Cotire
- Applications: Python-modules
- How to run multiple cases using PyCOMPSs
- How to apply a function to a list of variables
- How to use Kratos Native sparse linear algebra
Utilities
Kratos API
Kratos Structural Mechanics API