# Differences

This shows you the differences between two versions of the page.

user_manual_tomawac [2013/06/06 09:33] j.parisi |
user_manual_tomawac [2014/10/10 15: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. |