VK-Gong

 VK-Gong

What is VK-gong?

VK-gong is a numerical software for the time simulations of nonlinear (large amplitude) vibrations of thin plates and shells. The code relies on the von Kármán theory for geometrically nonlinear vibrations, explaining the choice of the letters "VK" in the name VK-gong.

Animated plate
The code is provided in two languages, Matlab and C++, along with some benchmark example cases to explore the capabilities of the program. A full manual is included in Documentation.

What are the main features?

VK-gong relies on a modal approach for the space discretisation of the problem, in contrast to a number of other methods such as finite elements or finite difference. The advantages of using the modal approach are the following:

  • The accuracy of the linear and nonlinear characteristics can be finely controlled and in some cases can be considered as exact, thanks to the use of analytical expressions of mode shapes, when available.

  • The damping coefficients can be tuned at ease so that any frequency dependence of the losses can be implemented.

  • The computation of the eigenfrequencies and the nonlinear coupling coefficients, are treated as off-line calculations that are done once and for all, once the geometry and material parameters have been selected. This crucial step can be realized with the desired accuracy, and is then used for each time simulation.

  • Analytical treatments are pushed as far as possible to maintain the accuracy. For particular cases where analytical solutions are available for the linear part (see {\em e.g.} the circular plate), this leads to a refined computations of all the coefficients feeding the model.


The second main feature of the code is the use of two different numerical methods for time integration:

  • The Störmer-Verlet scheme (also known as leap-frog). This scheme is symplectic, second-order accurate and conditionnally stable.

  • An energy-conserving scheme especially designed for the case of plates with a modal approach. The scheme is also second-order accurate and conditionnally stable.


VK-gong has been primarily developed in Matlab language. It has recently be translated into a C/C++ version, so that both Matlab and C/C++ version are given to the user.

What VK-gong can (and cannot) do?

The core of VK-gong is the expression of the linear and nonlinear characteristics (coupling coefficients) of the von Kármán plate PDE of motions, expressed in the basis of the eigenmodes, giving rise to a finite-dimensional system, the linear part of which is diagonal. This core can be used for a number of applications, be they static or dynamic. However in its present 1.0 version, VK-gong is only oriented toward time-domain simulations of vibrating plates with large amplitude. The inputs to be defined for running a simulation are the following:

  • Choice of the plate: one has to define the geometry, the material parameters, the boundary conditions, the presence of an imperfection, and the damping law.

  • Choice of the external forcing: to define the forces acting on the plate.

  • Choice of the simulation parameters: selection of appropriate values for numerical integration.


About the plate selection, VK-gong 1.0 can handle the following cases:

  • geometry: only circular and rectangular plates are possible at present. Plates of arbitrary shape are not allowed. In the two cases the thickness is assumed to be constant.

  • material: as isotropic linear elasticity is assumed, the material parameters are the Young modulus and the Poisson ratio. Other behaviour laws are not allowed.

  • Boundary conditions: three different cases of boundary conditions are possible for the circular plate : completely free edge, clamped edge, and elastically restrained with in-plane movable edge. For the rectangular case, only simply-supported transverse boundary conditions with in-plane movable edges are possible at present.

  • imperfection: it is possible to define a purely geometrical imperfection of the shape of the plate without pre-stress. This allows to extend the cases treated to shallow shells.

  • losses: any frequency-dependent frequency law can be input to the code.


External forces are given as pointwise excitations with different temporal contents (raised cosine for simulating an impact, harmonic sine excitation, random noise, ...). Preset values are offered in the code, however a user can extend the code to take into account other forces.

Word of caution


The current version is the first public version 1.0 of VK-gong.

VK-gong is a code developed from a research effort. It is freely available for scientific use. It is a typical research program which is provided "as is", with no guarantee whatsoever. The code is also completely open. A user can be free to take some parts of the code here and there to develop his own computations and applications, while still referencing the source VK-gong.

VK-gong has been first coded in Matlab language. Consequently the MATLAB version has to be taken as a reference. It has been tested in a number of context and is thus provided as the most reliable. The C version has been translated from the Matlab sources. It has not been tested in a systematic manner as the matlab version has been. Moreover the Störmer-Verlet version is not stabilized and has been found to diverge for some tuning parameters. On the other hand the results given with the energy-conserving scheme are more reliable. Current effort is put to solve this problems which should be fixed in the next available version. The C version of this 1.0 version of VK-gong is thus a beta-version and should be manipulated with care.