Data from: Chirality-induced tension–rotation coupling in cylindrical kirigami structures
Abstract
Kirigami, a class of metamaterials composed of elastic sheets with periodic cuts, enables significant in-plane compliance through out-of-plane buckling. This study comprehensively investigates the mechanics and kinematics of chiral cylindrical kirigami structures, demonstrating the emergence of spontaneous rotational deformation under axial stretching. Experimental results reveal that the geometric constraints of the cylinder transform standard tension–torsion coupling into a macroscopic rotation in the absence of external torque. We develop a theoretical model that characterizes the relative rotation angle and Poisson's ratio using a single kinematic variable: the opening angle of the parallel cuts. Finite element simulations faithfully reproduce the experimental findings, capturing the progressive nature of the out-of-plane buckling. Notably, highly chiral structures exhibit a novel, spiral-like propagation of deformation along a helical path closely aligned with the cut orientation. The proposed chiral cylindrical kirigami structure is easily fabricable and offers programmable rotation and auxetic behaviour through the precise control of structural chirality.
Dataset DOI: 10.5061/dryad.9zw3r22st
Description of the data and file structure
This dataset supports the experimental and numerical investigation of chiral cylindrical kirigami structures. It includes 3D geometry files (.stp), mesh data (.msh, .vtu), FEM simulation results (.vtu, .npy), and experimental measurements (.csv). These data can be used to reproduce figures in the associated paper and validate the proposed linkage model.
Files and variables
data0/model:data0/model/geometory_data: Contains.stpgeometry files created using Rhinoceros 3D.
The filenames are labeled by chiral index (e.g.,cylindical_kirigami_12_12.stpfor the (12,12) structure).data0/model/mesh_data: Contains mesh data used for numerical simulations. The filenames are labeled by chiral index.
The following examples correspond to the (12,12) structure:cylindical_kirigami_12_12_P2T_Size0p7.msh: Mesh file generated from the corresponding.stpfile.cylindical_kirigami_12_12_P2T_Size0p7_out.vtu: Surface-only mesh extracted from the outer surface of the structure usingcode/dataset/generate_outer_mesh.py.plane_rest_12_12.vtu: Planar reference configuration generated from the surface mesh usingcode/dataset/generate_plane_ref.py.cylinder_rest_12_12.vtu: Cylindrical configuration at t=0, representing the initial state, generated usingcode/dataset/generate_plane_ref.py.
data0/simualtionResults: Contains the simulation results. Each chiral index has a dedicated subdirectory.
The following example corresponds to the (12,12) structure:data0/simualtionResults/12_12/12_12_vel0p1_ac600: Contains simulation results generated under the conditions described in the manuscript. The contents are as follows:numpy/: Contains.npyfiles storing NumPy arrays:epsilon_from_vtu.npy: Axial strain extracted from.vtufiles, used in the processing for Figure 5(b).poisson_ave_from_vtu.npy: Poisson's ratio extracted from.vtufiles, used for the vertical axis in Figure 5(b).epsilon_z.npy: Time evolution of axial strain, output bycode/simulation/cylinder_tensile_fem.py.tensile.npy: Time evolution of axial force, output bycode/simulation/cylinder_tensile_fem.py.theta.npy: Time evolution of rigid domain rotation, output bycode/simulation/cylinder_tensile_fem.py.
vtu/: Contains.vtufiles for visualizing the deformed structure using ParaView.
A total of 241 files are stored and named in chronological order.vtu_color/: Contains.vtufiles used to visualize the direction of out-of-plane deformation of the cylindrical kirigami structure using color mapping.vtu_color_ref: Contains.vtufiles that visualize out-of-plane deformation directions in the planar kirigami sheet.snapshot: Contains.pngfiles showing snapshots of the deformation process used in Fig. 3(b) and (c). (This folder exists only in12_6and12_18.)snapshot_color: Contains.pngfiles of the deformed state with the buckling direction color-coded, used in Fig. 3(d). (This folder exists only in12_6and12_18.)snapshot_pln: Contains.pngfiles showing snapshots of the deformed cylindrical structure unfolded into a planar shape.snapshot_pln_ref: Contains.pngfiles visualizing the buckling direction in the reference state, used in Fig. 6. (This folder exists only in12_18.)snapshot_small: Contains.pngfiles showing enlarged views of the buckling direction, used in Fig. 3(d). (This folder exists only in12_18.)boundary.toml: Boundary conditions and simulation settings.dt: Time step size.dim: Number of spatial dimensions in the analysis.gi: Gravitational acceleration.tensile_vel: Prescribed tensile velocity.all_time_ratio: Ratio of the total simulation time to the tensile loading time.num_output: Number of.vtuoutput files.output_span_numpy: Interval, in time steps, at which NumPy files containing time-history data are written.displace_type: Type of time variation of the prescribed tensile velocity. In this study,"const"is specified because the structure is pulled at a constant velocity throughout the simulation.tensile_dis: Total tensile displacement applied over the entire simulation time.load: Boolean flag indicating whether mass-proportional damping is applied. Set totruewhen damping is enabled.optimal: Boolean flag indicating whether the mass-proportional damping value is adjusted according to the amount of deformation. In this study,falseis specified because the damping value is kept constant.const: Constant value of the mass-proportional damping coefficient.
machine.toml: Machine-specific execution environment settings.using_gpu: Boolean flag indicating whether GPU computation is enabled.memori_ratio: Ratio of GPU memory allocated for the computation.dir_consequence: Directory where output data are written.dir_mesh: Directory containing the mesh data.
material.toml: Material properties used during simulation.model: Type of constitutive law used for the material.young: Young’s modulus.Poisson: Poisson’s ratio.rho: Mass density.
model.toml: Geometric parameters.element: Mesh type used for in-plane elements.thick: Thickness of the sheet.height: Total height of the structure.z_max_fix: Maximum Z-coordinate of the fixed domain.z_min_free: Minimum Z-coordinate of the rigid domain.dx_mesh: Mesh size.plane_name: Mesh file name for the planar structure in the reference state.cylinder_name: Mesh file name for the cylindrical structure at the initial state (t=0)
param.toml: Other runtime parameters used in the simulation.chirality: Parameter representing the ratio of the chiral indices.
program: Text file of the program used to generate the data.
data0/experimetResults: Contains experimental time-series data in.csvformat.
The filenames are organized by chiral index for consistency.
Each.csvfile stores time-series data obtained from the tensile experiments.
The column headers in the.csvfiles represent measured or processed quantities, and their meanings and units are described below.
Common column headers include:Displacement: Tensile displacement [mm].Force: Tensile force [N].Rotation: Rotation angle [deg].
Code/software
Requirements
Code
This project requires Python 3.8.3 and the following Python modules:
taichi(v1.0.0) – for high-performance simulation utilizing GPU parallel computationnumpy(v1.24.4) – for numerical computations and array manipulationmeshio(v5.0.0) – for reading and writing mesh files such as.mshand.vtupandas(v2.0.3) – for importing experimental data in.csvformattoml(v0.10.1) – for importing and exporting configuration files written in.tomlformattqdm(v4.47.0) – for displaying progress bars during simulation and post-processingmatplotlib(v3.2.2) – for creating the figures presented in the papersympy(v1.6.1) – for symbolic computations used in numerical integration
These modules can be installed via pip:
pip install taichi==1.0.0 numpy==1.24.4 meshio==5.0.0 pandas==2.0.3 toml==0.10.1 tqdm==4.47.0 matplotlib==3.2.2 sympy==1.6.1
It is recommended to use a virtual environment (e.g., venv or conda) to avoid conflicts with system-wide packages.
External Tools
- Rhinoceros 3D (Rhino) – for creating the 3D model of the kirigami structure as
.stpfiles - Gmsh – for meshing the imported
.stpmodel, generating second-order surface elements - ParaView (v5.13.0 RC-1) – for visualizing
.vtufiles and producing the 3D renderings in the paper
Code Execution
Configuration Files
The parameters used for geometry generation, numerical simulation, data processing, and visualization are defined in the following .toml configuration files, all located in the info/ folder.
Among them, machine/path.toml must be customized according to the user's machine and directory structure, while the other settings are as described in the paper.
machine/path.toml: Defines paths specific to the user’s environment and folder structure. Pay special attention to the directory path for the mesh files, especiallydata0/model/mesh_data.material/sheet0.toml: Defines the constitutive model and material parameters of the elastic body.model/cylinder.toml: Specifies the geometric dimensions and mesh file used for the model.boundary/cylinder.toml: Defines boundary conditions and other computational settings.
Each .toml file includes inline comments describing the meaning of each parameter.
Generating Geometry Data
To generate a .vtu file that extracts only the outer surface of the cylindrical kirigami structure from the original .msh mesh file, run:
python code/dataset/generate_outer_mesh.py --machine info/machine/path.toml --model info/model/cylinder.toml --chirality 12_12 --opt output
To generate a .vtu file representing the planar reference state and the corresponding deformed state at time t = 0, execute:
python code/dataset/generate_plane_ref.py --machine info/machine/path.toml --model info/model/cylinder.toml --chirality 12_12 --opt output
--machine: Path to the machine configuration file.--model: Path to the model configuration file.--chirality: Specify the chirality (choose from:12_6,12_9,12_12,12_15,12_18,12_21,12_24).--opt: Output mode specification (outputto save the results,debugto run without saving).
Running the Simulation
The tensile simulation of the chiral cylindrical kirigami structure is executed via the following script with multiple .toml files as input:
python code/simulation/cylinder_tensile_fem.py --machine info/machine/path.toml --material info/material/sheet0.toml --model info/model/cylinder.toml --boundary info/boundary/cylinder.toml --chirality 12_12 --opt output
--machine: Path to the machine configuration file.--material: Path to the material properties configuration file.--model: Path to the model geometry and mesh file settings.--boundary: Path to boundary condition and simulation parameter settings.--chirality: Specify the chirality (choose from:12_6,12_9,12_12,12_15,12_18,12_21,12_24).--opt: Output mode (output to save results, debug to run without saving).
Visualization and Post-Processing
To reproduce the graphs illustrating the relationships between strain and force, and between strain and twist angle, as shown in Figures 2(a) and 2(b), execute the following command:
python code/arrange/ploting_s_s_and_s_gamma_curve.py --result [path_to_simulation_results] --fig [path_to_figure_output] --experiment [path_to_experimental_results] --opt output
--result: Path to the folder containing all simulation results.--fig: Path to the folder where the output figure will be saved.--experiment: Path to the folder containing the experimental results.--opt: Output mode specification (outputto save the results,debugto run without saving).
To generate .vtu files colored according to the direction of out-of-plane deformation, as depicted in Figure 3(d), execute the following command:
python code/arrange/coloring_patterm_cylinder.py --opt output --result [path_to_simulation_results]
--result: Path to the directory containing the analysis results for a specific simulation condition.--opt: Output mode specification (outputto save the results,debugto run without saving).
Before running the script, ensure that the specified result directory exists and includes the necessaryvtufolder.
To obtain arrays representing the changes in axial strain and Poisson's ratio from the output .vtu files, execute the following command:
python code/arrange/get_strain_poisson_from_vtu.py --result [path_to_simulation_results] --opt output
--result: Path to the directory containing the analysis results for a specific simulation condition.--opt: Output mode specification (outputto save the results,debugto run without saving).
Before running the script, ensure that the specified result directory exists and includes the necessaryvtufolder.
To reproduce the graph illustrating the relationship between strain and twist angle shown in Figure 5(a), run the following command:
python code/arrange/ploting_strain_rotation.py --opt output --result [path_to_simulation_results] --fig [path_to_figure_output] --experiment [path_to_experimental_results]
--result: Path to the folder containing all simulation results.--fig: Path to the folder where the output figure will be saved.--experiment: Path to the folder containing the experimental results.--opt: Output mode specification (outputto save the results,debugto run without saving).
To reproduce the graph showing the relationship between chirality and Poisson's ratio as displayed in Figure 5b, run the following command:
python code/arrange/ploting_poisson.py --opt output --result [path_to_simulation_results] --experiment [path_to_experimental_results] --fig [path_to_figure_output]
--result: Path to the folder containing all simulation results.--fig: Path to the folder where the output figure will be saved.--experiment: Path to the folder containing the experimental results.--opt: Output mode specification (outputto save the results,debugto run without saving).
To generate .vtu files of the reference-state planar kirigami sheet, colored according to the direction of out-of-plane deformation as shown in Figure 6, execute the following command:
python code/arrange/coloring_pattern_ref.py --opt output --result [path_to_sumulation_results]
--result: Path to the directory containing the analysis results for a specific simulation condition.--opt: Output mode specification (outputto save the results,debugto run without saving).
ParaView for 3D Visualization
For visualizing the deformation of the elastic body, we used ParaView (version 5.13.0 RC-1).
The .vtu files output by the simulation and post-processing scripts can be directly loaded into ParaView for detailed 3D inspection.
In our visualization workflow:
- Surface rendering mode was used to display the geometry of the elastic body.
- Color mapping was applied to represent the direction of out-of-plane deformation.
- For cylindrical kirigami structures, the "Clip with an Implicit Function" feature was used to display only the front half of the structure for clarity.
- The Ray Tracing feature was enabled to enhance lighting and surface visualization in final renderings.
