Differences
This shows you the differences between two versions of the page.
user_manual_tomawac [2013/06/06 10:33] j.parisi |
user_manual_tomawac [2014/10/10 16:01] (current) |
||
---|---|---|---|
Line 2764: | Line 2764: | ||
Since the boundary spectrum computation procedures are similar to those for the initial spectrum, refer to | Since the boundary spectrum computation procedures are similar to those for the initial spectrum, refer to | ||
section 8.4 for further details. | section 8.4 for further details. | ||
+ | |||
+ | === 8.5.3. The LIMWAC user subroutine === | ||
+ | |||
+ | It should be reminded that the spectrum is discretised over both frequencies and directions and that it is a | ||
+ | relative spectrum, i.e. expressed in a coordinate system that moves with the current. | ||
+ | |||
+ | The subroutine LIMWAC, in its original version, allows to impose the spectrum components at each point of | ||
+ | a boundary with a prescribed value. The spectrum components are calculated from the parameters specified | ||
+ | in the CAS file (see section 7.2.1). This subroutine, however, can easily be modified to specify e.g. nonhomogeneous | ||
+ | (in space) boundary conditions. When such specific boundary conditions are required, these | ||
+ | will ideally be incorporated in the user part provided in the code of the LIMWAC procedure. The keyword | ||
+ | BOUNDARY SPECTRUM MODIFIED BY USER must also be set to YES. | ||
+ | |||
+ | ==== 8.6. Some useful subroutines ==== | ||
+ | \\ | ||
+ | |||
+ | === 8.6.1. Modification of bottom topography: CORFON subroutine === | ||
+ | |||
+ | The seabed levels can be modified in two different ways, as already stated in section 7.5. | ||
+ | |||
+ | The seabed levels can be modifed at the beginning of the computation using the CORFON subroutine, which | ||
+ | is called once at the beginning of the computation. This subroutine allows the value of the ZF variable to be | ||
+ | modified at each mesh point. For this purpose, a number of variables such as, for instance, the point | ||
+ | coordinates, the element area values, the connectivity table, etc., are provided. | ||
+ | |||
+ | By default, the CORFON subroutine performs the same number of bottom smoothing iterations as LISFON, | ||
+ | i.e. the same value as specified by the integer keyword BOTTOM SMOOTHINGS. | ||
+ | |||
+ | Note that the CORFON subroutine is not called in case the computation is initialized with the result of a | ||
+ | former TOMAWAC run (“hot start”). | ||
+ | |||
+ | This subroutine is part of the TELEMAC-2D library and is listed in APPENDIX 2. | ||
+ | |||
+ | === 8.6.2. Modifying the co-ordinates: CORRXY subroutine === | ||
+ | |||
+ | TOMAWAC allows the mesh point co-ordinates to be modified at the beginning of the computation, so that | ||
+ | an up-scaling (switching from a small scale model to a full-size model), a rotation or a translation can be | ||
+ | performed. | ||
+ | |||
+ | Such changes are made using the CORRXY subroutine from the BIEF library, which is called in at the | ||
+ | beginning of the computation. This subroutine is void by default and provides, in the form of a comment, an example of programming relevant to a change of scale and origin. It is part of the TELEMAC-2D library and | ||
+ | is listed in APPENDIX 2. | ||
+ | |||
+ | === 8.6.3. Operations on vectors: OV subroutine === | ||
+ | |||
+ | The BIEF library has a range of very useful subroutines including, in particular, subroutines for operations on | ||
+ | vectors. A number of relations have been programmed so that loops can be replaced by a mere procedure | ||
+ | call. | ||
+ | |||
+ | The syntax is as follows: | ||
+ | |||
+ | CALL OV(OP, X, Y, Z, C, NPOIN) | ||
+ | |||
+ | Where OP is a string of exactly 8 digits that is indicative of the operation about to be performed on the X, Y, | ||
+ | Z vectors and the constant C. The result is the vector X. | ||
+ | |||
+ | Example: | ||
+ | |||
+ | : CALL OV('X=X+Y ', X, Y, Z, C, NPOIN) | ||
+ | : Y is added to X, the result will be stored in X. | ||
+ | |||
+ | A full list of available operations are given in the Guide to programming in the Telemac system version 6.0. |