Development of Computer Assisted Marine Structures

0 downloads 0 Views 6MB Size Report
the reader an overall vision regarding the problems to be solved. Because of the ...... [36] EMIL OANŢĂ, Basic notions of programming in VISUAL FOXPRO, Editura. FundaÅ£iei ... probleme rezolvate, Editura Tehnică, Bucureşti, 1994. [48] ION ...
Emil Oan Cornel Panait Ghiorghe B trînca Alexandru Pescaru Alexandra Ni Feiza Memet

Development of Computer Assisted Marine Structures

This study has been developed under the RoNoMar (Romanian Norwegian Maritime) Project (2008/111922)

Supported by a grant from Norway through the Norwegian Cooperation Programme for Economic Growth and Sustainable Development with Romania.

Emil Oan Cornel Panait Ghiorghe B trînca Alexandru Pescaru Alexandra Ni Feiza Memet

Development of Computer Assisted Marine Structures

Editura

NAUTICA

Tehnoredactarea i grafica au fost realizate de autori Coperta : George Popescu

Editura NAUTICA, 2012 Editur recunoscut CNCSIS Str. Mircea cel B trân nr. 104 900663 Constan a, România Telefon + 40-241-664740 Fax + 40-241-617260 E-mail [email protected]

Descrierea CIP a Bibliotecii Na ionale a României Development of computer assisted marine structures / Emil Oan , Cornel Panait, Ghiorghe B trînca, ….. - Constan a : Nautica, 2012 Bibliogr. ISBN 978-606-8105-70-3 I. Oan , Emil II. Panait, Cornel III. B trînca, Ghiorghe 629.5

Table of contents

Table of contents

5

Preface

7

Chapter 1

Introduction

9

Chapter 2

Computer Aided Modelling

11

2.1 2.2 2.3 2.4

Introduction Types of models Computer based models Conclusion

Chapter 3 3.1 3.2 3.2.1 3.2.2 3.2.3

3.3 3.4

3.4.4 3.4.5

17

Introduction A simple model of a hull

17 18

Educational model of a hull as a straight beam Weights and buoyancy forces Diagrams of weights distribution, Archimedes forces and loads

18

Basics regarding the free body diagrams Basics regarding the method of the initial parameters 3.4.1 3.4.2 3.4.3

3.5 3.6

Theoretical technical background

11 12 13 16

19 20 24 30

General aspects Principle of the method The method to integrate the differential equation of the deflected neutral axis Alternative method to integrate the differential equation of the deflected neutral axis Concluding remarks

30 30 32

Basics regarding the computation of stresses Conclusion

37 38

36 37

RONOMAR PROJECT – MIPVES

6

Chapter 4 4.1 4.2 4.3 4.3.1 4.3.2 4.3.3 4.3.4

4.4 4.4.1 4.4.2 4.4.3

4.5 4.6 4.7 4.8

Design of the software

39

Introduction Motivation Basic Concepts to Design the Software Application of a Computer Based Mechanical Engineering Model

39 39 40

Problem statement and historical perspective Analysis of the problem to be solved Conditions to be met by the application Concluding remarks

40 41 41 43

General structure of the application

44

General idea Library of programs Data structures

44 45 46

The graphical user interface Structure of the data in the input text file Comparison with other case studies Conclusion

49 62 64 69

Concluding remarks

71

References

73

6.1 6.2 6.3

Books Scientific papers Documentations, on-line documentations

Appendices Appendix 1 Appendix 2 Appendix 3 Appendix 4 Appendix 5

73 76 80

81 MIPVES01 Library – Aspects regarding the code MIPVES02 Library – Aspects regarding the code MIPVES03 Library – Aspects regarding the code MIPVES04 Library – Aspects regarding the code Educational problems

81 86 103 118 122

List of figures

125

Alphabetic index

127

Preface One can notice the nowadays profound scientific and technological changes. The

volume of information doubles every 20 years and technologies are replaced every 4 years. The knowledge based society is a real fact of our lives and the continuous education is one of the solutions to remain competitive. Globalization influences companies and employees in countries remote located one to the other on a scale which was never met before. The international community acknowledged that one of the major problems of our time is to find the means to maximize the positive effects of globalization, which should be benefic for as many cou ntries as possible, and meanwhile to eliminate or reduce the potential negative influences. The acute crisis of time and resources requires advanced instruments to get a high level of effectiveness which is strictly necessary in our nowadays globalization conditions. In the technical field one has reached a high scientific level, and we notice that the experimental research has a lower importance in comparison with the advanced numerical models whose importance is increasing. Computer aided design, engineering and manufacturing become common facts of the modern companies and the effective management which uses modern instruments of analysis offers additional ideas to adopt appropriate market policies. The technological transfer is done by applying the latest inventions in computer science and communications into various domains, such as: medical imagery, tele-medicine, genetics, e-learning, etc. These modern instruments may include from manufacturing equipment, most of the time very specialized, up to know-how resulted from experience and especially from scientific research. The gathering area of all the science fields is the computer aided mathematical modelling, which integrates from the scientific point of view ideas from all the domains. Even there is a certain specificity, ideas, concepts, models, structures of information, computing techniques may be easily borrowed between domains which seem, apparently disjunct. The pressure of the time requires modern solutions, such as the permanent update of the methods and of the numerical models applied in research, computer aided original instruments being the best response to this problem. The basic ideas of this approach could not be applied in an era when the computer science was not developed. Once the performances of the computers increased, analysts had more generous resources to use in the implementation of their models. Having in background this trend, new modelling techniques emerged, some of them being included in the artificial intelligence and in the theory of systems domains. Taking into account the aforementioned ideas, this research fills a gap of information in the computer aided engineering which requires modern computer based instruments which can be used in analysis, research and education. The report is structured on the basis of several criteria. First of all, it must offer to the reader an overall vision regarding the problems to be solved. Because of the migration of the concepts between different fields of science, which is normal taking into account the

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 8 fluidity of the intelligence, there are presented aspects which are relevant in this context, but which can be easily extended to other problems in engineering. Another criterion is to have a certain content synchronous with the actual trends regarding the computer science means, the mathematical model and the engineering problems which can be solved using the implemented solution. The design of the software applications is a particular field which requires knowledge of the specific computer related problems, other than the mechanical engineering problem to be solved. The development of original computer programs is common because of the fact that the procedural and algorithmic modelling is one of the most important means of investigation. The main ideas and concepts are presented in a chapter, dedicated to this topic. To conclude, the research theme is synchronous with the actual trends, being interesting to identify the set of general and actual means of investigation (ideas, concepts, models, simulation, information technology aspects) employed to solve the problem, and in this context the range of general engineering problems which can be studied, solved and optimized.

Introduction This study is a part of a strategy regarding the calculus of different significant data in engineering using models which rely mostly on analytical approaches. This strategy was used to develop computer based studies in structural engineering, heat transfer problems, computational fluid dynamics, vibrations. As it can be notices, all the models use the computer programming as a basic instrument in the development of a given model. One can notice the close dependence between the computing instrument and the technological progress. Thus, every age of science is synchronous with the calculation mean currently employed in science. The results of the research activity provide the theory and the concepts which are the basics for upper level research or industrial applications. Two centuries ago mathematicians used to organize calculation contests in order to find the best formulae and methods which offer results in a minimum amount of time. It was the age when Nicolo Tartaglia invented the relations later known as Cardano’s formulae. The industrial revolution needed new theoretical methods to be used in the design of the new structures made of new materials (cast iron, steel) and which had to suppor t new types of loads, beside the mechanical loads. It was the age when the French mechanists had important contributions. The progresses in the nuclear and aerospace sciences required new means of calculation in order to perform very fast and accurate large amount of complex calculi with large amount of data. Computer science was asked to find the solutions and its progresses were an engine which offered a boost for all the sciences. New sciences appeared and new strategies of research were conceived. In the actual conditions when the technical and scientific volume of information doubles every two years, computer became a common instrument in science. A legitimate question is why to use nowadays the applied elasticity theory and the strength of materials notions when other method, such as the finite element method is a common use and a useful method? Applied elasticity and strength of materials offer several mathematical solutions which can be used to compute stresses, strains or deflections. The computer code which simply uses the classic methods is limited because of the basic simplifying hypotheses of the classic approach and because of the mathematical solution which is focused on a narrow class of problems. Apart from these limitations, the strong point is that if the classic theory is employed together with other fields of science, applied elasticity may be used to create general analytic solutions which can be used either in dedicated models or in hybrid models. The knowledge of the basic mathematical layer includes methods belonging to the theory of elasticity, analytical geometry, numerical methods, computer programming. The theory of elasticity offers general solutions from the classical point of view which can be used as deductive methods in finding particular solutions. Analytical geometry offers

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 10 methods to parameterize the domains where the solutions are searched. General numerical methods are a common instrument nowadays and the accuracy of the results may be easily predicted and controlled. This is why the general numerical methods are used in all the types of models: analytic, experimental (experimental data automatic processing) and dedicated numerical methods, such as FEM and FDM. Computer programming is one of the most important components of the strategy, because it connects all the other topics and it is synchronous with the information technology progress. Coming back to an earlier question regarding the utility of the classic knowledge, this strategy can be easily rejected by the people who base their judgments on their strong beliefs rather than exploring the new possibilities offered by the new interdiscip linary methods. Let us consider some of the advantages of the so-called classic approaches: • they are simple; • there are no problems regarding the numerical stability of the solutions; • accuracy is under control; • the computing methods can be easily generalized using algorithmic approaches; • if the original software application has a proper architecture, the libraries employed in applied elasticity models can be used in the upper level models, for dedicated industrial problems; • they are inexpensive; • they can be used to solve educational, design as well as research problems. To conclude, computer based analytic models are a valuable resource which can be extensively used in order to create intelligent and flexible instruments for various purposes.

Computer Aided Modelling 2.1

Introduction One of the basic notions in acquiring knowledge is the “model”. This word was

widely used in science and its meaning escapes the current rules of definition which recommend a simple, clear and short enunciation. The simplest definition proposed by us would be: a logical reasoning which uses the most important and relevant features of the subject in the context of the problem to be solved, in order to elaborate a conclusion or a theory which must be verified using other sources of information. Aside engineering, models can be also found in economics, logics, human behavior, processes, concepts and in other various fields. In science, models are currently used in order to acquire knowledge regarding a given phenomenon or the behaviour of a given equipment, based on some essential features and neglecting the characteristics considered of low importanc e for that problem. Models exist in an intrinsic way in most of the problems we have to deal with, and the proper identification of the problem, together with the accurate definition of the model can lead to simple solutions which may be used at a later stage for more detailed studies of more complicated phenomena. In general, the model is based on the hypothesis, which provides a basic simplifying enunciation employed to have a more focused vision onto the aspects to be studied. A set of hypotheses is the foundation of a classic science, for instance strength of materials, which offers the analytic grounds in the development of subsequent models. The set of hypotheses must be coherent, this means that all the hypotheses must be applied at the same time for all the problems to be solved. Exceptions may be accepted only in rare cases when a more accurate study must be carried out. General principles like equilibrium or superposition are usually applied in the context of the problem to be solved and by emphasizing the physical significance of the notions employed in the study. For instance, in strength of materials the principle of superposition may be applied in conservative conditions, this means that the loads cannot exceed the linear region of the stress-strain curve of the material. There are also hypotheses regarding the material which must be homogeneous and isotropic, hypotheses about the way how the loads are applied onto the part, hypotheses regarding the supports, hypotheses regarding the dimensions of the part which may be considered beam, plate or solid and others. To conclude, models are basic instruments to understand phenomena and a thorough analysis reveals the importance of the awareness regarding the basic hypotheses which are implicitly used by the model.

12

2.2

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Types of models

In comparison with economics, where the phenomena cannot be taken into a laboratory and tested in several ways, engineering may use models in most of the strategies used to acquire knowledge.

Figure 2.1 – Types of model in engineering According to the previous figure, in engineering may be created analytic, numeric and experimental models, [79]. Classic analytic models are currently used during the undergraduate studies in order to have an initial vision regarding that given phenomenon. The basic hypotheses are tested along the time and the accordingly results may be considered safe for the practical applications, the accuracy of the results depending on the accuracy of the hypotheses. Classic sciences, like strength of materials, must require a relative small amount of calculi, because at the age when the science was created there were no fast computing instruments. Numerical models were developed when modern computing instruments appeared. They solve problems that have no direct mathematical solution and, besides the theoretical hypotheses which are also used in this case, there are inaccuracies due to the numerical method itself and of the computer errors. Apart from the theoretical approaches previously presented, the direct experiment is essential in knowledge because it represents the connection with the real phenomenon. Some experiments may be performed directly on the equipment or the phenomenon to be studied, being designated ‘in situ’ experimental studies. Some phenomena, being very complex, require simple experiments on which can be drawn relevant conclusions. These simple experiments may be performed in a laboratory and they require an experimental model, for instance the scaled representation of a truck which is studied in a wind tunnel. These are the so-called ‘in vitro’ experiments. The science developed to create compatible and accurate (scaled) models, to test them in controlled environments and to extrapolate the results back to the real phenomenon or structure is designated as the similitude theory.

COMPUTER AIDED MODELLING

2.3

13

Computer based models

The most important mean of progress is the ‘technology’ employed to perform the calculi, which is method and hardware, altogether. This idea is confirmed by the history, where one can notice that the progresses of a technological age are in a close connection with the computing mean. The computing method is given by the mathematical background which is used as an inspiring environment in the aggregation of the theoretical solution. In this way, the analytic, numeric and hybrid models are conceived. This stage is important, because a proper mathematical solution may be easily applied in concrete problems. Numerical methods are virtually located at the border between mathematics and computer science. They use the classic mathematical background and propose methodologies to locate a solution in the given domain of that problem. There are also provided ideas regarding the conditions to be fulfilled in order to reach a certain level of accuracy of the solution.

Figure 2.2 - General methods and models based on mathematics and computer science A mathematical exact solution or methodology to find a solution cannot be applied in a broader context without the use of a computer. From this standpoint, the mathematical solution becomes an algorithm which must be implemented using a programming language. One can notice the close relation between the technological levels of the hardware and software, for a given historical moment. Computer science is the most important support for applied mathematics and it offers the conceptual foundation for the creation of original, general and abstract models. These modelling concepts may be applied in several fields of science, at present the most important paradigm being the sustainable development concept. Because of the multiple constraints which must be taken into consideration in the development of the concepts of a new complex model, there were identified three main directions for the classification of the criteria: social, environment and economic. Each of these fields has its own theories and according models, but at present it is important to solve these problems based on the sustainable development concepts which state that the

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 14 nowadays human needs must be satisfied “while preserving the environment so that these needs can be met not only in the present, but also for generations to come”. There must be noticed that the models which respect this growth model are complex and the only integrating instrument is the computer, so all these models are computer-based models. The sustainable development key concepts are applied in all the other fields. For example, in engineering it was defined the product lifecycle management concept which implicitly applies the previous mentioned ideas. It has several components: computer aided design, computer aided finite element method modelling, computer aided manufacturing, product data management, aso. As it can be noticed, ‘computer’ is present in all the stages, and in modern software packages these programs are integrated, using the same data structures and files. It results that computer based engineering which uses a virtual model of the parts is a common fact nowadays, being used the best features of the computers: speed, accuracy, intelligent computing and remote access. Regarding the research activities, the role of the computer is important in all the types of models. Apart of the dedicated software applications, the computer has the role to integrate the studies in an upper level of understanding.

Figure 2.3 – Strategy of a complex research in engineering Complex phenomena cannot be studied using the classic research instruments, being required a wider vision regarding the methods to be employed. Hybrid modelling offers the most appropriate concepts to be used in these complex research cases, where a piece of information results from a type of study and is used in another one belonging to other class. The information ‘flows’ between the types of models, as presented in the figure above which represents the logical framework of the research study aimed to compute the strains and stresses in the block of cylinders of an internal combustion engine, in running conditions, [61].

COMPUTER AIDED MODELLING

15 The complexity of the study is given by the 3D computing domain, the large number of mechanical loads, the presence of the thermal loads, the time variation of the loads, the elastic supports, the unknown physical characteristics of the material and others. One can notice the branches between the different types of models which are actually interdisciplinary studies, some of them being:  effective pressure (resulted from an experimental study) is used to compute (using analytical methods) the forces in the classic mechanism of an internal combustion engine and, further on, the forces in the mechanism of the engine to be studied which has a boxer type arrangement of the cylinder, finally being computed the forces applied on the cylinder block, namely the mechanical excitation of the finite element model;  taking into account the thermal phenomena, the temperatures are computed using analytic methods, verified using the experimental values measured in running conditions and used to create the heat transfer model using the finite element method of the block of cylinders, the results being the thermal loads of the structure;  the material constants to be used in the finite element method are computed using experimental studies, the finite element model being provided with high confidence input data;  analytic methods are used for the experimental data reduction and the results are the curves of variation of the strains in the measurement points during an engine cycle. The hybrid model includes several other interdisciplinary studies and its innovative approach was the key factor for the success of the project. Computer was the principal instrument employed for the implementation of the analytic studies, the finite element model, the experimental data reduction and, very important, for the data integration within the hybrid model. In the knowledge acquiring process, a pyramid of the approaches and of the according results may be represented as in the following figure.

Figure 2.4 – Hierarchy of the approaches and the according output, [74] As it can be noticed, common technology offers some data, employed in current operations. At the next level, the methods offer information while models offer an upper level of understanding of the phenomena, expressed as ‘knowledge’. The more complex the phenomena are, the more sophisticated the models must be in order to offer reliable results. After o certain level of complexity, the intelligent approaches employed offer valuable results expressed as ‘wisdom’ for that kind of problems. Hybrid modelling requires an accurate understanding of the phenomena right from the initial phase when the basic concepts of the intelligent methods of investigation are created, and a framework such as the one presented in figure 2.3 is designed. In other fields of science, such as economics, computer is the only instrument of investigation, being used in both modelling and simulating of the economical phenomena.

16

2.4

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Conclusion

Modern methods to approach complex phenomena use the interdisciplinary methods and, moreover, inter-domain similarity in order to solve the research problems. Computer has a main role in this kind of research and the original software to be developed, even for a given limited sub-model, must take in account the global constraints of the entire study. From this standpoint, the software to be created must meet a set of important requirements:  generality of the solution;  flexibility in order to solve a wide range of problems;  input, temporary and output data must be organized in such a way to allow the use of the original software in other various research contexts (like experiments to be performed at a later stage);  results must be expressed in both numerical and graphical forms in order to allow the researcher to draw conclusion very quickly. Computer aided modelling is a basic instrument nowadays, but its effective use depends on the maturity of the designer, part of the results being software applications which can be used in several directions, such as research, design and education.

Theoretical technical background 3.1

Introduction

The software must simulate the behavior of the hull, based on a simple and relevant model. The most common approach is to use the analytic models which rely on the hypotheses used in strength of materials and in the theory of elasticity, [60]. The results should consist of two types of information: stresses and deflections of the structure.

Figure 3.1 – Flowchart in computing stresses and deflections The figure above presents the set of information necessary to compute stresses and deflections, [80]. As we notice, there are two common blocks of information.

18

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

The first block is about the geometrical characteristics of the cross-section. There are several methods to compute these values either using ‘by-hand’ methods, or using a software which can be a common CAE application or an original one. Being complicated to create a software dedicated to this purpose in the framework of this project the values of the geometrical characteristics are considered input data. The second common block is dedicated to the computation of the internal forces and moments which are used to locate the weak section of the model. Basically, the system is losing its load-carrying capacity either when stresses are higher than the admissible stress, or when the deflection exceeds a given limit. Being a problem which employs the calculus of a maximum value, it became important to present the variation of the values of the internal forces and moments along the structure, this means to draw the free body diagrams. Computing the values of the deflections along the hull is important in order to have an accurate vision regarding the shape of the deflected structure, taking into account the position of the floating hull with respect to the free surface of the sea. Between the method of initial parameters and the strain energy methods, it is preferable to use that method which requires a minimum volume of computing and it offers the most general results. From this standpoint, the method of initial parameters is the most appropriate method to be employed to solve this problem. The method allows the calculus of the location where the deflection is maximum together with this extreme value. Stresses are important in order to check if they are under the value of the admissible stress, hence the structure withstands the loads. There are considered the normal stresses generated by the bending moments and the tangential stresses generated by the shear forces. Both bending moments and tangential stresses are previously computed and graphically presented as diagrams.

3.2

A simple model of a hull

From a constructive point of view the hull is a complex structure which is subjected to complex loading. The Strength of Materials offers the necessary methods to assess the general loading state of the ship’s hull, [37]. As it is generally stated, the model should be simple and precise. These two attributes are opposite if trivial methods are employed. Using a computer based approach the solution is mainly an algorithm rather a set of formulae which express an analytic ‘exact’ solution. In this way the computer based solution takes advantage of the main features of the computing methods: speed, accuracy, intelligence, connectivity, reusability, updateability.

3.2.1

Educational model of a hull as a straight beam

Educational models are important in order to emphasize the main features of the phenomenon and they are usually simpler than the design models and the research models. Their main attribute is the clarity of the representation of the phenomenon and a reduced volume of calculi employed to draw conclusions. However, educational models conceived as parameterized computer based models may be also used for other purposes, such as design and research. The most simple and relevant model of a hull is to consider an equivalent beam which is associated to the neutral axis of the hull. This model is used in the subject “Ship’s Mechanics and Architecture”, the according chapter being “Ship Strength”. It is important to notice that this type of beam has no supports and it is floating onto the surface of the sea, so there are no reactions to be computed. In this case it is important to use the equilibrium conditions in order to check the equilibrium of the model.

THEORETICAL BACKGROUND

19

Figure 3.2 – Calculus pattern for a ship’s hull The straight equivalent beam is subjected to all the loads applied on the real hull: shear forces and bending moments.

3.2.2

Weights and buoyancy forces

Let us consider the ship’s hull shown in the previous figure as being in equilibrium on a calm sea. Since it is a floating body, it is subject to a general vertical loading determined by two forces: • Weight force, denoted QTOTAL ; • Archimedes force - FTOTAL , a force that differs with 1% in respect with the vertical component of the pressure force which is the resultant of the surface forces determined by the action of the hydrostatic pressure on the ship’s hull; the difference between these forces is given by the surface considered as “the theoretic surface of the hull” (in the case of Archimedes force) or as “the real wetted surface of the hull (taking into consideration the thickness of the plating and appendices)”. These forces do not act point wise, as concentrated forces, but they represent the sum of the forces acting along the hull. To have a most accurate assessment of these forces, the hull will be divided into theoretical compartments (intervals) of length Li which will be analyzed separately. The more reduced the length of the segment, the more precise and complex the model is. Thus, for each theoretical compartment, i, i  1 there is a weight force Qi and an Archimedes force Fi . The weight force Qi is a sum of all the weights in the current interval of length Li and is composed of the ship’s own weight and the weight of the cargo. This force is placed in the centroid Gi . Archimedes force Fi is computed as the weight of the volume of water displaced by the hull in the current interval of length Li . This volume is called submerged volume and is denoted by Vim . The immersed volume is the product between the submerged area of the cross section - Aim and length Li . The submerged area Aim results from a diagram called “Bonjean curve” in which we insert the draught. This curve is given for each interval Li , or for the entire floating body if the shape of the cross section does not differ considerably from one section to another (as in the case of barges). The Archimedes force is placed in the hull centre, i.e. in the centre of mass of the immersed volume and is computed with the relation:

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

20

  

 kg   m  Fi N    a  Vim i   a  3   g  2   Aim m 2 i  Li m    m    s     Vim i

(3.1)

a

At a global level, the body is in equilibrium, thus its total weight is equal to the total Archimedes force (3.2). QTOTAL  FTOTAL Moreover, n  Q  Qi  TOTAL  i 1 (3.3).  n  FTOTAL   Fi  i 1 At the level of an interval i, i  1 these forces differ. For example, in the area of empty holds1, the relation Qi  Fi may be possible, but in the engine area the relation Qi  Fi is possible.

Figure 3.3 – Fictional movement of virtual intervals and the internal forces and moments opposing the tendency of fictional movement If these intervals would be independent one from the other, then they would tend either to rise in case Qi  Fi , or to sink in case Qi  Fi . But, according to the real structure these virtual intervals are interlocked, therefore there is a series of interactions between them, so as not to move one in respect with the other. Thus, between these theoretic compartments or virtual intervals, there are shear forces and bending moments, i.e. there are internal forces and moments. Obviously, the internal forces and moments acting on the common side of two successive intervals are equal and of opposite sense, as shown in figures 3.3 and 3.9. To conclude, the hull is subjected to longitudinal bending.

3.2.3

Diagrams of weights distribution, Archimedes forces and loads

To determine the loading on which the free body diagrams are plotted, we consider that the forces in each interval are evenly distributed along the current interval. Thus, if we consider that weight Qi is evenly distributed along interval “ i ” of length Li it results that the value of the evenly distributed force is: Q kN  qi  i (3.4) Li m After representing the values of weight distributed along the hull the diagram of weight distribution will result, as presented in figure 3.4. To plot this diagram there is a substantial methodology to assess weights, correct the values, methodology presented in the course “Ship’s Mechanics and Architecture”. The sub-graph area of the diagram of weight distribution in stages represents at scale, displacement QTOTAL . 1

cargo compartment, hatch

THEORETICAL BACKGROUND

21 The position of the centre of gravity of the sub-graph area represents the position of the centre of gravity of the ship.

Figure 3.4 – Diagram of weight distribution Similar to the weight forces we consider that the Archimedes force Fi is evenly distributed along interval “ i ” of length Li .

Figure 3.5 –Diagram of Archimedes thrusts distribution It results that the value of the evenly distributed Archimedes force is: F kN  fi  i Li m

(3.5)

22

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

After representing the values of the Archimedes force distributed along the ship it results the distribution diagram of Archimedes forces, as shown in figure 3.5. As a rule, the distribution diagram of Archimedes forces results from the distribution of the hull volume on the ship’s length. As mentioned before, to obtain the distribution diagram of Archimedes thrusts we use the Bonjean scale. The position of the centre of gravity of the sub-graph area represents the position of the hull centre corresponding to the ship’s buoyancy.

Figure 3.6 – Diagram of loads distribution resulted from the difference between the diagram of weight distribution and the diagram of Archimedes forces distribution The diagram of load distribution is obtained by summing the effects of distributed weights and distributed Archimedes forces. Then, for each theoretical compartment, the

THEORETICAL BACKGROUND

23 two diagrams of stage distributions are overlapped, by subtracting the areas of distributed forces. The relation to compute the load corresponding to interval “ i ” is: (3.6). pi  qi  f i kN The unit of measure for load is the unit for distributed force, i.e. . m We have to emphasize on two characteristics of the diagram of loads distribution which interpret from a graphic point of view the equilibrium conditions that this diagram must comply with. According to the first feature, the area of sub-graph of diagram of load distribution placed over the zero line represents the weight surplus and is equal to the area placed under the zero line which represents the surplus of Archimedes forces. This characteristic represents the equilibrium condition on vertical direction, therefore the condition that the sum of forces on vertical is zero:

V

0

i

(3.7)

Also, for the load distribution diagram there is the characteristic that the centre of gravity of the area placed over the zero line is located on the same vertical with the centre of gravity of the area placed under the zero line. This characteristic represents the condition that the ship in equilibrium does not rotate round any point, hence the bending moments sum in respect to any point is zero. This condition is written as

M i

K

0

(3.8),

where point “ K ” has a randomly location. Obviously, the number of terms in sums 3.7 and 3.8 is equal to the number of theoretical compartments in which the ship’s hull has been divided. It is most important that for all ship’s hull models the equilibrium conditions 3.7 and 3.8 must be checked, in other words to check the correctness and the accuracy of the load distribution diagram. Due to the peculiar manner of load distribution, the free body diagrams can be quickly plotted, the calculus can thus be easily placed in an algorithmic rule and automatized. Due to the high values of the weights and Archimedes thrusts, for an accurate model of a real ship hull, the conditions of zero equality 3.7 and 3.8 become conditions to minimize calculus errors expressed as:   Vi    , (3.9),   M K   i  where  is the accepted error.

24

3.3

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Basics regarding the free body diagrams

The basic input notions employed to solve a strength of materials problem are: a. shape and dimensions of the part → beam, plate or solid, in this case beam; b. behavior of the material of the part → in this case linear and elastic; c. supports of the structure; d. loads applied onto the part. Figure below, [37], presents the types of supports currently employed in 2D problems. According to the supports of a given problem, there are several unknown reactions and the system may be either statically determinate, or indeterminate. There are several methods to solve statically indeterminate problems, but this is not our concern for the hull-like problems.

a) Simple support

b) Pinned support

c) Built-in support

Figure 3.7 – Types of support and unknowns An important instrument used to solve various aspects in Elasticity and Strength of Materials is the system of axes.

Figure 3.8 – Right-hand system of axes, mnemonic rules, positive rotation sense

THEORETICAL BACKGROUND

25

Figure 3.8 presents a right-hand system of axes and several rules employed in different situations where the rotation between two axes generate a vector which is located along the third axis, in the positive or negative sense. Each interval of a beam must have assigned a certain local system of axes. It must be reminded that the X axis is always located along the beam. In order to assess if the internal moments and forces are positive or negative, it is necessary to apply the sign rule. Starting from this sign rule of the internal moments and forces there can be also decided if stresses are positive or negative. The figure below presents the section method, which states that a beam in equilibrium has each part of it in equilibrium, hence there should exist some forces and moments in the middle section in order to maintain the equilibrium of each part of the beam. The forces and moments acting in the middle section are internal forces and moments.

Figure 3.9 – Internal forces and moments in the middle section are resulting in order to maintain the balance of the overall beam and of each part of it The axial components of the internal force and of the internal moment are: ◦ N - axial force, produced by the normal stress,  ; ◦ TY , TZ - shear forces, produced by the tangential stresses,  ; ◦ M X - torque, produced by the tangential stress,  ; ◦ M Y , M Z - bending moments, produced by the normal stress,  .

26

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Figure 3.10 – Signs rules The positive axial force which elongates the beam is considered conventionally positive. The reciprocal position between the positive axial force and the X axis is respected by all the other positive components. Figure above presents two cases. The first one presents the sign rule which considers the positive internal forces and moments when they are positioned in the sense of the axes. According to the second positive rule, the internal forces and moment are positive when they are oriented in the opposite sense of the axes. Another rule employed to draw the free body diagrams is the representation rule or drawing rule. The diagram of each internal force or moment must be represented by respecting some rules regarding the following aspects: ◦ the plane where the diagram is drawn; ◦ the semi-axis dedicated to the positive values; ◦ the direction of the lines employed to hatch the diagram. For instance, the diagram of the axial forces must be drawn in the XOZ plane, the positive values are represented in the negative region of the Z axis and the hachure lines are N parallel to the Z axis. The according abbreviation for this diagram is . Using this Z notation for all the diagrams, the set of rules may be expressed as:

 N  TY  TZ , , , Z Y Z

 M X  MY  MZ , and . The figure below presents in a concise way these rules. Z Y Z  MY . This can be explained by the classic ‘fiber in Z tension rule’: the bending moment diagrams are varying to that side where the fiber in tension is located. This is the basic rule which is respected no matter the type of system of axes is used (right-hand or left-hand) and for any position of the system of axes with respect to the beam (the vertical axis may be either Z, or Y).

One can notice the exception

THEORETICAL BACKGROUND

27

Figure 3.11 – Symbols of the rules employed to plot the free body diagrams

The ‘fiber in tension’ rule may be used to solve several particular problems, such as: to assess the sign of a given bending moment, to directly draw the bending moments diagram for simple load cases. This intuitive rule is used by the experienced structural analysts who are able to rapidly identify the section where the bending moments are maximum, which is the section where the structure might collapse, figure 3.12. Other rules employed in intuitive approaches may be also presented, but the purpose of our study is to analyze the possibility to create computer-based models which mainly use analytic approaches. This is why in the next sections the analytic methods will be widely used. Another rule which must be reminded is the differential relation between the bending moment, shear force and distributed force along an interval: dTZ ij x    p Z ij x    1  sign  dx  dM Y ij x   T x   sign  Z ij dx 

(3.10).

28

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Figure 3.12 – ‘Fiber in tension’ rule and some of its applications Taking into account the previously mentioned relation, there can be applied the remarks specific to a function and its first derivative, namely the slope of the function is given by the value (and the sign) of the derivative. For positive values of the derivative the function is increasing and for negative values of the derivative the function is decreasing. In the points where the derivative is zero the slope of the function is zero, this means that the function is reaching an extreme value. In this case the function is the bending moment and the according first derivative is the shear force. It results that in the sections where the shear force is zero, the bending moment has an absolute maximum value, and its diagram is tangent to a horizontal line in the neighborhood of these sections. This situation may be noticed in the bending moment diagram presented in figure 3.13, sections 1, 5 and 6.

THEORETICAL BACKGROUND

29 In order to explore the methods to apply the analytic methods to solve the hull’s free body diagrams there were created some simple test problems. The analytic background may be used to create an initial general design of the computer based method.

Figure 3.13 – Free body diagram of an educational model of a hull Several educational models of the hulls were conceived and solved. There were identified the necessary data employed to formulate the problem, the most effective methods to calculate the shear force and the bending moment and the methods to verify the results. These solved problems were used at a later stage to verify the output data of the software application.

30

3.4

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Basics regarding the method of the initial parameters

As mentioned before, the model of the hull is a straight beam which is subjected to distributed forces. For this type of structure the most appropriate method to compute the deflections is the method of initial parameters, [63], [64].

3.4.1

General aspects

The method of initial parameters is used to compute the deflections and the rotations of the points located on a straight beam. In the set of methods employed to compute deflections and rotations, the method of initial parameters is an analytic method which offers the laws of variation of the deflections and rotations, in comparison with the strain energy methods (Mohr-Maxwell method, Castigliano method), which offers discrete values. The method of initial parameters has several strong points, such as: 1. The results are laws of variation of the deflections, respective of the rotations along the whole beam. Thus, for any x coordinate it results the values of the deflection and of the rotation in any point of the beam. In this way it allows the user to draw point-by-point the shape of the deflected neutral axis. 2. It implicitly solves the statically indeterminate problems. 3. It can be easily created a general methodology to solve the problems. 4. It can be applied for beams which have intervals with different geometrical and physical characteristics. Moreover, the method may be applied if the geometrical characteristics are described by a given function. 5. The solution may be expressed as an algorithm and it can be implemented for a particular structure. It can be used as a method to create the analytical model of a given structure (for instance, the model of a hull, [63], [64]). 6. It can be generalized for spatial structures using an algorithmic approach (for instance for a crankshaft throw). As a main weakness, it should be noticed that this method is apparently more complicated than the Mohr-Maxwell, which is true for simple problems.

3.4.2

Principle of the method

According to the chapter dedicated to the flexure type of load, between the initial straight neutral fiber and the final deflected fiber, there are some displacements. Figure 3.14 presents the u Z and uY displacements and the  XOZ and  XOY rotations.

Figure 3.14 – Displacements and rotations of a straight beam

THEORETICAL BACKGROUND

31 The general analytic expressions which express the law of variation of the deflected neutral fiber are:  d 2 u Z ( x) d XOZ ( x) 1    M Y ( x)  2 dx E  IY  dx (3.11)   d 2 uY ( x) d XOY ( x) 1    M Z ( x)  2 dx E  I dx Z  Analyzing the previous differential equations, it results that, once integrated they offer the laws of variation for the rotation and the deflection. In strength of materials there are similar differential equation between the bending moment and the share force and between the shear force and the distributed force. Thus, for a general i  j interval, we have the differential relations presented in (3.10), namely: dT x   p x    1  sign  Z ij  Z ij dx .  dM Y ij x   TZ ij x   sign   dx Moreover, the expression TZ ij x   sign 

dM Y ij x 

may be used for both verification of the dx correctness of the laws of variation for TZ ij x  and M Y ij x  , as well as a method to compute the value of the bending moment at the “ j ” end of the bar, using the graphical integration method, using: (3.12). M Yi ij  M Yj ij  sign  AREATZ ij  integration const ant

Next, we will consider only a plane problem, so from the group of relations (3.11) we will consider only the equation d 2uZ ( x) d XOZ ( x) 1 (3.13).    M Y ( x) 2 dx dx E  IY For the XOY plane there may be used directly the results of the following calculus. By integration, it results   d uZ ( x) 1 (3.14).   XOZ ( x)   XOZ 1     M Y ( x)  dx  E  IY  integration constant ( unknown)

After the second integration, it results    1 uZ ( x)  uZ 1   XOZ 1  x      M Y ( x)       E  IY integration constant ( unknown)

(3.15).

integration constant ( unknown)

The integration constants are some of the unknowns of the problem and they will be computed by considering the boundary conditions, according to the concrete problem to be solved. There must be noticed that the solutions which use the method of initial parameters are different one to the other with respect to the technique employed to integrate the equation of the neutral axis. In the next section is presented a solution based on the extensive use of the Heaviside’s unit function.

32

3.4.3

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

The method to integrate the differential equation of the deflected neutral axis

We do consider the beam in the figure below. Its section is constant. It is loaded with all classes of mechanical loads: concentrated moment, concentrated force and distributed force. Obviously, the laws of variation of the shear force and of the bending moment will include all these types of loads.

Figure 3.15 – Straight beam having various types of loads The solution of the problem using the method of initial parameters is done by respecting a set of stages. Stage I – Equations for the internal forces’ variations In order to have a unique form of the laws of variation, starting with the shear force and the bending moment, we consider the interval at the right end of the beam as a working interval, the section being defined by the x coordinate, according to the figure below. Because the distributed force is applied only onto the 4-5 interval, we use the following ‘trick’.

Figure 3.16 – Calculus scheme to determine the shape of the neutral fiber by the method of initial parameters Onto the intervals which follow to the 4-5 interval we apply a distributed force p oriented downwards and a distributed force p oriented upwards. Obviously, these forces have opposite effect and they do not influence the beam. This ‘trick’ allows us to introduce two terms in the laws of variation of the shear force and of the bending moment, one for each distributed force. Moreover, the laws of variation must take into account the effects of the built-in end. Thus, the law of variation of the shear force uses the V1 reaction and the law of variation of the bending moment must use the M 1 reaction. Bearing in mind the previous remarks, the expression of the shear force is: TZ x   V1  H x    F3  H x  x3    p  x  x4  H x  x4   p  x  x5  H x  x5  (3.16),

THEORETICAL BACKGROUND

where H x  is Heaviside’s unit function, expressed as:  0, x  x j  1 H x  x j    , x  x j , x j  2   1, x  x j

33

(3.17).

Figure 3.17 – Variation of Heaviside’s unit function, H(x-xj) Integration on intervals of this function is done according to: x  x j n  H x  x     H x  x dx dx dx  dx dx dx  j  j  n!    n

(3.18).

n

For each interval, the unit function has the following values: No Interval

x 

H x    H x  x2    H x  x3    H x  x4    H x  x5   

1. 1-2 x  0, x2  H x   1 H x  x2   0 H x  x3   0 H x  x4   0 H x  x5   0 2. 2-3 x  x2 , x3  H x   1 H x  x2   1 H x  x3   0 H x  x4   0 H x  x5   0 3. 3-4 x  x3 , x4  H x   1 H x  x2   1 H x  x3   1 H x  x4   0 H x  x5   0 4. 4-5 x  x4 , x5  H x   1 H x  x2   1 H x  x3   1 H x  x4   1 H x  x5   0 5. 5-6 x  x5 , x6  H x   1 H x  x2   1 H x  x3   1 H x  x4   1 H x  x5   1 The law of variation of the bending moment is: M Y x   M 1  H x   V1  x  H x   M 2  H x  x2    F3   x  x3   H x  x3     p  

x  x4 2  H x  x   p  x  x5 2  H x  x  4 5

(3.19).

2 2 One can notice that the previous functions obey the differential equation dM Y x  . TZ x   dx

Stage II – The differential equation of the deflected neutral fiber The differential equation of the deflected neutral fiber for a beam with the same cross-section for all the intervals is: 2 E  IY  d uZ 2( x)  E  IY  d XOZ ( x)  M Y ( x) (3.20). dx dx Replacing M Y (x) in the previous equation it results 2 E  IY   d uZ 2( x)  E  IY  d XOZ ( x)  M1  H x   V1  x  H x   M 2  H x  x2   dx dx (3.21). 2 2   x  x4  x  x5   F3  x  x3   H x  x3   p   H x  x4   p   H x  x5  2 2

34

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Stage III – Integrating the differential equation of the deflected neutral fiber We integrate this differential equation and it results the equation of the rotation: constant of integration ( unknown)



E  IY   d uZ ( x)  E  IY    XOZ ( x)  E  IY    XOZ 1 dx

 H x  

x2 (3.22).  H x   M 2  x  x2   H x  x2   2 2 3 3    x  x3  x  x4  x  x5   F3   H x  x3   p   H x  x4   p   H x  x5  2 6 6 We integrate the equation of the rotation and it results the equation of the deflection:  M 1  x  H x   V1 

E  I Y   u Z ( x )  E  I Y  

constant of integration ( unknown)

constant of integration ( unknown)

  uZ 1  H  x   E  IY    XOZ 1  x  H  x  

x  x2   H x  x   x2 x3 (3.23).  M 1   H x   V1   H x   M 2  2 2 6 2 3 4 4    x  x3  x  x4  x  x5       F3   H x  x3  p   H x  x4  p   H  x  x5  6 24 24 2

Stage IV - Boundary conditions In the previous equations there are the following unknowns uZ 1 ,  XOZ 1 , V1 , M 1 . Therefore, there are necessary 4 boundary conditions in order to have a system of 4 equations with 4 unknowns. The boundary conditions considered for the calculus of the unknowns are: 1. At the left end of the beam there is a built-in support. According to figure 3.07, the u Z deflection is null. The condition is uZ x  0  0 . Replacing x  0 in the equation of the deflection (3.23), it results uZ 1  0 . 2. At the left end of the beam there is a built-in support and from figure 3.07 we notice that the deflected neutral fiber is tangent to the undeformed beam in this area. It results that in the built-in support the  XOZ rotation is null. The according condition is  XOZ x  0  0 . Replacing x  0 in the equation of the rotation (3.22), it results  XOZ 1  0 . 3. To the right end of the beam is applied the F6 load. To evaluate the value of the  Internal force , according to figure  Axis 3.10. We notice that the F6 force is oriented in the positive direction of the rule, and it results TZ 6   F6 . The according condition is TZ x  x6    F6 . Replacing

shear force at this end, we use the sign rule

4.

x  x6 in the equation of the shear force (13.7), it results: TZ x  x6   V1  F3  p  x6  x4   p  x6  x5    F6 . The unknown reaction is V1  F3  p  x5  x4   F6 . At the right end of the beam the M 6 bending moment is applied. In order to evaluate the value of the bending moment at this end, we use the sign rule

THEORETICAL BACKGROUND

35

 Internal moment , according to figure 3.10. We notice that the M 6 bending  Axis moment is oriented in the positive sense, and it results M Y 6   M 6 . The condition

is M Y x  x6    M 6 . Replacing x  x6 in the equation of the bending moment (3.18) it results x  x 2 x  x 2 M Y x  x6   M1  V1  x6  M 2  F3  x6  x3   p  6 4  p  6 5  M 6 . 2 2 The M 1 unknown is p M1  V1  x6  M 2  F3  x6  x3    x5  x4   2  x6  x5  x4   M 6 2 where the V1 unknown was previously computed. Stage V – Solving the equation system There are certain situations when the unknowns cannot be computed separately, and a system of equations must be solved. It is not the case of this problem, where the unknowns were computed individually, based on distinct conditions. Stage VI – Laws of variation of the shear force, bending moment, rotation and displacement Once the unknowns are computed we write the laws of variation of the shear force TZ x  , bending moment M Y x  , rotation  XOZ x  and deflection uZ x  . Stage VII – Determining the extreme values of the displacement Taking into account the differential equation between the deflection uZ x  and the d uZ ( x) rotation  XOZ x  , that is   XOZ ( x) , one can notice that the extreme values of the dx uZ x  function are reached in the sections where the  XOZ x  function is null. This means that for each interval i , i  1 there must be solved the equation: i ,i 1 x   0 (3.24).  XOZ If solutions are found, we must check if they belong to the current interval, this means to check if xi0,i1  xi , xi1  . If this condition is fulfilled, the xi0,i1 value is replaced in the law of variation of the deflection, and it results the extreme value: 1 u Zi ,i 1 xi0,i 1  u Zi ,iextreme (3.25).





Stage VIII – Calculus of the displacements in the characteristic sections In order to best fit the continuous shape of the deflected fiber whose drawing must be done, there must be computed several values of the uZ j deflection. This is done by computing the uZ x  function for several x coordinates. In the ‘by hand’ calculus the deflections must be computed at least in the characteristic sections along the beam. Stage IX – Plotting the shape of the deflected neutral fiber The draw of the neutral deflected fiber is done using the uZ j  uZ x j  values, previously computed, and taking into account some aspects, such as:

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 36 1. in the neighborhood of a built-in support, the deflected neutral fiber is tangent to the undeformed beam; 2. an internal pinned connection produces a sudden variation of the slope of the beam (an angular gap), because the rotation at the right side is different with respect to the rotation at the left side; 3. if on an interval the bending moment is zero, the deflected shape of the neutral fiber is 0  1 MY straight, because , so the radius is  XOZ   .   XOZ E  IY The drawing of the neutral fiber will use a scale for the deflections in order to have a relevant representation of the shape of the deflected neutral fiber.

3.4.4

Alternative method to integrate the differential equation of the deflected neutral axis

In order to avoid the useless theoretical approaches and to present the relevant aspects of the method, we use the following hypotheses: 1. the problem to be solved is a plane bending problem; 2. onto the open computing interval i - j , we know Eij , IY ij , Lij , pZ ij ; i i 3. by the i open end, values of TZi ij , M Yi ij ,  XOZ ij , u Z ij are either known, or expressed with respect to the unknowns belonging to the previous intervals; 4. the sweep sense of the i → j interval is the X axis direction. Onto the i - j interval, the previous values have the following laws of variation:

TZj ij  TZi ij  p Z ij  x M Yj ij  M Yi ij  TZi ij  x  p Z ij 

(3.26)

x2 2

The 3.9 differential equation becomes d 2 u Z ij ( x) d XOZ ij ( x) 1    M Y ij ( x) 2 dx Eij  I Y ij dx

(3.27)

(3.28)

that is

d XOZ ij ( x)

 i 1 x2  i     M Y ij  TZ ij  x  p Z ij   dx Eij  I Y ij  2  dx 2 After the first integration, the equation of the rotation is: duZ ij ( x)  i 1 x2 x3  i i     XOZ ij ( x)   XOZ   M  x  T   p  ij Z ij Z ij   Eij  IY ij  Y ij dx 2 6  d 2 u Z ij ( x)

(3.29).

(3.30),

constant

i where the integration constant is the value of the rotation of the ‘start end’,  XOZ ij . After the second integration, the equation of the deflection is:  i x2 1 x3 x4  i i i uZ ij ( x)  uZ ij   XOZ ij  x    M Y ij   TZ ij   pZ ij       Eij  IY ij  2 6 24  constanta

(3.31),

constant

where the integration constant is the value of the deflection at the ‘start end’, u Zi ij . By replacing x  Lij in the previous expressions, it results the values at the j end of the open interval i - j . Adding the concentrated effects in section j , it means the concentrated shear force, the concentrated bending moment and the rotation due to the j j pinned joint, it results the values of the TZj ij , M Yj ij ,  XOZ ij , u Z ij at the j end of the open interval j - k , which follows to the i - j interval.

THEORETICAL BACKGROUND

37

By posing the boundary conditions it results a compatible system of equations. The solutions of the particular simple problems together with the algorithms employed to automatically solve the problems which use a computer, have particular aspects whose presentation are above the targeted level of this chapter. In the chapter dedicated to the results of the software application, it will be presented a relevant example regarding the application of this method for a simple case, the methodology being particular, dedicated to this case-study.

3.4.5

Concluding remarks

The method offers a series of advantages regarding the deducibility of the laws of variation for rotations and displacements, together with the possibility to automatise the calculus. Another advantage consists in the implicit solving of the statically indeterminate systems. Solutions based on this method have the following stages:  to write the laws of variation of the shear forces and bending moment;  integration of the previous laws of variation in order to obtain the laws of variation of the rotation and of the deflection;  identification of the boundary condition;  solving the system of equations;  check-up of the results;  calculus of the deflections in a sufficient number of points, the values being employed to draw the approximative deflected neutral fiber. One can notice that, even being well organized, the method can become in some situations too laborious.

3.5

Basics regarding the computation of stresses

The values of the shear force and of the bending moment in a given section may be used to compute the normal and the tangential stresses.

Figure 3.18 – Typical diagram of the stresses for an educational model of a hull The normal stress is computed using the Navier’s formula:

38

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

  y, z  

N MY M   z  Z  y   N   MY   M Z A IY IZ         MY

N

(3.32),

 MZ

in our case N  0 , M Z  0 and I Y is the second moment of area. The tangential stress is computed using the Juravski’s formula:  TZ  TZ  S Y        I Y  bY   TY   TY   S Z I  b   Z Z

(3.33),

in our case TY  0 , S Y is the first moment of area and bY is the wideness of the structure along the Y axis. The equivalent stress, this means the global mechanical stress may be computed using one of the analytical expressions offered by a given theory of failure. For instance, the von Mises stress may be calculated using: 1 2 2 2 (3.34),  ech V    1   2    2   3    3   1  2 where, for plain stress state  2  0 and it results





 ech V   12   32   1   3

(3.35).

 X Z

1 2 2 and replacing the according    X   Z   4  XZ 2 2 values of the stresses in the beam-wise models,  X   ,  Z  0 ,  XZ   , it results:

Moreover, if  1,3 

 ech V   2  3   2

(3.36). Some other failure theories may be also considered, but the maximum distortion strain energy criterion is widely used in structural problems especially for metal beams.

3.6

Conclusion

Strength of materials and the theory of elasticity offer the scientific background to be used in the creation of an analytic and algorithmic model which can be easily implemented in order to create a software solution for this type of structures. Even the theoretical structural problems may be considered as solved, there are still problems to be solved regarding the creation of an algorithm and its implementation.

Design of the software 4.1

Introduction

Computer Aided Engineering is a common instrument in modern companies and engineers must acquire knowledge in: computer aided design, computer aided analysis (FEM), computer aided manufacturing and product lifecycle management. Beside these fields, which might be well known among professionals, there are certain problems which can be solved in an effective way only if original computer based solutions are conceived.

4.2

Motivation

Nowadays, software based instruments are employed in all the investigations and in all the types of models. The only instrument which can integrate the data between different types of models and approaches is an original software, which is supposed to offer an overview regarding the phenomenon to be investigated. Moreover, a computer based instrument may be used in all the activities, such as: educational, design and research. The more accurate the model, the more complex is the computer based solution. It results that an original software is a necessary instrument for certain special cases and this necessity will increase over the time. The case-study is focused on a model of a hull, a structure which is interesting for all maritime officers and an example for engineers. If the software is used during the classes, there are certain advantages, such as: ● students acquire experience to deal with this type of structures (free-body diagrams, stresses, deflections), which is the best way to educate their technical common-sense; ● students understand the theoretical background which is used in simulators, so there is no gap between the theoretical aspects and the consequences of the practical use of the on-board equipment (presented on simulators); ● education is more effective using the visual information offered by the software; ● students understand that the theoretical background offer them confidence in dealing with a wide range of problems, from practical onboard activities, up to the creation of customized software. Even the technology changes (software, on-board equipment, materials), the basic phenomena are the same and the software is useful as an effective educational mean to

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 40 present the structural engineering phenomena. Moreover, discussing with the students the aspects regarding the organization of the stages of computation, input/output data etc. students become more familiar to the FEM applications to be used by them at a later stage, during the master degree studies. Some other advantages may be also considered: ● experience in organizing the design of the complex software applications in engineering; ● experience in dealing with the numerical methods applied in engineering; ● the model may be rapidly changed for any type of vessel and for any number of intervals in order to offer results to be used in design or in research; ● the software may be linked to a data acquisition system which can offer real time data, like the effects of the loads along the hull, the results of the software being directly connected to the real ongoing phenomenon.

4.3

Basic Concepts to Design the Software Application of a Computer Based Mechanical Engineering Model

4.3.1

Problem statement and historical perspective

Beside the instruments used to solve common problems, which are used by many people, there are special problems which require customized computer based solutions. There is a wide range of engineering problems to be solved using dedicated methods. The problem is to identify the set of criteria to be fulfilled by the original software applications to be developed, in order to create effective, useful and long-lasting instruments. A first approach to identify an answer to the aforementioned problem is to analyze the functionalities of the current software instruments and the way how they can be interfaced with other programs. From a 27 years historical perspective and on an extensive literature review, we can notice that the information technologies of any age of the past had constraints as well as objectives which could be accomplished only using the high creativity and the intelligence of the analysts. The context of the current technology could be used very effective in order to solve the problems. Once the technology is changed, fewer constraints must be faced and more effective means to develop more intelligent instruments can be used. An experienced software developer can notice that the problems in different IT ages are similar and, consequently, the solutions are alike. The technological progresses in IT can be included in two main directions: communications and popularity. Taking into account these trends we identify the most useful criteria to be fulfilled by the original software to be developed in a given topic of the mechanical engineering.

DESIGN OF THE SOFTWARE

4.3.2

41

Analysis of the problem to be solved

We consider the mechanical engineering field and, more precise, the strength of materials topic. It could be considered a narrow topic, but it offers solutions in many other engineering topics such as: machinery design, ship strength, onboard equipment. It also must take into consideration other fields, such as heat transfer (thermal stresses), vibrations and fluid mechanics. To conclude, the strength of materials topic is analyzed as a support to understand general technical phenomena, and not to solve a particular problem. Another approach is to solve a particular technical problem, which means to use elements from each of the blocks of figure 3.1. We chose to solve a problem related to the navigation field: the strength of the hull of a ship. The output of the software must consist of detailed computed data as well as refined information which offer the support to draw decisive conclusions if the structure withstands the loads or not.

4.3.3

Conditions to be met by the application

Aside from the technical problems specific to the hull of the ship as a structure, we emphasize the ideas regarding the original software to be developed.

Figure 4.1 – Interfaces within a portfolio of programs Handling the input and the output data in a flexible way is important in order to include this particular program in a portfolio of software applications which solve problems in this field of science and which transmit different datasets one to the other. We consider that the use of text input and output files is the best interface solution, because the text files can be created and accessed from any program or programming language. Thus, the input file stores information like:

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 42  general information: number of intervals, number of subintervals in which the hull is discretized, flag parameters;

 interval-related values: length, geometrical characteristics, loads;  boundary conditions based on common sense conditions which can result from practical measurements. This input file can be created by another program which gathers data from output files created by other applications, libraries of cross-sections of the hulls, onboard sensors, etc. There are several output text files, employed to:  store the computed values in all the subintervals along the length of the hull in order to allow a detailed verification;  store the problem formulation using a natural language in order to use these files for a textbook of problems;  store the detailed solution of the problem, consisting of laws of variation, values at the end of the current interval and maximum values together with their location in this interval, to be included in the aforementioned textbook. It should be also reminded that, for educational reasons, an automatic data generator should be included in the application in order to have instant presentations of the solved problems. Choosing the appropriate programming language is paramount, because the particulars of the problem to be solved (numerical programming, databases, graphical facilities, communication) require a given set of facilities, which can be found in some ‘candidate’ programming languages, the most appropriate one being selected. However, it is advisable to have a ‘background’ database and the output data to be expressed in a standardized format, such as csv, xml, scr and html. Nowadays Java can be used to develop all the modules in figure 4.2, [53]. The data structures must be optimally designed in order to satisfy a set of requirements, such as: accuracy vs. amount of memory space needed, simplicity vs. flexibility, [59]. These basic data structures are important because they are used to conceive the data model of the whole application. The intelligent design of the structure of the application allows a facile maintenance, shorter execution time, fewer resources required. In this way there are modules dedicated to the general facilities, numerical methods modules and graphical facilities modules. For instance, if new graphical libraries are available, only the graphical modules will be upgraded. For the numerical applications it is important to use the most effective numerical methods [1], [2], [3], [4], [16], [18]. The criteria employed to make the decisions are: appropriateness with respect to the technical problem to be solved, possibility to embed the method or to create a general and reusable module, convergence of the iterative methods, speed, accuracy, simplicity.

DESIGN OF THE SOFTWARE

43 Creation of the code is also important, at this level being identified the following criteria: concise style vs. explicit style, recursive technique vs. iterative technique, descriptive style vs. imperative style.

Figure 4.2 – Multiple requirements regarding the facilities of a given software application Some other criteria are also important. For instance, a cross-platform application must respect additional constraints, but it can be used on a wide range of computers and devices. A friendly graphical user interface is always useful and effective from the ergonomics’ point of view. The documentation of the software and the design of embedded help facilities are advantageous for the optimal use of the program.

4.3.4

Concluding remarks

Nowadays software applications offer intelligent suggestions in the decision making process. As well, in engineering the development of particular software applications offers fast, accurate and friendly solutions to various problems. The simple creation of the programs is not enough, several facilities being necessary in the development of versatile and intelligent software applications [33]. The set of criteria previously presented are important in the creation of the general design of the applications to be developed. The creation of intelligent software instruments is an important step on the path to the expert systems in that field of science.

44

4.4

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

General structure of the application

The application was conceived after several years of analysis of the technical problem to be solved and after the development of other turn-key applications which solve problems like: numerical programming, databases, graphical applications, etc. It uses ideas from several programming languages which offer certain functions and facilities which were assimilated in this software.

4.4.1

General idea

The structure of the application was designed as an open solution, in order to have a large flexibility and to overcome the present constraints and the possible constraints and/or requests of tomorrow. The software may be used either as a solver (which has an input data file and creates an output file to be used by other applications, some FEM applications also using this approach), or as a graphical processor of the computed data. The input and the output files are text files which can be used in any programming language or in any operating system. There are also created some text files which are used to store the following information: ● all the technical data computed in a given set of points along the structure with all the necessary information for the structural analyst; ● information regarding the problem to be solved; ● technical information regarding the solution of the problem: ◦ verification of the equilibrium; ◦ laws of variation of the internal forces and moments, of the rotation and of the deflection; ◦ values of the internal forces and moments, of the rotation and of the deflection at the both ends of the current interval; ◦ sections where extreme values are reached for the bending moment and for the deflection. The application was parameterized in order to offer a flexible graphical presentation, which can offer the following information: ● image of the problem to be solved; ● free body diagrams; ● deflection of the equivalent beam; ● free body diagrams + deflection of the equivalent beam. Examples regarding these facilities will be offered in paragraph 4.5.

DESIGN OF THE SOFTWARE

4.4.2

45

Library of programs

The software consists of several libraries. The structure of the application is presented in the figure above. The basic library is MIPVES01 and it includes:  

definition of the data types; the code of the common use functions to be used at a later stage, in the higher-level libraries. Some of the functions are dedicated to the processing of the strings: elimination of the blank spaces (Trim, LTrim, AllTrim), fill of a string with a given character added to the left/right end until a length is reached (Fill), conversion between types (Real2String, Integer2String), basic operations with files, basic operations used to operate the application. Data types are presented in the next paragraph. The main information is presented in appendix 1.

MAIN Computing RESULTS

MIPVES04 Data management

MIPVES02

MIPVES03

Computing aspects

Graphical facilities

MIPVES01 Data Types and Basic Procedures and Functions Figure 4.3 – Structure of the software application MIPVES02 stores the procedures and functions used to perform the calculi, and to solve the technical problem. It is the so-called ‘solver’ of the application. Once the files of results are written on disk the library may not be used, so if the operating system allows, there can be used the overlay facilities in order to optimize the memory usage. The most important functions and procedures are presented in appendix 2. In the MIPVES03 library are stored the procedures and functions dedicated to the graphical representation of the data and to the graphical user interface. The most important aspects are presented in appendix 3. The MIPVES04 library is used for the data management of the application. It includes the topmost level procedures and functions together with the main procedure of the application. The important aspects are presented in appendix 4.

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

46

4.4.3

Data structures

Data structures were defined in order to fulfill the following requirements: ● to be compatible with the system libraries to be developed in the application; ● to be flexible in the design of the upper level and complex data structures; ● to be flexible in the development of the application. The data structures are defined in the MIPVES01 library which is the basic library.

Type Matrix_Value Integer_Value Integer_Vector Word_Vector Matrix_Vector Matrix_Integer Matrix_Char Matrix_String Matrix_Word String_Vector STR1 MPO_Record

= = = = = = = = = = = =

Double; Integer; Array [1..Dim] Of Integer; Array [1..Dim] Of Word; Array [1..Dim] Of Matrix_Value; Array [1..Dim,1..Dim] Of Integer; Array [1..Dim,1..Dim] Of Char; Array [1..Dim,1..Dim] Of String; Array [1..Dim,1..Dim] Of Word; Array [1..Dim] Of String; String[1]; Record NrPct TotalPct X_Coord X_Info Interval Total_Intervale FiY_Ini UZ_Ini FiZ_Ini UY_Ini PY_DL PZ_DL TY_SF TZ_SF MY_BM MZ_BM FIY_R FIZ_R UZ_D UY_D IY_MI IZ_MI Z_Max Y_Max SY_SM SZ_SM BY_SW BZ_SW Sigma_My Tau_Tz Sigma_Mz Tau_Ty Ech_Stress_My_Ty Ech_Stress_Mz_Tz Line_of_Report

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

Integer; Integer; Matrix_Value; String; Integer; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; String;

{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { {

Index of the current point Total number of points X coordinate in the global system of axis Info string about the location of the point Interval where the current point belongs Total number of intervals Initial Fi, axis Y, in the leftmost point Initial U, axis Z, in the leftmost point Initial Fi, axis Z, in the leftmost point Initial U, axis Y, in the leftmost point Distributed load, axis Y, on the current interval Distributed load, axis Z, on the current interval Shear force, axis Y Shear force, axis Z Bending moment, axis Y Bending moment, axis Z Current Fi rotation, axis Y Current Fi rotation, axis Z Current U displacement, axis Z Current U displacement, axis Y Moment of inertia, axis Y Moment of inertia, axis Z Greatest length with respect to Z axis of a point Greatest length with respect to Y axis of a point Statical moment in the center of gravity, axis Y Statical moment in the center of gravity, axis Z Width of the overall section along the Y axis Width of the overall section along the Z axis Normal stress created by the My bending moment Tangential stress created by the Tz shear force Normal stress created by the Mz bending moment Tangential stress created by the Ty shear force Equivalent stress, Sigma_My & Tau_Ty in 12 o'clock & 6 o'clock Equivalent stress, Sigma_Mz & Tau_Tz in 3 o'clock & 9 o'clock

End; MPO_File = File of MPO_Record;

Figure 4.4 – Data structures

} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }

DESIGN OF THE SOFTWARE

47 The data structure is presented in figure 4.4. The basic types are ‘Matrix_Value’, a real / float type and ‘Integer_Value’, an integer / int type. It was possible to use directly real and integer types, but using some distinct definitions all the variables connected to the problem to be solved may be subjected to the same modifications by modifying a single basic type. For instance, if more accuracy is necessary, the ‘Matrix_Value’ type may be changed from ‘Double’ to ‘Extended’. If the accuracy is not a problem, but more values must be stored in the memory the real type can be ‘Real’ or even ‘Single’. In the same way, the ‘Integer_Value’ may be changed to ‘LongInt’, ‘LongWord’, ‘Int64’ or ‘QWord’. The next types presented in figure 4.04 are basically array-types with one or two dimensions where vectors or matrices may be stored. It is well known that matrix based approaches may be found in all the fields of science, so the library which defines these types may be used in other applications. The ‘STR1’ type was defined as a basic type in order to be used for operations with ‘String’ type variables, which may be divided in sub-strings, concatenated, etc. The ‘MPO_Record’ type was designed in order to store all technical information of a point belonging to the equivalent beam of the hull. The structure is presented in the table 4.1 and it can be noticed the use of the ‘Matrix_Value’ type, previously defined. The data structure was designed to be used in general 3D structural problems, this case of a hull being a particular case. There can be noticed that the fields contain several types of data: identification (NrPct, TotalPct, Interval, Total_Intervale), technical input data (FIY_Ini, UZ_Ini, PZ_DL, IY_MI, Z_Max, SY_SM, BZ_SW), results of the calculus (TZ_SF, MY_BM, FIZ_R, UZ_D, Sigma_My, Tau_Tz) and information meant to be used for reports (X_Info, Line_of_Report). The record type may be used to define upper level data types, such as lists or files. In this application there was considered appropriate a file type because it has a set of strong points, such as: 

It allows a direct access also known as random access;



Its size depends on the size of the disk, at present time these constraints being insignificant;



Once the file is closed, the data is saved on the disk, and it can be reused at a later stage. The ‘MPO_File’ type is a file of ‘MPO_Record’ records. The classic definition of a

file is “a collection of articles”, so ‘MPO_File’ is a set of ‘MPO_Record’ records. The structure of the record does not depend on a flag parameter, so the file has a constant structure and it can be considered similar to a table. There must be noticed the great importance of the definition of the data types, because the application is developed with respect to the data model, consisting of data structures which must be properly defined in order to design an effective application.

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 48 Table 4.1 – Record data type No Field name Type Significance 01. NrPct Integer Index of the current point 02. TotalPct Integer Total number of points 03. X_Coord Matrix_Value X coordinate in the global system of axis 04. X_Info String Info string about the location of the point 05. Interval Integer Interval where the current point belongs 06. Total_Intervale Integer Total number of intervals 07. FiY_Ini Matrix_Value Initial rotation with respect to the Y axis, in the leftmost point 08. UZ_Ini Matrix_Value Initial deflection with respect to the Z axis, in the leftmost point 09. FiZ_Ini Matrix_Value Initial rotation with respect to the Z axis, in the leftmost point 10. UY_Ini Matrix_Value Initial deflection with respect to the Y axis, in the leftmost point 11. PY_DL Matrix_Value Uniformly distributed force along the Y axis, on the current interval 12. PZ_DL Matrix_Value Uniformly distributed force along the Z axis, on the current interval 13. TY_SF Matrix_Value Shear force along the Y axis 14. TZ_SF Matrix_Value Shear force along the Z axis 15. MY_BM Matrix_Value Bending moment along the Y axis 16. MZ_BM Matrix_Value Bending moment along the Z axis 17. FIY_R Matrix_Value Current rotation along the Y axis 18. FIZ_R Matrix_Value Current rotation along the Z axis 19. UY_D Matrix_Value Current deflection along the Y axis 20. UZ_D Matrix_Value Current deflection along the Z axis 21. IY_MI Matrix_Value Second moment of area with respect to the Y axis 22. IZ_MI Matrix_Value Second moment of area with respect to the Z axis 23. Z_Max Matrix_Value Greatest distance of a point inside the section from the Y axis, along the Z axis 24. Y_Max Matrix_Value Greatest distance of a point inside the section from the Z axis, along the Y axis 25. SY_SM Matrix_Value Statical moment in the center of gravity with respect to the Y axis 26. SZ_SM Matrix_Value Statical moment in the center of gravity with respect to the Z axis 27. BY_SW Matrix_Value Width of the filled area of the section along the Y axis 28. BZ_SW Matrix_Value Width of the filled area of the section along the Z axis 29. Sigma_My Matrix_Value Normal stress created by the My bending moment 30. Tau_Tz Matrix_Value Tangential stress created by the Tz shear force 31. Sigma_Mz Matrix_Value Normal stress created by the Mz bending moment 32. Tau_Ty Matrix_Value Tangential stress created by the Ty shear force 33. Ech_Stress_My_Ty Matrix_Value Equivalent stress produced by Sigma_My & Tau_Ty in the upmost and downmost points 34. Ech_Stress_Mz_Tz Matrix_Value Equivalent stress produced by Sigma_Mz & Tau_Tz in the rightmost and leftmost points 35. Line_of_Report String Line of the report which presents the technical information regarding the current point

DESIGN OF THE SOFTWARE

4.5

49

The graphical user interface

The program may be operated by the use of a graphical friendly user interface based on both hot-keys and mouse.

Figure 4.5 – Graphical user interface

50

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

In the 4.5 figure is presented the main screen of the application. On the right side may be noticed the buttons assigned to the most common functionalities of the software, these details being presented in figure 4.6.

Figure 4.6 – Main buttons of the application By pressing the screen is presented with black drawing on a white background. By pressing the screen is presented using several colors. Both modes are presented in figure 4.5.

Figure 4.7 – The help screen of the application

DESIGN OF THE SOFTWARE

51

By pressing F1, like in any other software, a help screen will present the hotkeys of the application (figure 4.7). The hotkeys presented in the figure above are assigned to the functionalities of the software, in order to have a friendly and flexible method to operate the software and to take advantage of its various facilities. It must be noticed that almost everything in the screen may be customized. In order to have fewer operations of customization (modification of the position of the zero-line, modification of the scales, colors) the application has various parameters whose initial values are computed in an intelligent way.

Figure 4.8 – Report, screen1: the input data of the application By pressing , a report is generated. The report is presented on several screens. The first screen is presented in figure 4.08. It presents the data loaded from the input text file. The structure of the input data is presented in the 4.7 section.

Figure 4.9 – Report, screen 2: the verification of the equilibrium

52

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

The hull is a structure which flows on the surface of the sea, so the equilibrium conditions (3.7) and (3.8) must be fulfilled. Figure 4.9 presents the way how the software uses these conditions. As it can be noticed, the bending moment equilibrium condition is written with respect to all the sections of the equivalent beam.

Figure 4.10 – Report, screen 3: the technical data for intervals 1-2 and 2-3 The next stage is the computation of the internal force, bending moment, rotation and deflection. Figure 4.10 presents the laws of variation of the distributed force, of the shear force, of the bending moment, of the rotation and of the deflection for each interval. Each interval is identified by its ends, and it is presented the range of the variable x employed to write the laws of variation. The program presents the concrete values of the previously mentioned technical notions at each end of the current interval. Moreover, according to the (3.13), the section where the rotation is zero is the section where the deflection has an absolute maximum value. These important sections are automatically identified by the program and added to the set of intermediate points employed to approximate the diagram with a set of segments. Accordingly, figure 4.10 presents the section where the rotation is zero and the deflection has an extreme value. The next screen presents this technical information along all the intervals of the beam. Moreover, according to (3.10), the section where the shear force is zero is the section where the bending moment has an absolute maximum value. Figure 4.11 presents this case, where it can be noticed that the value of the bending moment in the section

DESIGN OF THE SOFTWARE

53 where the shear force is zero, is larger than the value of the bending moment at the ends of this interval.

Figure 4.11 – Report, screen 4: the technical data for intervals 3-4 and 4-5 The locations of these important sections where the absolute maximum values are reached are presented using vertical lines, figure 4.05.

Figure 4.12 – Report, screen 5: the technical data at the second end of the 4-5 interval The last screen is presented in figure 4.12. It presents the values of the shear force, bending moment, rotation and deflection at the final end of the beam.

54

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

By pressing , the user is allowed to visualize the values of the distributed force, of the shear force, of the bending moment, of the rotation, of the deflection and of the stresses along the equivalent beam.

Figure 4.13 – The ‘View values’ facility Using a vertical ruler the user can move along the beam and visualize in a rectangle next to the diagrams the values of the technical notions. The rule is moved using hot keys like arrow keys, or +arrows. It can be also operated using the buttons presented on the screen which optionally move the ruler to the left or to the right with 1 / 2 / 5 / 10 pixels. The points along the beam are connected in the circular way, so the user is allowed to choose the left or the right direction in order to have the smallest distance to the desired location on the hull. The points along the beam are generated with respect to the according value from the input data file. To this set of points there are added the sections ‘2’, ‘3’, ‘4’ and the sections where the shear force is zero and where the rotation is zero. After the set of points are generated there are eliminated the points with the same X coordinate, so there are no ‘double’ point allowed in this set of point. In these points all the values are computed using the procedures in MIPVES02, appendix 2, saved on disk, and used to draw the free body diagrams, using the procedures from MIPVES03, appendix 3. Once the study is finished, the user can press or the ‘Exit’ button and the initial diagrams are presented, the same as in figure 4.5.

DESIGN OF THE SOFTWARE

55

Figure 4.14 – The ‘Save screen’ facility If the user wants to save the visualized values of the technical data for a given location of the ruler, the ‘SaveScreen’ button may be pressed. The message “Input the BMP screenshot filename (8 characters, BMP extension will be automatically added):” will be displayed. Once the user inputs the screenshot BMP filename, the screen is saved to disk and the picture can be visualized, modified and inserted in documents. This ‘SaveScreen’ operation is presented in figure 4.14. The first time the free body diagrams are displayed there are used the settings based on the parameters which are automatically computed. As it can be noticed, figures 4.15 and 4.16 present the same free body diagrams. The user is allowed to modify the way how the diagrams are drawn. These figures are deliberately located one to the next one in order to visually compare the aspect of the free body diagrams. Figure 4.15 presents the new reference line of the shear force diagram. According to figure 4.07 which presents the help screen of the software, by pressing +

, +, +, + the "0" value reference line of the diagrams may be changed. The 'P' letter is connected to the distributed force and stands for 'problem'. The letter 'T' is connected to the shear force whose symbol is ‘TZ’, 'O' is connected to the bending moment and 'D' stands for 'deflection'. In the same way, figure 4.07 presents the hot keys employed to modify the zoom scale of the diagrams. The according commands are +

, +, +, +, the meaning of the letters being previously mentioned.

56

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Figure 4.15 – Modification of the ‘zero-line reference’ facility

Figure 4.16 – Modification of the scale of the diagrams, in comparison with the previous figure

DESIGN OF THE SOFTWARE

57 The initial scale factors with respect to the area of the screen dedicated to its representation are: 60% for the shear force, 50% for the bending moment and 25% for the deflection (figure 4.15). The final scale of the shear force is 95% in figure 4.16. The modification of the scale is done by pressing arrows for 1% increment or decrement and PageUp or PageDown keys for a 5% modification. If this ‘zoom’ facility is not enough, the user is allowed to display only some parts of the drawing.

Figure 4.17 – Presentation of the problem to be solved, for which the drawing mode is 0 According to figure 4.7 different elements of the general drawing presented in figure 4.16 may be separately presented by pressing certain keys, like: 0 - draw the structure and the distributed loads, namely the problem, figure 4.17; 1 - draw the problem, the shear force diagram, the bending moment diagram and the deflected shape of the equivalent beam; this is the implicit drawing mode and it is used in figures 4.15 and 4.16; 2 - draw the problem, the shear force diagram and the bending moment diagram, figure 4.14; 3 - draw the problem and the deflected shape of the equivalent beam, figure 4.18.

58

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Once a new drawing mode (0, 1, 2 or 3) is selected there are considered the scales specific to this current type of representation. If the scales are modified, these values become implicit for this drawing mode, so they will be reused when the user returns to this mode.

Figure 4.18 – Presentation of the deflection, for which the drawing mode is 3 Another facility is about the suggestive representation of the stresses using colors (assigned to different scales) which are used to draw the deflected shape of the beam.

Figure 4.19 – Stresses are not presented

DESIGN OF THE SOFTWARE

59 According to figure 4.07 which presents the hot keys of the application, the user may change the way how the equivalent stresses are drawn, by pressing the “S” key.

Figure 4.20 – Maximum value in the scale of the stresses is the maximum effective stress

Figure 4.21 – Maximum value in the scale of the stresses is the admissible stress There must be noticed that the maximum equivalent stresses can be displayed only if the color mode is active and the deflected shape is presented. The colors are chosen

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 60 with respect to a certain range of values of the maximum equivalent stresses. There were considered three modes. First mode is used in figure 4.19, where a unique color is assigned to the stresses, so it can be considered that the stresses are not presented. The other two presentation modes use 10 intervals assigned to a given range of stresses. A unique color is dedicated for a given interval. Being equivalent von Mises stresses, (3.34), the minimum stress is zero. The second mode to present the stresses is used in figure 4.20. The range of stresses assigned to the 10 intervals is from 0 up to the maximum effective stress. The advantage of this presentation mode is the fine resolution of the colors, being used all the 10 intervals dedicated to this purpose. The disadvantage is that the effective stresses along the deflected beam cannot be easily compared, at a glance, with the admissible stress. The third mode to present the stresses is used in figure 4.21. The range of stresses assigned to the 10 intervals is from 0 up to the admissible stress. The advantage of this presentation mode is the easy way to compare the field of stresses with the admissible stress and consequently to decide if the structure withstands the loads. The disadvantage is the coarse resolution of the colors of the stresses along the deflected equivalent beam. The user is allowed to cycle between these presentation modes in order to take full advantage of the strong points of each presentation mode.

Figure 4.22 – Presentation without the extreme values (button ‘E’ was pressed) Another hotkey presented in figure 4.7 is ‘E’ and it is used to show and to hide the information regarding the extreme values of that given problem. Figure 4.22 presents the drawing, without the extreme values.

DESIGN OF THE SOFTWARE

61

Another interesting aspect is about the correspondence between the code presented in the appendices and the aspect of the graphical interface.

a) Detail 1

b) Detail 2 c) Detail 3 Figure 4.23 – Details of the free body diagrams

d) Detail 4

Regarding the graphical interface, some of the problems had to be solved repeatedly for several times, so the solution was to create some procedures which solve a more general problem and to use that procedure to solve the particular cases. Appendix 3 presents the procedures and functions employed to design the graphical user interface and to draw the free body diagrams. The details presented in figure 4.23 were solved by the use of the following procedures: ● MIPVES03 Library → Procedure Caracter_Incercuit → Detail 1; ● MIPVES03 Library → Procedure Draw_Diagram_Symbol → Detail 2; ● MIPVES03 Library → Procedure Draw_Diagram_Unit → Detail 3; ● MIPVES03 Library → Procedure Draw_Arrow → Detail 4. The input and output parameters of these procedures may be found in appendix 3, which presents the MIPVES03 library, figure 4.3.

Figure 4.24 – Standard presentation of another case-study

62

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

In order to offer more information regarding the application, figure 4.24 presents another case-study regarding and educational model of a hull. Comparing figures 4.21 and 4.24, one can notice that the same graphical user interface may be used for both cases: ship loaded with cargo (figure 4.21) and ship with no cargo (figure 4.24). It means that the algorithm employed to automatically compute the parameters of the graphical user interface has an appropriate degree of generality.

4.6

Structure of the data in the input file text The input data are read from an input text file, which has the ‘.INP’ extension. The

contents of such input text file are presented in figure 4.25. MIPVES00 4 0.000 10000.0 -600.0 210000.0 3354294130000.000 10000.0 400.0 210000.0 3354294130000.000 10000.0 1000.0 210000.0 3354294130000.000 10000.0 -800.0 210000.0 3354294130000.000 120.0 2 0.0 -1000.0000000000000 40000.0 -1015.0000000000000 G C 200 1

8250003380000.000 8250003380000.000 8250003380000.000 8250003380000.000

3238.100 3238.100 3238.100 3238.100

5000.000 5000.000 5000.000 5000.000

5643546.871 5643546.871 5643546.871 5643546.871

10125000.000 10125000.000 10125000.000 10125000.000

45.000 45.000 45.000 45.000

30.000 30.000 30.000 30.000

Figure 4.25 – Contents of the input text file for the problem presented in figure 3.13 The input file is a text file and it can be created from any programming language and in any operating system. It includes all the technical information to solve the problem and in the following section is presented the way how data is organized in this file: 1. Designation of the problem 2. Number of intervals of the equivalent beam, ‘NINT’ 3. Angle of side inclination, ‘Alfa’, in sexagesimal angles; positive values are for the counter clockwise rotation, to the port side of the transverse section of the hull; 4. Data for each interval: 4.01 Length of the interval in mm, 7 characters, from 001 to 007 4.02 Equally distributed force in KN/m or N/mm; if the force is downwards the values is negative; if the value is upwards, the value is positive; 9 characters, from 008 to 016; 4.03 Young’s elastic modulus in MPa; 9 characters, from 017 to 025; 4.04 IY second moment of area in mm4; 19 characters, from 026 to 044; 4.05 IZ second moment of area in mm4; 19 characters, from 045 to 063; 4.06 Maximum ‘z_max’ distance, employed to compute the ‘WY’ elastic section modulus; 10 characters, from 064 to 073;

DESIGN OF THE SOFTWARE

63 4.07 Maximum ‘y_max’ distance, employed to compute the ‘WZ’ elastic section modulus; 10 characters, from 074 to 083; 4.08 First moment of area, ‘SY’, in mm3; 16 characters, from 084 to 099; 4.09 First moment of area, ‘SZ’, in mm3; 16 characters, from 100 to 115; 4.10 Width of the filled areas of the cross-section along the Z axis, ‘bZ’; 09 characters from 116 to 124; 4.11 Width of the filled areas of the cross-section along the Y axis, ‘bY’; 09 characters from 125 to 133; 5. Admissible stress, in MPA; 6. Flag according to which the boundary conditions are read: ● if it equals 1, the following two lines are dedicated to the following data: 6.1.1 The X coordinate with respect to the leftmost end of the equivalent beam where the rotation is measured; First line: 9 characters, from 001 to 009; 6.1.2 Rotation measured in the section defined by 6.1.1; First line: 20 characters, from 010 to 029; 6.1.3 The X coordinate with respect to the leftmost end of the equivalent beam where the deflection is measured; Second line: 9 characters, from 001 to 009; 6.1.4 Deflection measured in the section defined by 6.1.3; Second line: 20 characters, from 010 to 029; ● if it equals 2, the following two lines are dedicated to the following data: 6.2.1 The X coordinate with respect to the leftmost end of the equivalent beam where the first level is measured; By level I mean the distance from the sea surface to a reference line of the hull considered the initial straight non-deformed axis; First line: 9 characters, from 001 to 009; 6.2.2 Value of the first level measured in the section defined by 6.2.1; First line: 20 characters from 010 to 029; 6.2.3 The X coordinate with respect to the leftmost end of the equivalent beam where the first level is measured; Second line: 9 characters, from 001 to 009; 6.2.4 Value of the second level measured in the section defined by 6.2.3; Second line: 20 characters from 010 to 029; ● if it equals 3, the following line is dedicated to the following data: 6.3.1 The value of the rotation in the leftmost end of the equivalent beam; 20 characters, from 001 to 020; 6.3.2 The value of the deflection in the leftmost end of the equivalent beam; 20 characters, from 021 to 040; 7. Flag which is considered the option for the representation of the free body diagrams; it is ‘G’ if free body diagrams are needed; it is ‘A’ for automatic calculus, where the software is working as a solver which reads the data from an input text file and writes the results in an output text file; 8. Flag which is considered the option for the type of colors to be used for the graphical representation of the free body diagrams; it is ‘C’ for color graphics; it is ‘M’ for monochrome graphics (black on a light gray background);

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 64 9. Minimum number of points across the beam where are computed the following technical values: shear force, bending moment, deflection; apart from these points, there will be added the sections where TZ=0 (in the section where the shear force is zero, the bending moment has an extreme value), MY=0 and Fi=0 (in the section where the rotation is zero, the deflection has an extreme value). The application has an internal data generator which creates the input file for a set of 24 educational problems presented appendix 5.

4.7

Comparison with other case studies

The application is used for educational problems as well as for more complex studies and models. Figure 4.26 presents the case of o heavy lift vessel. In order to be more accurate, the model has several intervals.

Figure 4.26 – Results for a heavy-lift ship Being a model of a real structure, not an educational model, the exact equilibrium conditions (3.7) and (3.8) were replace by (3.9) which are conditions to minimize the error. The  admissible error was fair small in order to have an accurate model, which was proved by the shear force diagram and by the bending moment diagram which, both of them, starts from 0 and ends in 0. The next study is dedicated to the graphical results of a liquid cargo handling simulator.

Figure 4.27 – Screen shot of the liquid cargo handling simulator – the hull deflection screen

DESIGN OF THE SOFTWARE

65

Figure 4.28 – Screen shot of the liquid cargo handling simulator – the shear force diagram

66 RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Figure 4.29 – Screen shot of the liquid cargo handling simulator – the bending moment diagram

DESIGN OF THE SOFTWARE

67

Figure 4.30 – Screen shot of the liquid cargo handling simulator – the hull stability screen

68 RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

DESIGN OF THE SOFTWARE

69 Figures 4.27, 4.28, 4.29 and 4.30 are screen shots of a liquid cargo handling simulator employed for training in loading and discharging operations of a given type of ship. Figure 4.27 presents the hull deflection, problem also solved by the MIPVES software. Figures 4.28 and 4.29 present the shear force and the bending moments diagrams, also solved by MIPVES. It must be noticed the similarity between the diagrams drawn by the MIPVES software and the free body diagrams presented in figures 4.28 and 4.29. Moreover, there must be also noticed the relations between the shear force diagram and the bending moment diagram which are presented fin figures 4.28 and 4.29. The red and the yellow lines represent the boundaries of the so-called ‘safe area’ of operations and the diagrams should not exceed these lines in any case, otherwise there might be compromised the strength of the hull or the stability of the ship. The red line is for the open sea where the loads are greater than the harbor conditions represented by the yellow line. One can notice the friendly way to present the technical information offered by figures 4.28 and 4.29, together with the easy way to check if the critical conditions are respected. The simulator also presents the hull stability screen, which is not presented by MIPVES, because this was not an objective of the software. However, the facilities offered by the simulator may be considered an inspiring environment in the design of some extensions of the MIPVES software, or in the creation of a more complex application. The technical data presented in figures 4.27, 4.28, 4.29 and 4.30 are for a hull with no cargo, loaded only by the ballast water. Similar remarks as before may be done for the hull with various loading cases.

4.8

Conclusion

The application consists of more than 11000 computer code lines and it was designed to be used as an educational support instrument and an investigation tool.

Figure 4.31 – Aspect of the main module of the application and the total number of computer code lines of the software

70

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

The application may be included in an upper-level system of applications which are solving different separate problems. According to figure 3.1 there should be also developed a software application dedicated to the calculus of the geometrical characteristics. Another module should be dedicated to the automatic computation of the loads using some signals produced by strain gages bonded to the structure of the ship. In this way the overview information is computed starting with the data offered by the analytic model and from the ‘in situ’ experimental data, figure 2.1. The design of the MIPVES software is flexible and it was subjected to several upgrades in order to use the actual facilities and to meet the nowadays requirements. The ‘color changing’ facilities are not yet assimilated in the final version of the software, the attention being focused on other functionalities, far more important. In order to be a useful educational instrument an internal data generator was added for a set of 24 problems used during the classes, appendix 5. In this way there are automatic solutions for all the problems to be used during the educational activity. The application was tested for several datasets and its results have a high degree of confidence.

Concluding remarks Maritime structures must withstand various loads for a long period of service. Because the structural phenomena are complex, standalone analytic models, numeric models and experimental studies cannot offer an accurate response. The most appropriate strategy to approach new and complex problems is to create computer based hybrid models which employ modern algorithms. The role of the computer in this new strategy is to integrate the information resulted from the various studies employed to solve the problem. Moreover, actual graphical facilities can be used to bring more relevancy to the information which must be processed in order to draw pertinent conclusions. Besides, a friendly graphical user interface increases the effectiveness of the analyst. Another remark is about the limits of the pre-defined solutions and of the software solutions which solve a given set of problems, but it cannot be applied in new special cases which require original software instruments. From this standpoint, the software developed in the framework of this project is a demonstrator of the basic concepts promoted by this study: original computer aided instruments are useful for various activities, such as: education, concept, design and research. Important aspects were learnt regarding the best practices to design original software instruments for engineering studies: ● structure of the application to be developed; ● data model of the software; ● methods to communicate the data between the modules of the application; ● methods to interface this program with other applications; ● method to design an effective system of interactions of the program; ● method to create the graphical presentation of the results, in this case the free body diagrams and the deflected shape of the equivalent beam; ● method to present the results not only as numbers and diagrams, but also as laws of variation of the shear force, bending moment and deflection along the hull. The results of the software were verified using: ● the model of a heavy vessel ship created by the use of this original software; ● the results of a liquid cargo handling simulator for an oil carrier ship. An important aspect is about the profound transformation in approaching new problems when the computer and programming languages are the basic instruments of investigation. Based on the experience acquired in this project, several directions of research might be identified, such as: ● creation of analytic models implemented as original computer aided engineering software based on concepts from strength of materials and on the theory of elasticity, [61], [62], [65], [66], [83], [84], [85], [86]; ● development of general approaches based on computer solutions to be used in engineering and in other fields of science, [58], [59], [67], [71], [73], [77], [79];

72

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

● development of computer based solutions in the maritime field [57], [69], [70], [74], [76], [81] which use different models from engineering; ● development of graphical applications [68], [72], [75], [78]. Regarding the application developed in the framework of the project, there are other facilities which can be also integrated in this basic solution. From an educational point of view, the computer based models which use the basic topics of the faculty studies, fill the educational gap between the theory and the simulators employed to accustom the students with the onboard equipment. To conclude, interdisciplinary and inter-domain approaches may be effective only if computer based solutions are designed, this means to develop intelligent and original software instruments.

References 6.1

Books

[1]

BAKHVALOV, N., Methode numeriques, Moscou, Editions Mir, 1976

[2]

VIOREL BARBU, Probleme la limită pentru ecuaţii cu derivate parţiale, Editura Academiei Române, Bucureşti, 1993

[3]

BEBEA NICOLAE, Metode pentru rezolvarea problemelor de optimizare – Aplicaţii, Editura didactică şi pedagogică, Bucureşti, 1978

[4]

C. BERBENTE, S. ZANCU, C. TĂTĂRANU, S. MITRAN, Metode numerice de calcul pentru aviaţie, Litografia Institutului Politehnic Bucureşti, 1988

[5]

JOSHUA BLOCH, Java – Ghid practic pentru programatori avansaţi, Editura Teora, Bucureşti, 2002, ISBN 973-20-0406-1

[6]

GHEORGHE BORDEA, Modelarea relaţională a sistemelor cu evenimente discrete, Editura Leda & Muntenia, Constanţa, 2000

[7]

MARK CHAN, STEVEN GRIFFITH, ANTHONY IASI, Java – 1001 Secrete pentru programatori, Editura Teora, Bucureşti, 2001, 2002, ISBN 973-20-00169-0

[8]

PAUL COCÂRLAN, MARCEL ROŞCULEŢ, Serii trigonometrice şi aplicaţii, Editura Academiei Române, 1991

[9]

IOAN CONSTANTINESCU, DAN GOLUMBOVICI, CONSTANTIN MILITARU, Prelucrarea datelor experimentale cu calculatoarele numerice. Aplicaţii din construcţia de maşini, Editura Tehnică, Bucureşti, 1980

[10]

FRANCIS COTTET, OCTAVIAN CIOBANU, Bazele programării în LABVIEW, Editura MATRIX ROM, Bucureşti, 1998

[11]

VALENTIN CRISTEA, IRINA ATHANASIU, EUGENIA KALISZ, VALERIU IORGA, Tehnici de programare, Editura Teora, Bucureşti, 1993

[12]

V. CRISTEA, A. Păunoiu, E. KALISZ, I. ATHANASIU, L. Negreanu, S. CĂLINOIU, F. BABOESCU, UNIX, Editura Teora, Bucureşti, 1993

[13]

GEORGE B. DANTZIG, M.A.H. DEMPSTER, MARKKU KALLIO (coordonatori), Programarea liniară a sistemelor mari, Vol. 1, Concepte, metode, experienţă de calcul; Lucrări ale Institutului IIASA (International Institute for Applied Systems Analysis), Traducere din limba engleză, Editura Tehnică, Bucureşti, 1990

74 [14]

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

GEORGE B. DANTZIG, M.A.H. DEMPSTER, MARKKU KALLIO (coordonatori), Programarea liniară a sistemelor mari, Vol. 2, Implementări, experimente, aplicaţii; Lucrări ale Institutului IIASA (International Institute for Applied Systems Analysis), Traducere din limba engleză, Editura Tehnică, Bucureşti, 1990

[15]

RICK DARNELL, Totul despre HTML4, Editura Teora, Bucureşti, 2000, 2002, ISBN 973-20-0427-4

[16]

B. DEMIDOVITCH, I. MARON, Elements de calcul numerique, Moscou, Editions Mir, 1979

[17]

C. DINESCU, B. SĂVULESCU, D. VASILIU, Metode matematice pentru fundamentarea deciziilor în producţie, Editura Tehnică, Bucureşti, 1987

[18]

W. S. DORN, D. D. MCCRACKEN, Metode numerice cu programare în FORTRAN, Traducere din limba engleză, Editura Tehnică, Bucureşti, 1976

[19]

BOGDAN DUMITRESCU, CORNELIA POPEEA, BORIS JORA, Metode de calcul numeric matriceal. Algoritmi fundamentali, Editura ALL EDUCATIONAL, ISBN 973-9392-07-5, Bucureşti, 1998

[20]

RICHARD FAIRLEY, Software Engineering Concepts, McGraw-Hill International Editions, 1985, Computer Science Series, McGraw-Hill series in software engineering and technology

[21]

JAY W. FORRESTER, Principiile sistemelor. Teorie şi autoinstruire programată, Editura Tehnică, Bucureşti, 1979

[22]

JAY W. FORRESTER, Dinamica industrială, Traducere din literatura americană, după ediţia a 8-a, Editura Tehnică, Bucureşti, 1981

[23]

HORIA GEORGESCU, CRISTINA VERTAN, Curs de calcul paralel, 169 pagini, OVIDIUS UNIVERSITY PRESS, Universitatea “Ovidius”, Constanţa, 1998, ISBN 973-9367-41-0

[24]

HORIA GEORGESCU, Introducere în universul Java, Editura Tehnică, Bucureşti, 2002, ISBN 973-31-2095-2

[25]

MARIN GHINEA, VIRGILIU FIREŢEANU, MATHLAB – Calcul numeric, Grafică, Aplicaţii, Editura Teora, Bucureşti, 2003

[26]

R. W. HOCKNEY, C. R. JESSHOPE, Calculatoare paralele – Arhitectură, programare şi algoritmi, ediţia a II-a, Editura Tehnică, Bucureşti, 1991

[27]

LAURENŢIU HOMENTCOVSCHI, Geometrie computaţională, 189 pagini, Editura Ex Ponto, Constanţa, 2002, ISBN 973-644-021-4

[28]

VALERIU IORGA, BORIS JORA, CRISTINA NICOLESCU, IONUŢ LOPĂTAN, ION FĂTU, Programare numerică, Editura Teora, Bucureşti, 1996

[29]

LIVIU GR. IXARU, Metode numerice pentru ecuaţii diferenţiale cu aplicaţii, Editura Academiei RSR, Bucureşti, 1979

REFERENCES

[30]

75 GHEORGHE JUNCU, CONSTANTIN POPA, Introducere în metoda multigrid, Editura Tehnică, 1991

[31]

IOAN JURCĂ, Programarea orientată pe obiecte în limbajul C++, Editura EUROBIT, Timişoara, 1992

[32]

WINFRIED KASSERA, VOLKER KASSERA, Turbo Pascal 6.0, Editura Micro ATCI, Tîrgu-Mureş, 1992

[33]

DONALD KNUTH, Arta programării calculatoarelor, Volumul 1 – Algoritmi fundamentali, Volumul 2 – Algoritmi seminumerici, Volumul 3 – Sortare şi căutare, Ediţia a III-a, Editura Teora, 2000

[34]

ACAD. GH. MARINESCU, IRINA RIZZOLI, ILEANA POPESCU, CRISTINA ŞTEFAN, Probleme de analiză numerică rezolvate cu calculatorul, Editura Academiei RSR, Bucureşti, 1987

[35]

EMIL OANŢĂ, Basic theoretical knowledge in programming the computer aided mechanical engineering software, Editura Fundaţiei “Andrei Şaguna”, Constanţa, 2000, ISBN 973-8146-04-6

[36]

EMIL OANŢĂ, Basic notions of programming in VISUAL FOXPRO, Editura Fundaţiei “Andrei Şaguna”, Constanţa, 2001, 322 pg., ISBN 973-8146-27-5

[37]

EMIL OANŢĂ, Strength of materials – course and applications, Editura Fundaţiei “Andrei Şaguna”, Constanţa, 2004, 422 pg., ISBN 973-8146-38-0

[38]

ION ODĂGESCU, Optimizarea algoritmilor, Editura Militară, 1991

[39]

ION ODĂGESCU, I. SMEUREANU, I. ROXIN, Viruşi informatici şi bombe logice, Editura ALDO, Bucureşti, 1991

[40]

ODĂGESCU IOAN, SMEUREANU ION, ŞTEFĂNESCU IRINA, Programarea avansată a calculatoarelor personale, Editura Militară, Bucureşti, 1993

[41]

ODOBLEJA ŞTEFAN, Introducere în logica rezonanţei, Editura Scrisul Românesc, Craiova, 1984

[42]

BAZIL PÂRV, ALEXANDRU VANCEA, Fundamentele programare, Editura Albastră, Cluj-Napoca, 1996

[43]

EMILIA PETRIŞOR, Modelare geometrică algoritmică, 366 pagini, Editura Tehnică, Bucureşti, 2001, ISBN 973-31-2034-0

[44]

POPA AUREL, VRACIU GEORGE, Metode numerice cu aplicaţii în tehnica de calcul, Editura Scrisul Românesc, Craiova, 1982

[45]

WILLIAM H. PRESS, SAUL A. TEUKOLSKY, WILLIAM T. VETTERLING, BRIAN P. FLANNERY – Numerical Recipies in C, CAMBRIDGE UNIVERSITY PRESS, 1997

[46]

WALKER ROYCE, Software Project Management: a unified framework, Addison Wesley Longman, Inc., 1998

limbajelor

de

76

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

[47]

ERNEST SCHEIBER, DORIN LIXĂNDROIU, MathCAD - Prezentare şi probleme rezolvate, Editura Tehnică, Bucureşti, 1994

[48]

ION SMEUREANU, MARIAN DÂRDALĂ, Programarea în limbajul C / C++, Editura CISON, Bucureşti, 2001

[49]

ION SMEUREANU, MARIAN DÂRDALĂ, Programarea orientată obiect în limbajul C++, Editura CISON, Bucureşti, 2002

[50]

B.T. SMITH, J.M. BOYLE, B.S. GARBOW, Y. IKEBE, V.C. KLEMA, C.B. MOLER, Matrix Eigensystem Routines - EISPACK Guide, Lecture Notes in Computer Science, Springer-Verlag Berlin Heidelberg New York,1973

[51]

TAMAŞ ILIE, ALI EDEN, NĂSTASE PAVEL, IONESCU BOGDAN, BERBEC FLORENTINA, COSĂCESCU LUANA, IONESCU IULIANA, OANCEA MIRELA, Bazele Informaticii, Editura SOFITECH, Bucureşti, 1999

[52]

TAMAŞ ILIE, POPA GHEORGHE, BERBEC FLORENTINA, VRÎNCIANU MARINELA, GLĂVAN NICOLAE, Sisteme de gestiune a bazelor de date. Visual FoxPro, Editura CISON, Bucureşti, 2000

[53]

ŞTEFAN TANASĂ, CRISTIAN OLARU, ŞTEFAN ANDREI, Java de la 0 la expert, Editura POLIROM, Iaşi, 2003, ISBN 973-681-201-4

[54]

THEOCARIS P. S., BUGA M., BURADA C., BĂLTĂNOIU M., CONSTANTINESCU I., HORBANIUC D., ILIESCU N., MOCANU D. R., MODIGA M., NĂILESCU L., PASCARIU I., POPOVICI VL., TRIPA M., COORDONATOR D. R. MOCANU, Analiza experimentală a tensiunilor – Bazele teoretice ale metodelor tensometrice şi indicaţii practice privind utilizarea acestora, Volumul II, Editura Tehnică, Bucureşti, 1977

[55]

TOMA MARIN, ODĂGESCU ION, Metode numerice şi subrutine, Editura Tehnică, Bucureşti, 1980

[56]

RICHARD WAGNER, ALLEN WYKE, JavaScript, Editura Teora, Bucureşti, 2001, 2002, ISBN 973-20-0-0127-5

6.2

Scientific papers

[57]

EMIL OANŢĂ, Expert system for book-keeping activities of a survey maritime company, The 8th INTERNATIONAL CONGRESS OF I.M.A.M., IMAM '97, Istanbul, Turkey, November 2-9, 1997, pag. 16.4.11-16.4.20, ISBN 975-561-114-2

[58]

EMIL OANŢĂ, BOGDAN NICOLESCU, DETC/CIE59: A versatile PC-based method for the processing of the large matrices, 1999 ASME Design Engineering Technical Conference, September 12-15, 1999, Las Vegas, Nevada, USA

REFERENCES

[59]

77 EMIL OANŢĂ, A database approach in computer aided engineering, Annual scientific journal of ‘Ovidius’ University - Mechanical engineering series, volume I, nr. 1, pag. 253-260, ISSN 1223-7221, Constanţa, 1999

[60]

EMIL OANŢĂ, PAUL BOCĂNETE, Basic Elements of Computer Aided Elasticity, Proceedings of the IMAM 2000, IX Congress, International Maritime Association of Mediterranean, 2-6 April 2000, Ischia - Napoli, Italy, Session F, pag. 40-47, ISBN 88-87951-00-4

[61]

EMIL OANŢĂ, FEM Study of the Stresses and Strains in the Block Cylinder of the Internal Combustion Engines, 2001, 442 pages, PhD Thesis, ‘Cum Laude’, ‘Politehnica’ University of Bucharest, The Faculty of Mechanical Engineering, Promoter: Prof. Dr. H. C. Eng. Constantin Arama, Member of the Romanian Science Academy

[62]

EMIL OANŢĂ, Considerations Regarding the Use of the Method of Initial Parameters for Curved Beams, Annals of Constanta Maritime University, Constanta, Romania, 2002, Year III, Vol. 3, pg. 173-178, ISSN 1582-3601

[63]

EMIL OANŢĂ, Comparison Between the ‘By-Hand’ Calculus and the Automatic Computing for the Method of Initial Parameters Applied for Hulls, Annals of Constanta Maritime University, Constanta, Romania, 2002, Year III, Vol. 3, pg. 167-172, ISSN 1582-3601

[64]

EMIL OANŢĂ, et all, ESDA2002/APM024: MIPVES - Software which employs the method of initial parameters applied for vessels, ESDA 2002: 6th Biennial Conference on Engineering Systems Design and Analysis, Istanbul, Turkey, July 08-11, 2002, Co-chairman of the APM S23 section

[65]

EMIL OANŢĂ, BOGDAN NICOLESCU, An original approach in the computer aided calculus of the large deflections, Annals of Constanta Maritime University, Constanta, Romania, 2003, Year IV, Vol. 5, pag. 53-58, ISSN 15823601

[66]

EMIL OANŢĂ, BOGDAN NICOLESCU, Comparative study of the ring elements belonging to an anchor chain, 4th international conference on PhD students, ISBN 963-661-585-3-0, ISBN 963-661-591-8, University of Miskolc, Hungary, 1117 August 2003, pag. 181-187

[67]

EMIL OANŢĂ, BOGDAN NICOLESCU, Computer-aided approaches – a path to the information of synthesis in engineering, Proceedings of the 5th International Conference on Quality, Reliability and Maintenance – QRM2004, ISBN 1-86058-440-3, University of Oxford, UK, 1-2 April 2004, pag. 265-268

[68]

DEAN VUCINIC, EMIL OANŢĂ, DANNY DEEN, ZVONIMIR BATARILO, ITEA (Information Technology for European Advancement) Research Project: LASCOT (LArge Scale COllaborative decision support Technology) – Final Report, Vrije Universiteit Brussels, Belgium, June 2004 - June 2005, http://lascot.vub.ac.be/vubteam.html, http://members.fortunecity.com/eoanta/20050629Research-VUB-1.gif, http://members.fortunecity.com/eoanta/20050629Research-VUB-2.gif

78 [69]

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

EMIL OANŢĂ, Methods to Generate Random Numbers Employed in the Probabilistic Approaches, Annals of Constanta Maritime University, ISSN 15823601, Constanta, Romania, 2006, pg. 175-180

[70]

EMIL OANŢĂ, Methods to Test the Random Number Generators Employed in Probabilistic Approaches, Annals of Constanta Maritime University, ISSN 15823601, Constanta, 2006, Pag. 181-186

[71]

EMIL OANŢĂ, IOAN ODĂGESCU, ILIE TAMAŞ, An Original Data Processing Method for the Cross Domain Software Applications, Scientific Bulletin of “Transilvania” University of Brasov, Published by “Transilvania” University Press, Series B3 – 'Economic Sciences', Brasov, 2006, Pag. 343-353, http://but.unitbv.ro/BU2008/Arhiva/BU2006/Seria_B.htm

[72]

DEAN VUCINIC, DANNY DEEN, EMIL OANŢĂ, ZVONIMIR BATARILO, CHRIS LACOR, Distributed 3D Information Visualization Towards Integration of the Dynamic 3D Graphics and Web Services, International Conference on Computer Graphics Theory and Applications, February 25-28 2006, Setubal, Portugal, Organised by the Institute for Systems and Technologies of Information, Control and Communication (WITRC – Wireless Information Technology Research Centre, IT – Instituto de Telecomunicacoes, Staffordshire University, Westminster University, Reading University AIS Lab – Applied Informatics with Semiotics Laboratory)

[73]

EMIL OANŢĂ, IOAN ODĂGESCU, ILIE TAMAŞ, An original data processing method for cross-domain software applications, Scientific Bulletin of “Transilvania” University of Braşov, Series B3 – Economic Sciences 2006, http://but.unitbv.ro/bu2008/arhiva/bu2006/seria_b.htm, http://but.unitbv.ro/bu2008/arhiva/bu2006/buletin%20b%20pdf/054-b-oanta_06.pdf

[74]

EMIL OANŢĂ, Numerical Methods and Models in Economy, 2007, 468 pages, PhD Thesis, The Bucharest Academy of Economic Studies, The Faculty of Economic Cybernetics, Statistics and Informatics, The Department of Economic Informatics, Promoter: Prof. Dr. Ec. Mat. Ioan Odagescu

[75]

EMIL OANŢĂ, VR GUI, Analele Universităţii Maritime din Constanţa, Editura Nautica, ISSN 1582-3601, Constanta, 2007, pag. 179-184

[76]

EMIL OANŢĂ, IOAN ODĂGESCU, ILIE TAMAŞ, Management Instruments which Use Probabilistic Approaches. Case studies,The 11th World MultiConference on Systemics, Cybernetics and Informatics: WMSCI2007 - The 3rd International Symposium on Management, Engineering and Informatics: MEI2007, Organised by the International Institute of Informatics and Systemics, July 8-11, 2007, Orlando, Florida, USA

[77]

EMIL OANŢĂ, SIMONA DINU, Knowledge management in interdisciplinary scientific research, Review of management and economic engineering/revista de management şi inginerie economică, B+, ISSN 1453-1305, EISSN 1842-8088, volume VIII / no. 1 / 2008, http://revistaie.ase.ro/content/en8/oanta%20emil%20sa.pdf, http://revistaie.ase.ro/en8.html

REFERENCES

[78]

79 EMIL OANŢĂ, Virtual Reality Original Instrument Employed in Crises Management, Proceedings of the 12th International Congress of the International Maritime Association of the Mediterranean (IMAM2007), Varna, Bulgaria, 2-6 September 2007, Maritime Industry, Ocean Engineering and Costal Resources – Editors: Guedes Soares & Kolev, 2008 Taylor & Francis Group, London, ISBN 978-0-415-45523-7, pag. 1095-1102

[79]

EMIL OANTA, SIMONA DINU, Computer Based Models in Education and Research, Proceedings of The 13th International Congress of the International Maritime Association of the Mediterranean - IMAM2009, Section 5-1 Marine Transportation - Simulation, 12-15 Oct 2009, Istanbul, Turkey, ISBN (Set) 978975-561-355-0, ISBN Vol. III 978-975-561-358-1, Editors: Omer Goren, Barbaros Okan, Safak C. Karakas, Istanbul: ITU Faculty and Naval Architecture and Ocean Engineering, 2009, pp. 941-946

[80]

EMIL OANTA, ALEXANDRA NITA, An Original Method to Compute the Stresses in Applied Elasticity, Journal of Optoelectronics and Advanced Materials - Rapid Communications (OAM-RC), Editor in-chief: Prof. Dr. Mihai A. Popescu, ISSN: Print: 1842-6573, Impact factor 0.224, Vol. 3, No. 11, November 2009, pp. 1226-1230

[81]

EMIL OANTA, SIMONA DINU, ILIE TAMAS, IOAN ODAGESCU, Innovative Engineering Based On Visual Information, Proceedings of the Balkan Region Conference on Engineering and Business Education, Section: Innovative New Methods for Engineering and Business Education, Volume I, Organized by Lucian Blaga University of Sibiu & Hochschule Wismar - University of Applied Sciences Technology, Business and Design, 15-17 October 2009, Sibiu, Editors: Constantin Oprean, Norbert Grunwald, Claudiu Vasile Kifor, ISBN 978-973-739-848-1, ISSN 1834-6730, pp. 174-177

[82]

EMIL OANTA, ILIE TAMAS, IOAN ODAGESCU, A Proposal for a Knowledge Management System for Emergency Situations, Proceedings of the 4th International Conference on Knowledge Management: Projects, Systems and Technologies, Section III. KM Projects, Organized by Project Management Association, “Carol I” National Defense University, Academy of Economic Studies, November 6-7, 2009, Bucharest, Romania, Editors: Toma Plesanu, Luiza Kraft, ISBN DVD 978-973-663-784-1, ISBN hardcopy: 978-973-663-783-4, pp. 143-145

[83]

EMIL OANTA, Computer Based Instruments in Teaching Strength of Materials, Proceedings of the 6th international seminar on ‘Quality Management in the Higher Education’, Organized by: Ministry of Education, Research, Youth and Sports, 'Gheorghe Asachi' Technical University of Iasi, CETEX - Center of Continuing Education and Training, 8-9 July 2010, Tulcea, Romania, Editor: Costache Rusu, ISBN 978-973-662-566-4, ISBN (Volume 1): 978-973-662-567-1, pp. 579-582

[84]

EMIL OANTA, CORNEL PANAIT, GHIORGHE BATRÎNCA, ALEXANDRU PESCARU, Basic Concepts to Design the Software Application of a Computer Based Mechanical Engineering Model, Annals of DAAAM for 2011 & Proceedings of the 22nd International DAAAM Symposium, ISBN 978-3-90150983-4, ISSN 1726-9679, pp 0505-0506, Editor Branko Katalinic, Published by DAAAM International, Vienna, Austria 2011

80 [85]

[86]

6.3

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

EMIL OANTA, CORNEL PANAIT, GHIORGHE BATRÎNCA, ALEXANDRU PESCARU, Computer based educational model of the bent hull in the context of the maritime education, Annals of DAAAM for 2011 & Proceedings of the 22nd International DAAAM Symposium, ISBN 978-3-901509-83-4, ISSN 17269679, pp 0503-0504, Editor Branko Katalinic, Published by DAAAM International, Vienna, Austria 2011 Emil Oanta, Cornel Panait, Vasile Marina, Viorica Marina, Leonard Lepadatu, Eliodor Constantinescu, Mihaela Barhalescu, Adrian Sabau, & Constantin Dumitrache, Mathematical Composite Models, a Path to Solve Research Complex Problems, Annals of DAAAM for 2011 & Proceedings of the 22 nd International DAAAM Symposium, ISBN 978-3-901509-83-4, ISSN 1726-9679, pp 0501-0502, Editor B[ranko] Katalinic, Published by DAAAM International, Vienna, Austria 2011

Documentations, on-line documentations

[87]

Yumetech, Inc., The Xj3D Toolkit, http://www.yumetech.com

[88]

http://eoanta.fortunecity.com/20050629Research-VUB-1.gif

[89]

http://eoanta.fortunecity.com/20050629Research-VUB-2.gif

[90]

CAREY R., BELL G., The Annotated VRML97 http://www.jwave.vt.edu/~engineer/vrml97book/

[91]

DAN GÂLEA, FLORIN LEON, Curs on-line de Inteligenţă Artificială, Universitatea Tehnică “Gh. Asachi” Iaşi, Facultatea de Automatică şi Calculatoare, http://eureka.cs.tuiasi.ro/~fleon/curs_ia.htm

[92]

MICHAEL MORRISON, et al., Java Unleashed, Chapter 34 – VRML and Java, http://docs.rinet.ru/Junleashed/ch41.htm

Reference

Manual,

Appendices The first appendices are dedicated to the presentation of some programming aspects like: structure of the software application, relevant modules of programs, etc. Some other appendices present the educational problems solved by the use of this software application.

Appendix 1.

MIPVES01 Library – Aspects regarding the code

{$N+$E+$F+$O+$G+$R+$S+$V+$Q+$X+} Unit MIPVes01; { Definition of the data types and codes of the basic procedures and functions. } Interface Uses WinGraph, WinCrt, WinMouse; Const Dim = 25; OperatingSystem='W'; Type Matrix_Value Integer_Value Integer_Vector Word_Vector Matrix_Vector Matrix_Integer Matrix_Char Matrix_String Matrix_Word String_Vector STR1 MPO_Record

= = = = = = = = = = = =

NrPct TotalPct X_Coord X_Info Interval Total_Intervale FiY_Ini UZ_Ini FiZ_Ini UY_Ini PY_DL PZ_DL TY_SF TZ_SF MY_BM MZ_BM FIY_R FIZ_R UZ_D UY_D IY_MI IZ_MI Z_Max Y_Max SY_SM SZ_SM

Double; Integer; Array [1..Dim] Of Integer; Array [1..Dim] Of Word; Array [1..Dim] Of Matrix_Value; Array [1..Dim,1..Dim] Of Integer; Array [1..Dim,1..Dim] Of Char; Array [1..Dim,1..Dim] Of String; Array [1..Dim,1..Dim] Of Word; Array [1..Dim] Of String; String[1]; Record : : : : : : : : : : : : : : : : : : : : : : : : : :

Integer; Integer; Matrix_Value; String; Integer; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value;

{ { { { { { { { { { { { { { { { { { { { { { { { { {

Index of the current point Total number of points X coordinate in the global system of axis Info string about the location of the point Interval where the current point belongs Total number of intervals Initial Fi, axis Y, in the leftmost point Initial U, axis Z, in the leftmost point Initial Fi, axis Z, in the leftmost point Initial U, axis Y, in the leftmost point Distributed load, axis Y, on the current interval Distributed load, axis Z, on the current interval Shear force, axis Y Shear force, axis Z Bending moment, axis Y Bending moment, axis Z Current Fi rotation, axis Y Current Fi rotation, axis Z Current U displacement, axis Z Current U displacement, axis Y Moment of inertia, axis Y Moment of inertia, axis Z Greatest length with respect to Z axis of a point Greatest length with respect to Y axis of a point Statical moment in the center of gravity, axis Y Statical moment in the center of gravity, axis Z

} } } } } } } } } } } } } } } } } } } } } } } } } }

82

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES BY_SW BZ_SW Sigma_My Tau_Tz Sigma_Mz Tau_Ty Ech_Stress_My_Ty Ech_Stress_Mz_Tz Line_of_Report

: : : : : : : : :

Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; String;

{ { { { { { { {

Width of the overall section along the Y axis } Width of the overall section along the Z axis } Normal stress created by the My bending moment } Tangential stress created by the Tz shear force } Normal stress created by the Mz bending moment } Tangential stress created by the Ty shear force } Equivalent stress, Sigma_My & Tau_Ty in 12 o'clock & 6 o'clock } Equivalent stress, Sigma_Mz & Tau_Tz in 3 o'clock & 9 o'clock }

End; MPO_File = File of MPO_Record; Function Trim(S : String) : String; Function LTrim(S : String): String; Function AllTrim(S : String): String; Procedure

Fill(Var S C Position Len ErrFill

: : : : :

String; Str1; Char; Integer; Integer);

Function Real2String ( Numar Tot_Dig Deg_Dig Leading_String

: : : :

Matrix_Value; Integer; Integer; STR1) : String;

Function Integer2String ( Numar : Integer; Tot_Dig : Integer; Leading_String : STR1) : String; Procedure BubbleSort_MPO_File ( Sort_Flag I_Start I_Stop MPO_FileName

: : : :

Char; Integer; Integer; String);

Procedure Creare_si_Initializare_Fisier_De_Date ( Var MPO_Filename : String; Var Nr_Recs : Integer); Procedure Delete_If_Exist ( MPO_FileName : String); Procedure Actualizare_Fisier_De_Date ( MPO_FileName _NrPct _TotalPct _X_Coord _X_Info _Interval _Total_Intervale _FiY_Ini _UZ_Ini _FiZ_Ini _UY_Ini _PY_DL _PZ_DL _TY_SF _TZ_SF _MY_BM _MZ_BM _FIY_R _FIZ_R _UZ_D _UY_D _IY_MI _IZ_MI _Z_Max _Y_Max _SY_SM _SZ_SM

: : : : : : : : : : : : : : : : : : : : : : : : : : :

String; Integer; Integer; Matrix_Value; String; Integer; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value;

{ { { { { { { { { { { { { { { { { { { { { { { { { {

Index of the current point Total number of points X coordinate in the global system of axis Info string about the location of the point Interval where the current point belongs Total number of intervals Initial Fi, axis Y, in the leftmost point Initial U, axis Z, in the leftmost point Initial Fi, axis Z, in the leftmost point Initial U, axis Y, in the leftmost point Distributed load, axis Y, on the current interval Distributed load, axis Z, on the current interval Shear force, axis Y Shear force, axis Z Bending moment, axis Y Bending moment, axis Z Current Fi rotation, axis Y Current Fi rotation, axis Z Current U displacement, axis Z Current U displacement, axis Y Moment of inertia, axis Y Moment of inertia, axis Z Greatest length with respect to Z axis of a point Greatest length with respect to Y axis of a point Statical moment in the center of gravity, axis Y Statical moment in the center of gravity, axis Z

} } } } } } } } } } } } } } } } } } } } } } } } } }

APPENDICES _BY_SW _BZ_SW _Sigma_My _Tau_Tz _Sigma_Mz _Tau_Ty _Ech_Stress_My_Ty _Ech_Stress_Mz_Tz _Line_of_Report

: : : : : : : : :

Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; String);

{ { { { { { { {

83

Width of the overall section Width of the overall section Normal stress created by the Tangential stress created by Normal stress created by the Tangential stress created by

along the Y axis along the Z axis My bending moment the Tz shear force Mz bending moment the Ty shear force

} } } } } }

Equivalent stress created by Sigma_My & Tau_Ty in 6 & 12 o'clock } Equivalent stress created by Sigma_Mz & Tau_Tz in 3 & 9 o'clock }

Procedure Extragere_Informatii_Din_Fisier_De_Date ( { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { {

Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output

} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

MPO_FileName _NrPct _TotalPct _X_Coord _X_Info _Interval _Total_Intervale _FiY_Ini _UZ_Ini _FiZ_Ini _UY_Ini _PY_DL _PZ_DL _TY_SF _TZ_SF _MY_BM _MZ_BM _FIY_R _FIZ_R _UZ_D _UY_D _IY_MI _IZ_MI _Z_Max _Y_Max _SY_SM _SZ_SM _BY_SW _BZ_SW _Sigma_My _Tau_Tz _Sigma_Mz _Tau_Ty _Ech_Stress_My_Ty _Ech_Stress_Mz_Tz _Line_of_Report

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

String; Integer; Integer; Matrix_Value; String; Integer; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; String);

Procedure Append_MPO_Rec ( Var Var Var Var

{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { {

Index of the current point Total number of points X coordinate in the global system of axis Info string about the location of the point Interval where the current point belongs Total number of intervals Initial Fi, axis Y, in the leftmost point Initial U, axis Z, in the leftmost point Initial Fi, axis Z, in the leftmost point Initial U, axis Y, in the leftmost point Distributed load, axis Y, on the current interval Distributed load, axis Z, on the current interval Shear force, axis Y Shear force, axis Z Bending moment, axis Y Bending moment, axis Z Current Fi rotation, axis Y Current Fi rotation, axis Z Current U displacement, axis Z Current U displacement, axis Y Moment of inertia, axis Y Moment of inertia, axis Z Greatest length with respect to Z axis of a point Greatest length with respect to Y axis of a point Statical moment in the center of gravity, axis Y Statical moment in the center of gravity, axis Z Width of the overall section along the Y axis Width of the overall section along the Z axis Normal stress created by the My bending moment Tangential stress created by the Tz shear force Normal stress created by the Mz bending moment Tangential stress created by the Ty shear force Equivalent stress created by Sigma_My & Tau_Ty in 6 & 12 o'clock Equivalent stress created by Sigma_Mz & Tau_Tz in 3 & 9 o'clock

MPO_FileName I_Position X X_Information

: : : :

} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }

String; Integer; Matrix_Value; String);

Function Number_Of_MPO_Records (Var MPO_Filename : String) : Integer; Function X_Do_Not_Exist_In_MPO_File (

Procedure Citeste_Date ( Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

Var X : Matrix_Value; Eps : Matrix_Value; Var MPO_FileName : String) : Boolean;

NFT_In Nume_Problema Numar_Intervale Alfa Lung_Int_Vect F_Dist_Int_Vect Young_Vect IY_Vect IZ_Vect ZMax_Vect YMax_Vect SY_Vect SZ_Vect Bz_Vect By_Vect Sigma_Adm Flag_Conditii

: : : : : : : : : : : : : : : : :

String; String; Integer; Matrix_Value; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Value; Integer;

84

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Procedure Scrie_Date

(

Var Var Var Var Var Var Var Var Var Var Var Var Var Var

X_Fi_Masurat Fi_Masurat X_U_Masurat U_Masurat X_Uz1_Masurat Uz1_Masurat X_Uz2_Masurat Uz2_Masurat Fi_Initial Uz_Initial Flag_Grafica Flag_Color Nr_Minim_Puncte Tip_Diagrame

: : : : : : : : : : : : : :

Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Str1; Str1; Integer; Integer);

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

NFT_Input Nume_Problema Numar_Intervale Alfa Lung_Int_Vect F_Dist_Int_Vect Young_Vect IY_Vect IZ_Vect ZMax_Vect YMax_Vect SY_Vect SZ_Vect Bz_Vect By_Vect Sigma_Adm Flag_Conditii X_Fi_Masurat Fi_Masurat X_U_Masurat U_Masurat X_Uz1_Masurat Uz1_Masurat X_Uz2_Masurat Uz2_Masurat Fi_Initial Uz_Initial Flag_Grafica Flag_Color Nr_Minim_Puncte Tip_Diagrame

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

String; String; Integer; Matrix_Value; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Str1; Str1; Integer; Integer);

Function File_Exists ( FileName : String): Boolean; Function Delete_File ( File_Name : String) : Boolean; Procedure ClearMouseEventsQueue; Procedure ClearKeyboardEventsQueue;

APPENDICES

Procedure Repeat_Until_KeyPressed; Function InRange( CurrentX CurrentY MinX MaxX MinY MaxY

: : : : : :

Word; Word; Word; Word; Word; Word) : Boolean;

Procedure Repeat_Until_Event ( { Out } Var Flag : Word; { Out } Var Z1 : Integer; { Out } Var Z2 : Integer; { Out } Var C1 : Char; { Out } Var C2 : Char; { Out } Var mouseEvent : MouseEventType); Implementation . . . End.

85

86

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Appendix 2.

MIPVES02 Library – Aspects regarding the code

{$N+$E+$F+$O+$G+$R+$S+$V+$Q+$X+} Unit MIPVes02; { Structura datelor din fisierul de intrare in programul MIPVES. Fisierul de intrare are extensia implicita INP si este un fisier text. Informatiile citite din fisierul de intrare. 1. Denumirea problemei 2. Numar de intervale - NINT [-] 3. Unghi de inclinare laterala Alfa [grd sexagesimale]; valorile pozitive corespund sensului trigonometric, spre babord; contine 8 caractere, din 064 in 071; 4. Informatii despre fiecare interval: 4.01 lungimea intervalului [mm], 7 caractere, din 001 in 007 4.02 forta distribuita [KN/m] sau [N/mm] conventie: p < 0 ==> este in jos p > 0 ==> este in sus contine 9 caractere, din 008 in 016 4.03 modul de elasticitate longitudinala [MPa] contine 9 caractere, din 017 in 025 4.04 moment de inertie Iy [mm^4], 19 caractere, din 026 in 044 4.05 moment de inertie Iz [mm^4], 19 caractere, din 045 in 063 4.06 distanta z_max folosita pentru definirea modulului de rezistenta Wy, contine 10 caractere, din 064 in 073 4.07 distanta y_max folosita pentru definirea modulului de rezistanta Wz, contine 10 caractere, din 074 in 083 4.08 moment static Sy [mm^3], 16 caractere, din 084 in 099 4.09 moment static Sz [mm^3], 16 caractere, din 100 in 115 4.10 latimea sectiunii in lungul axei z, bz, 09 caractere, din 116 in 124 4.11 latimea sectiunii in lugul axei y, by, 09 caractere, din 125 in 133 5. Tensiunea admisibila in MPa 6. Numar care indica modul de introducere a conditiilor la limita din care se calculeaza rotirea initiala. Astfel, * daca este 1 urmeaza doua linii care contin: 6.1 coordonata X masurata de la extremitatea din stanga a grindei nava in care se masoara rotirea, 9 caractere din 001 in 009 6.2 rotirea masurata in sectiunea de la 6.1, 20 de caractere din 010 in 029 6.3 coordonata X masurata de la extremitatea din stanga a grindei nava in care se masoara deplasarea, 9 caractere din 001 in 009 6.4 deplasarea masurata in sectiunea de la 6.3, 20 de caractere din 010 in 029 * daca este 2 urmeaza doua linii care contin: 6.5 coordonata X masurata de la extremitatea din stanga a grinzii-nava pana la sectiunea in care se masoara distanta de la o linie de referinta considerata 'de zero', sau nedeformata, pana la nivelul marii, 9 caractere din 001 in 009 6.6 valoarea acestei distante masurata in sectiunea de la 6.5, 20 de caractere din 010 in 029 * daca este 3 urmeaza o linie care contine rotirea in extremitatea din stanga (Fi1), 20 de caractere din 001 in 020 si deplasarea

APPENDICES

87

in aceeasi sectiune, 20 de caractere din 021 in 040 7. Flag care reprezinta optiunea explicita pentru grafica: 'G' ---> cu grafica (diagrame de eforturi, deformata navei) 'A' ---> automat, tip fisier de intrare, fisier de iesire 8. Flag care reprezinta tip tipul de culori folosite pentru trasarea diagramelor: 'C' ---> color; 'M' ---> monocrom. 9. Numar minim de puncte in care se calculeaza eforturile si deplasarea. In plus apar sectiunile caracteristice, sectiunile in care T=0 (M=max.), M=0, Fi=0 (Uz=max.).

} Interface Uses WinGraph, WinCrt, WinMouse, MIPVES01; Procedure Calcul (

{ Output } { Output } { Output } Procedure Raport_MPO

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

NFT_In : String; Nume_Problema : String; Numar_Intervale : Integer; Alfa : Matrix_Value; Lung_Int_Vect : Matrix_Vector; F_Dist_Int_Vect : Matrix_Vector; Young_Vect : Matrix_Vector; IY_Vect : Matrix_Vector; IZ_Vect : Matrix_Vector; ZMax_Vect : Matrix_Vector; YMax_Vect : Matrix_Vector; SY_Vect : Matrix_Vector; SZ_Vect : Matrix_Vector; Bz_Vect : Matrix_Vector; By_Vect : Matrix_Vector; Sigma_Adm : Matrix_Value; Flag_Conditii : Integer; X_Fi_Masurat : Matrix_Value; Fi_Masurat : Matrix_Value; X_U_Masurat : Matrix_Value; U_Masurat : Matrix_Value; X_Uz1_Masurat : Matrix_Value; Uz1_Masurat : Matrix_Value; X_Uz2_Masurat : Matrix_Value; Uz2_Masurat : Matrix_Value; FiY_Ini : Matrix_Value; Uz_Ini : Matrix_Value; Flag_Grafica : Str1; Flag_Color : Str1; Nr_Minim_Puncte : Integer; Data_FileName : String; Nr_Total_Puncte : Integer; Rotire_Initiala : Matrix_Value; Deplasare_Initiala : Matrix_Value);

( Var NFT_In Var Var Var Var Var Var

MPO_FileName Nume_Problema Numar_Intervale Alfa Lung_Int_Vect F_Dist_Int_Vect

: : : : : : :

String; String; String; Integer; Matrix_Value; Matrix_Vector; Matrix_Vector;

88

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

Procedure Out_FileReport (

Young_Vect : Matrix_Vector; IY_Vect : Matrix_Vector; IZ_Vect : Matrix_Vector; ZMax_Vect : Matrix_Vector; YMax_Vect : Matrix_Vector; SY_Vect : Matrix_Vector; SZ_Vect : Matrix_Vector; Bz_Vect : Matrix_Vector; By_Vect : Matrix_Vector; Sigma_Adm : Matrix_Value; Flag_Conditii : Integer; X_Fi_Masurat : Matrix_Value; Fi_Masurat : Matrix_Value; X_U_Masurat : Matrix_Value; U_Masurat : Matrix_Value; X_Uz1_Masurat : Matrix_Value; Uz1_Masurat : Matrix_Value; X_Uz2_Masurat : Matrix_Value; Uz2_Masurat : Matrix_Value; Fi_Initial : Matrix_Value; Uz_Initial : Matrix_Value; Flag_Grafica : Str1; Flag_Color : Str1; Nr_Minim_Puncte : Integer; Nr_Total_Puncte : Integer; Rotire_Initiala : Matrix_Value; Deplasare_Initiala : Matrix_Value);

Section NFT_Input MPO_DataFile

: Integer; { 0-All; 1-Input; 2-Output } : String; { Nume fisier date de intrare } : String); { Nume fisier de date }

Procedure Verificare_Echilibru (Var Numar_Intervale Var Var Var Var

Procedure Text_Problema ( Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

: : : : :

Lung_Int_Vect PZ_Vect Err MsgErr

NFT_In Nume_Problema Flag_Conditii X_Fi_Masurat Fi_Masurat X_U_Masurat U_Masurat X_Uz1_Masurat Uz1_Masurat X_Uz2_Masurat Uz2_Masurat FiY_Ini Uz_Ini Rotire_Initiala Deplasare_Initiala

: : : : : : : : : : : : : : :

Integer; Matrix_Vector; Matrix_Vector; Integer; String);

String; String; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value);

Implementation Function

H ( Var X Var A

Var . . . End; {of H}

: Matrix_Value; : Matrix_Value ) : Matrix_Value;

APPENDICES

89

Function Integrale_H ( Var Ordin : Integer; Var X : Matrix_Value; Var A : Matrix_Value ) : Matrix_Value; Var . . . End; {of Integrale_H} Procedure Marimi_Interval_Forte_Z ( Semn_Plan_Forte : Matrix_Value; Var FTaietoare_Stanga : Matrix_Value; Var Moment_Stanga : Matrix_Value; Var Rotire_Stanga : Matrix_Value; Var Sageata_Stanga : Matrix_Value; Var F_Distribuita : Matrix_Value; Var Lung_Interval : Matrix_Value; Var E_Young : Matrix_Value; Var I_Mom_Inertie : Matrix_Value; Var X : Matrix_Value; Var KErr : Integer; Var MsgErr : String; Var FTaietoare_X : Matrix_Value; Var Moment_X : Matrix_Value; Var Rotire_X : Matrix_Value; Var Sageata_X : Matrix_Value); { { { {

Pe un interval dat am marimile la capatul din stanga si calculez valorile acestor marimi intr-o sectiune data, identificata prin coordonata X, masurata la nivel de interval. Deci pentru X exista conditiile X > 0 si X < Lung_Interval

} } } }

Begin . . . End; { of Marimi_Interval_Forte_Z } Procedure Identificare_Interval ( Var Numar_Intervale : Integer; Var Lung_Int : Matrix_Vector; Var X_Global : Matrix_Value; Var Index_Interval : Integer; Var X_Global_Stanga : Matrix_Value); { { { { {

Identifica intervalul curent in functie de coordonata X masurata de la extremitatea din stanga a barei si in functie de marimile intervalelor.

Var End; { of Identificare_Interval } Procedure Calcul_Marimi ( Ecou UpLevelColor Semn_Plan_Forte Var Numar_Intervale

: : : :

Boolean; LongWord; Matrix_Value; Integer;

} } } } }

90

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Var Var Var Var Var Var Var Var Var Var Var { { { { {

Lung_Int F_Dist_Int Modul_Young Moment_Inertie Rotire_Initiala Sageata_Initiala X_Global Forta_Taietoare Moment_Incovoietor Rotire Sageata

: : : : : : : : : : :

Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value);

} Calculeaza marimile: forta taietoare, moment incovoietor, rotire } in functie de coordonata X masurata de la extremitatea din stanga } a barei. } }

Var . . . End; { of Calcul_Marimi } Procedure Conditii_Initiale_Din_Rotire_Masurata ( Semn_Plan_Forte : Matrix_Value; Var Numar_Intervale : Integer; Var Lung_Int : Matrix_Vector; Var F_Dist_Int : Matrix_Vector; Var Modul_Young : Matrix_Vector; Var Moment_Inertie : Matrix_Vector; Var X_Fi_Masurat : Matrix_Value; Var Fi_Masurat : Matrix_Value; Var X_U_Masurat : Matrix_Value; Var U_Masurat : Matrix_Value; Var Eps : Matrix_Value; Var KErr : Integer; Var Fi_Initial : Matrix_Value; Var U_Initial : Matrix_Value); { { { { { { { { {

Se considera ca in sectiunea X_FI_MASURAT, raportata in functie de extremitatea din stanga a barei, se masoara rotirea FI_MASURAT. De exemplu, se identifica sectiunea in care rotirea este nula folosind o nivela cu apa. Procedura calculeaza rotirea initiala FI_INITIAL folosind metoda injumatatirii intervalului. EPS reprezinta precizia cu care se obtine solutia.

Var . . . End; { of Conditii_Initiale_Din_Rotire_Masurata } Procedure Conditii_Initiale_Din_Nivele_Masurate ( Semn_Plan_Forte : Matrix_Value; Var Numar_Intervale : Integer; Var Lung_Int : Matrix_Vector; Var F_Dist_Int : Matrix_Vector; Var Modul_Young : Matrix_Vector; Var Moment_Inertie : Matrix_Vector; Var X_Nivel1_Masurat : Matrix_Value;

} } } } } } } } }

APPENDICES

Var Var Var Var Var Var Var { { { { { { { { { { {

Nivel1 X_Nivel2_Masurat Nivel2 Eps KErr Fi_Initial U_Initial

: : : : : : :

91

Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Integer; Matrix_Value; Matrix_Value);

Se considera ca se masoara doua nivele: NIVEL1 si NIVEL2 in doua sectiuni X_NIVEL1_MASURAT, respectiv X_NIVEL2_MASURAT. De exemplu, se masoara distanta de la nivelul apei marii pana la doua repere care initial erau orizontale. Diferenta dintre aceste nivele reprezinta sageata rezultata ca efect al rotirii initiale, deoarece prin diferenta se anuleaza efectul sagetii initiale. Procedura calculeaza rotirea initiala FI_INITIAL folosind metoda injumatatirii intervalului. EPS reprezinta precizia cu care se obtine solutia.

} } } } } } } } } } }

Var . . . End; { of Conditii_Initiale_Din_Nivele_Masurate } Procedure Identificare_Sectiuni_T_Nul ( Semn_Plan_Forte : Matrix_Value; Var Numar_Intervale : Integer; Var Lung_Int : Matrix_Vector; Var F_Dist_Int : Matrix_Vector; Var Modul_Young : Matrix_Vector; Var Moment_Inertie : Matrix_Vector; Var Rotire_Initiala : Matrix_Value; Var Sageata_Initiala : Matrix_Value; Var Eps : Matrix_Value; Var Numar_Sectiuni_T_Nul : Integer; Var X_Sectiuni_T_Nul : Matrix_Vector; Var Moment_Maxim_Sectiuni : Matrix_Vector); { { { { { { { { { { { { { { { { { { { {

} Identifica sectiunile in care se anuleaza forta taietoare si } calculeaza momentele extreme corespunzatoare. } Procedura se apeleaza cand se doreste identificarea sectiunilor } semnificative dintr-o grinda nava: } 1. sectiunile in care se anuleaza forta taietoare; } 2. sectiunile in care se anuleaza momentul incovoietor; } 3. sectiunile in care se anuleaza rotirea; } 4. sectiunile in care se anuleaza sageata. } Calculul marimilor Tz, My, Fi_y, W_z este dezvoltat intr-o serie de } puncte printre care se afla si sectiunile specificate anterior. } Aceste valori pot fi folosite pentru diferite studii, trasari de } diagrame diverse, etc. } } Date de iesire: } Numar_Sectiuni_T_Nul - numar de sectiuni in care Tz = 0 } X_Sectiuni_T_Nul - coordonata X in care Tz = 0, masurata de la } extremitatea din stanga a grinzii-nava } Moment_Maxim_Sectiuni- valorile momentului My in sectiunile Tz = 0 } }

Var . . . End; { of Identificare_Sectiuni_T_Nul }

92

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Procedure Identificare_Sectiuni_M_Nul ( Semn_Plan_Forte : Matrix_Value; Var Numar_Intervale : Integer; Var Lung_Int : Matrix_Vector; Var F_Dist_Int : Matrix_Vector; Var Modul_Young : Matrix_Vector; Var Moment_Inertie : Matrix_Vector; Var Rotire_Initiala : Matrix_Value; Var Sageata_Initiala : Matrix_Value; Var Eps : Matrix_Value; Var Numar_Sectiuni_M_Nul : Integer; Var X_Sectiuni_M_Nul : Matrix_Vector; Var Rotire_Maxima_Sectiuni : Matrix_Vector); { { { { { { { { { { { { { { { { { { { {

} } } } } } } } } } } } } } Date de iesire: } Numar_Sectiuni_M_Nul - numar de sectiuni in care My = 0 } X_Sectiuni_M_Nul - coordonata X in care My = 0, masurata de } la extremitatea din stanga a grinzii-nava } Rotire_Maxima_Sectiuni - valorile rotirii in sectiunile My = 0 } } Identifica sectiunile in care se anuleaza momentul incovoietor si calculeaza rotirea extrema corespunzatoare. Procedura se apeleaza cand se doreste identificarea sectiunilor semnificative dintr-o grinda nava: 1. sectiunile in care se anuleaza forta taietoare; 2. sectiunile in care se anuleaza momentul incovoietor; 3. sectiunile in care se anuleaza rotirea; 4. sectiunile in care se anuleaza sageata. Calculul marimilor Tz, My, Fi_y, W_z este dezvoltat intr-o serie de puncte printre care se afla si sectiunile specificate anterior. Aceste valori pot fi folosite pentru diferite studii, trasari de diagrame diverse, etc.

Var . . . End; { of Identificare_Sectiuni_M_Nul } Procedure Identificare_Sectiuni_Rot_Nul ( Semn_Plan_Forte : Matrix_Value; Var Numar_Intervale : Integer; Var Lung_Int : Matrix_Vector; Var F_Dist_Int : Matrix_Vector; Var Modul_Young : Matrix_Vector; Var Moment_Inertie : Matrix_Vector; Var Rotire_Initiala : Matrix_Value; Var Sageata_Initiala : Matrix_Value; Var Eps : Matrix_Value; Var Numar_Sectiuni_Rot_Nul : Integer; Var X_Sectiuni_Rot_Nul : Matrix_Vector; Var Sageata_Maxima_Sectiuni : Matrix_Vector); { { { { { { {

Identifica sectiunile in care se anuleaza rotirea si calculeaza sageata extrema corespunzatoare. Procedura se apeleaza cand se doreste identificarea sectiunilor semnificative dintr-o grinda nava: 1. sectiunile in care se anuleaza forta taietoare; 2. sectiunile in care se anuleaza momentul incovoietor;

} } } } } } }

APPENDICES

{ { { { { { { { { { { { {

93

3. sectiunile in care se anuleaza rotirea; 4. sectiunile in care se anuleaza sageata. Calculul marimilor Tz, My, Fi_y, W_z este dezvoltat intr-o serie de puncte printre care se afla si sectiunile specificate anterior. Aceste valori pot fi folosite pentru diferite studii, trasari de diagrame diverse, etc.

} } } } } } } Date de iesire: } Numar_Sectiuni_M_Nul - numar de sectiuni in care My = 0 } X_Sectiuni_M_Nul - coordonata X in care My = 0, masurata de } la extremitatea din stanga a grinzii-nava } Rotire_Maxima_Sectiuni - valorile rotirii in sectiunile My = 0 } }

Var . . . End; { of Identificare_Sectiuni_Rot_Nul } Procedure Identificare_Sectiuni_Sag_Nul ( Semn_Plan_Forte : Matrix_Value; Var Numar_Intervale : Integer; Var Lung_Int : Matrix_Vector; Var F_Dist_Int : Matrix_Vector; Var Modul_Young : Matrix_Vector; Var Moment_Inertie : Matrix_Vector; Var Rotire_Initiala : Matrix_Value; Var Sageata_Initiala : Matrix_Value; Var Eps : Matrix_Value; Var Numar_Sectiuni_Sag_Nul : Integer; Var X_Sectiuni_Sag_Nul : Matrix_Vector); { { { { { { { { { { { { { { { { { {

} } } } } } } } } } } } } Date de iesire: } Numar_Sectiuni_Sag_Nul - numar de sectiuni in care Wz = 0 } X_Sectiuni_Sag_Nul - coordonata X in care Wz = 0, masurata de } la extremitatea din stanga a grinzii-nava } } Identifica sectiunile in care se anuleaza sageata. Procedura se apeleaza cand se doreste identificarea sectiunilor semnificative dintr-o grinda nava: 1. sectiunile in care se anuleaza forta taietoare; 2. sectiunile in care se anuleaza momentul incovoietor; 3. sectiunile in care se anuleaza rotirea; 4. sectiunile in care se anuleaza sageata. Calculul marimilor Tz, My, Fi_y, W_z este dezvoltat intr-o serie de puncte printre care se afla si sectiunile specificate anterior. Aceste valori pot fi folosite pentru diferite studii, trasari de diagrame diverse, etc.

Var . . . End; { of Identificare_Sectiuni_Sag_Nul } Procedure Raport_MPO ( Var NFT_In Var MPO_FileName Var Nume_Problema Var Numar_Intervale Var Alfa Var Lung_Int_Vect Var F_Dist_Int_Vect

: : : : : : :

String; String; String; Integer; Matrix_Value; Matrix_Vector; Matrix_Vector;

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

94

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

Young_Vect : Matrix_Vector; IY_Vect : Matrix_Vector; IZ_Vect : Matrix_Vector; ZMax_Vect : Matrix_Vector; YMax_Vect : Matrix_Vector; SY_Vect : Matrix_Vector; SZ_Vect : Matrix_Vector; Bz_Vect : Matrix_Vector; By_Vect : Matrix_Vector; Sigma_Adm : Matrix_Value; Flag_Conditii : Integer; X_Fi_Masurat : Matrix_Value; Fi_Masurat : Matrix_Value; X_U_Masurat : Matrix_Value; U_Masurat : Matrix_Value; X_Uz1_Masurat : Matrix_Value; Uz1_Masurat : Matrix_Value; X_Uz2_Masurat : Matrix_Value; Uz2_Masurat : Matrix_Value; Fi_Initial : Matrix_Value; Uz_Initial : Matrix_Value; Flag_Grafica : Str1; Flag_Color : Str1; Nr_Minim_Puncte : Integer; Nr_Total_Puncte : Integer; Rotire_Initiala : Matrix_Value; Deplasare_Initiala : Matrix_Value);

Var FT_Rap I_Section, I, L Rep_FileName Zero_Nr_Total_Puncte Zero_SX_Info, Zero_Overall_Info Zero_SX_Vector, S_Info_Vect Zero_Index_Interval, Zero_Numar_Intervale Zero_FiY_Ini, Zero_UZ_Ini, Zero_FiZ_Ini, Zero_UY_Ini Zero_PY_DL, Zero_PZ_DL Zero_Ty, Zero_Tz, Zero_MY, Zero_MZ Zero_FiY, Zero_FiZ, Zero_UZ, Zero_UY Zero_IY, Zero_IZ, Zero_ZMax, Zero_YMax Zero_SY, Zero_SZ, Zero_BY, Zero_BZ Zero_Sig_My, Zero_Tau_Tz, Zero_Sig_Mz, Zero_Tau_Ty Zero_Sig_Ech_1, Zero_Sig_Ech_2, Zero_X_Global

: : : : : : : : : : : : : : :

Text; Integer; String; Integer; String; String; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value;

Begin { Stabilesc denumirea fisierului text de iesire } L:=Pos('.',NFT_In)-1; Rep_FileName:=Copy(NFT_In,1,L)+'.REP'; { Deschid un fisier text care contine explicarea datelor de intrare } Assign (FT_Rap,Rep_FileName); ReWrite(FT_Rap); { Initializez contorul de sectiuni de date din program } I_Section:=0; WriteLn(FT_Rap,''); WriteLn(FT_Rap,' DETERMINAREA FORMEI DEFORMATE A STRUCTURILOR DE TIP GRINDA-NAVA PRIN M.P.O.'); WriteLn(FT_Rap,' ==========================================================================='); WriteLn(FT_Rap,''); WriteLn(FT_Rap,'DATE DE INTRARE'); WriteLn(FT_Rap,'---------------');

APPENDICES

95

WriteLn(FT_Rap,''); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Nume fisier de intrare: "',NFT_In,'"'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Nume problema: "',Nume_Problema,'"'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Numar de intervale: ',Numar_Intervale:2); Inc(I_Section); Write (FT_Rap,I_Section:2,'. Unghi inclinare a sectiunii transversale: ',Alfa:8:4); If (Alfa > 0) Then WriteLn(FT_Rap,' (spre babord, sens trigonometric)') Else If (Alfa < 0) Then WriteLn(FT_Rap,' (spre tribord, sens orar)') Else WriteLn(FT_Rap,''); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Date despre intervalele de calcul'); For I:=1 To Numar_Intervale Do Begin WriteLn(FT_Rap,' Interval ',I:2); WriteLn(FT_Rap,' a) Lungime interval: ',Lung_Int_Vect[I] :11:03,' mm'); WriteLn(FT_Rap,' b) Forta distribuita: ',F_Dist_Int_Vect[I]:08:03,' N/mm'); WriteLn(FT_Rap,' c) Modulul lui Young: ',Young_Vect[I]:09:03,' MPa'); WriteLn(FT_Rap,' d) Moment de inertie axial IY: ',(IY_Vect[I]/1e8):09:03,' 10^8 mm^4'); WriteLn(FT_Rap,' e) Moment de inertie axial IZ: ',(IZ_Vect[I]/1e8):09:03,' 10^8 mm^4'); WriteLn(FT_Rap,' f) Distanta Z_Max: ',ZMax_Vect[I]:09:03,' mm (Wy=Iy/Z_Max)'); WriteLn(FT_Rap,' g) Distanta Y_Max: ',YMax_Vect[I]:09:03,' mm (Wz=Iz/Y_Max)'); WriteLn(FT_Rap,' h) Moment static SY: ',(SY_Vect[I]/1e6):09:03,' 10^6 mm^3'); WriteLn(FT_Rap,' i) Moment static SZ: ',(SZ_Vect[I]/1e6):09:03,' 10^6 mm^3'); WriteLn(FT_Rap,' j) Distanta BZ: ',Bz_Vect[I]:09:03,' mm'); WriteLn(FT_Rap,' k) Distanta BY: ',By_Vect[I]:09:03,' mm'); End; Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Sigma admisibil: ',Sigma_Adm:7:3,' MPa'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Flag conditii la limita: ',Flag_Conditii:1); WriteLn(FT_Rap,' In functie de valoarea acestui flag urmeaza o succesiune de linii, dupa'); WriteLn(FT_Rap,' cum urmeaza:'); WriteLn(FT_Rap,' Flag=1 => 1-1. Coordonata X a sectiunii in care se da valoarea rotirii FI'); WriteLn(FT_Rap,' 1-2. Valoarea rotirii FI'); WriteLn(FT_Rap,' 2-3. Coordonata X a sectiunii in care se da valoarea deplasarii U'); WriteLn(FT_Rap,' 2-4. Valoarea deplasarii U'); WriteLn(FT_Rap,' Flag=2 => 1-1. Coordonata X a sectiunii in care se da valoarea deplasarii UZa'); WriteLn(FT_Rap,' 1-2. Valoarea deplasarii UZa'); WriteLn(FT_Rap,' 2-3. Coordonata X a sectiunii in care se da valoarea deplasarii UZb'); WriteLn(FT_Rap,' 2-4. Valoarea deplasarii UZb'); WriteLn(FT_Rap,' Flag=3 => 1-1. Rotirea FI1 in sectiunea de la extremitatea din stanga'); WriteLn(FT_Rap,' 1-2. Deplasarea Uz1 in sectiunea de la extremitatea din stanga'); WriteLn(FT_Rap,' In acest caz (Flag conditii = ',Flag_Conditii:1,')'); If (Flag_Conditii = 1) Then Begin WriteLn(FT_Rap,' X_FI=',X_Fi_Masurat:09:03,' mm, FI=',Fi_Masurat:20:15,' [-]'); WriteLn(FT_Rap,' X_U =',X_U_Masurat :09:03,' mm, U=', U_Masurat :20:15,' mm'); End; If (Flag_Conditii = 2) Then Begin WriteLn(FT_Rap,' X_UZ_a=',X_Uz1_Masurat:09:03,' mm, UZ_a=',Uz1_Masurat:20:15,' mm'); WriteLn(FT_Rap,' X_UZ_b=',X_Uz2_Masurat:09:03,' mm, UZ_b=',Uz2_Masurat:20:15,' mm'); End; If (Flag_Conditii = 3) Then

96

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Begin WriteLn(FT_Rap,' FI_1=',FI_Initial:20:15,' [-], UZ_1=',UZ_Initial:20:15,' mm'); End; Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Flag rulare automatica sau cu reprezentare grafica: "',Flag_Grafica,'"'); WriteLn(FT_Rap,' "A" --> rulare in mod automat (Fisier INP --> Program --> Fisier OUT)'); WriteLn(FT_Rap,' "G" --> rulare in mod grafic;'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Flag mod de prezentare grafica, color sau monocrom: "',Flag_Color,'"'); WriteLn(FT_Rap,' "C" --> sunt folosite culori'); WriteLn(FT_Rap,' "M" --> sunt folosite nuante de gri, alb si negru'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Numar minim de puncte in folosite pentru trasarea de diagrame: ',Nr_Minim_Puncte:4); WriteLn(FT_Rap,''); WriteLn(FT_Rap,''); WriteLn(FT_Rap,'DATE DE IESIRE '); WriteLn(FT_Rap,'--------------'); WriteLn(FT_Rap,''); WriteLn(FT_Rap,' Rotire initiala = ',(Rotire_Initiala*1e4):9:4,' * 10^4 [-]'); WriteLn(FT_Rap,' Deplasare initiala = ',Deplasare_Initiala:13:6,' mm'); WriteLn(FT_Rap,''); For I:=1 To Nr_Total_Puncte Do Begin Extragere_Informatii_Din_Fisier_De_Date ( MPO_FileName, I, Zero_Nr_Total_Puncte, Zero_X_Global, Zero_SX_Vector, Zero_Index_Interval, Zero_Numar_Intervale, Zero_FiY_Ini, Zero_UZ_Ini, Zero_FiZ_Ini, Zero_UY_Ini, Zero_PY_DL, Zero_PZ_DL, Zero_Ty, Zero_Tz, Zero_MY, Zero_MZ, Zero_FiY, Zero_FiZ, Zero_UZ, Zero_UY, Zero_IY, Zero_IZ, Zero_ZMax, Zero_YMax, Zero_SY, Zero_SZ, Zero_BY, Zero_BZ, Zero_Sig_My, Zero_Tau_Tz, Zero_Sig_Mz, Zero_Tau_Ty, Zero_Sig_Ech_1, Zero_Sig_Ech_2, S_Info_Vect);

{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { {

Index of the current point Total number of points X coordinate in the global system of axis Info string about the location of the point Interval where the current point belongs Total number of intervals Initial Fi, axis Y, in the leftmost point Initial U, axis Z, in the leftmost point Initial Fi, axis Z, in the leftmost point Initial U, axis Y, in the leftmost point Distributed load, axis Y, on the current interval Distributed load, axis Z, on the current interval Shear force, axis Y Shear force, axis Z Bending moment, axis Y Bending moment, axis Z Current Fi rotation, axis Y Current Fi rotation, axis Z Current U displacement, axis Z Current U displacement, axis Y Moment of inertia, axis Y Moment of inertia, axis Z Greatest length with respect to Z axis of a point Greatest length with respect to Y axis of a point Statical moment in the center of gravity, axis Y Statical moment in the center of gravity, axis Z Width of the overall section along the Y axis Width of the overall section along the Z axis Normal stress created by the My bending moment Tangential stress created by the Tz shear force Normal stress created by the Mz bending moment Tangential stress created by the Ty shear force Equivalent stress created by Sigma_My & Tau_Ty in 6 & 12 o'clock Equivalent stress created by Sigma_Mz & Tau_Tz in 3 & 9 o'clock

WriteLn(FT_Rap,S_Info_Vect); End;

WriteLn(FT_Rap,''); Close(FT_Rap); End; { of Raport_MPO }

} } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }

APPENDICES

Procedure Raport_Date_De_Intrare ( Var NFT_In : String; Var Nume_Problema : String; Var Numar_Intervale : Integer; Var Alfa : Matrix_Value; Var Lung_Int_Vect : Matrix_Vector; Var F_Dist_Int_Vect : Matrix_Vector; Var Young_Vect : Matrix_Vector; Var IY_Vect : Matrix_Vector; Var IZ_Vect : Matrix_Vector; Var ZMax_Vect : Matrix_Vector; Var YMax_Vect : Matrix_Vector; Var SY_Vect : Matrix_Vector; Var SZ_Vect : Matrix_Vector; Var Bz_Vect : Matrix_Vector; Var By_Vect : Matrix_Vector; Var Sigma_Adm : Matrix_Value; Var Flag_Conditii : Integer; Var X_Fi_Masurat : Matrix_Value; Var Fi_Masurat : Matrix_Value; Var X_U_Masurat : Matrix_Value; Var U_Masurat : Matrix_Value; Var X_Uz1_Masurat : Matrix_Value; Var Uz1_Masurat : Matrix_Value; Var X_Uz2_Masurat : Matrix_Value; Var Uz2_Masurat : Matrix_Value; Var Fi_Initial : Matrix_Value; Var Uz_Initial : Matrix_Value; Var Flag_Grafica : Str1; Var Flag_Color : Str1; Var Nr_Minim_Puncte : Integer); Var FT_Rap I_Section, I Begin

97

: Text; : Integer;

{ Deschid un fisier text care contine explicarea datelor de intrare } Assign (FT_Rap,'MIPV_INP.DTA'); ReWrite(FT_Rap); { Initializez contorul de sectiuni de date din program } I_Section:=0; WriteLn(FT_Rap,''); WriteLn(FT_Rap,' Imagine fisier de intrare in MPO pentru structuri tip grinda-nava'); WriteLn(FT_Rap,' ================================================================='); WriteLn(FT_Rap,''); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Nume fisier de intrare: "',NFT_In,'"'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Nume problema: "',Nume_Problema,'"'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Numar de intervale: ',Numar_Intervale:2); Inc(I_Section); Write (FT_Rap,I_Section:2,'. Unghi inclinare a sectiunii transversale: ',Alfa:8:4); If (Alfa > 0) Then WriteLn(FT_Rap,' (spre babord, sens trigonometric)') Else If (Alfa < 0) Then WriteLn(FT_Rap,' (spre tribord, sens orar)') Else WriteLn(FT_Rap,''); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Date despre intervalele de calcul'); For I:=1 To Numar_Intervale Do Begin WriteLn(FT_Rap,' Interval ',I:2); WriteLn(FT_Rap,' a) Lungime interval: ',Lung_Int_Vect[I] :11:03,' mm'); WriteLn(FT_Rap,' b) Forta distribuita: ',F_Dist_Int_Vect[I]:08:03,' N/mm'); WriteLn(FT_Rap,' c) Modulul lui Young: ',Young_Vect[I]:09:03,' MPa'); WriteLn(FT_Rap,' d) Moment de inertie axial IY: ',(IY_Vect[I]/1e8):09:03,' 10^8 mm^4');

98

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES WriteLn(FT_Rap,' e) Moment de inertie axial IZ: ',(IZ_Vect[I]/1e8):09:03,' 10^8 mm^4'); WriteLn(FT_Rap,' f) Distanta Z_Max: ',ZMax_Vect[I]:09:03,' mm (Wy=Iy/Z_Max)'); WriteLn(FT_Rap,' g) Distanta Y_Max: ',YMax_Vect[I]:09:03,' mm (Wz=Iz/Y_Max)'); WriteLn(FT_Rap,' h) Moment static SY: ',(SY_Vect[I]/1e6):09:03,' 10^6 mm^3'); WriteLn(FT_Rap,' i) Moment static SZ: ',(SZ_Vect[I]/1e6):09:03,' 10^6 mm^3'); WriteLn(FT_Rap,' j) Distanta BZ: ',Bz_Vect[I]:09:03,' mm'); WriteLn(FT_Rap,' k) Distanta BY: ',By_Vect[I]:09:03,' mm'); End; Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Sigma admisibil: ',Sigma_Adm:7:3,' MPa'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Flag conditii la limita: ',Flag_Conditii:1); WriteLn(FT_Rap,' In functie de valoarea acestui flag urmeaza o succesiune de linii, dupa'); WriteLn(FT_Rap,' cum urmeaza:'); WriteLn(FT_Rap,' Flag=1 => 1-1. Coordonata X a sectiunii in care se da valoarea rotirii FI'); WriteLn(FT_Rap,' 1-2. Valoarea rotirii FI'); WriteLn(FT_Rap,' 2-3. Coordonata X a sectiunii in care se da valoarea deplasarii U'); WriteLn(FT_Rap,' 2-4. Valoarea deplasarii U'); WriteLn(FT_Rap,' Flag=2 => 1-1. Coordonata X a sectiunii in care se da valoarea deplasarii UZa'); WriteLn(FT_Rap,' 1-2. Valoarea deplasarii UZa'); WriteLn(FT_Rap,' 2-3. Coordonata X a sectiunii in care se da valoarea deplasarii UZb'); WriteLn(FT_Rap,' 2-4. Valoarea deplasarii UZb'); WriteLn(FT_Rap,' Flag=3 => 1-1. Rotirea FI1 in sectiunea de la extremitatea din stanga'); WriteLn(FT_Rap,' 1-2. Deplasarea Uz1 in sectiunea de la extremitatea din stanga'); WriteLn(FT_Rap,' In acest caz (Flag conditii = ',Flag_Conditii:1,')'); If (Flag_Conditii = 1) Then Begin WriteLn(FT_Rap,' X_FI=',X_Fi_Masurat:09:03,' mm, FI=',Fi_Masurat:20:15,' [-]'); WriteLn(FT_Rap,' X_U =',X_U_Masurat :09:03,' mm, U=', U_Masurat :20:15,' mm'); End; If (Flag_Conditii = 2) Then Begin WriteLn(FT_Rap,' X_UZ_a=',X_Uz1_Masurat:09:03,' mm, UZ_a=',Uz1_Masurat:20:15,' mm'); WriteLn(FT_Rap,' X_UZ_b=',X_Uz2_Masurat:09:03,' mm, UZ_b=',Uz2_Masurat:20:15,' mm'); End; If (Flag_Conditii = 3) Then Begin WriteLn(FT_Rap,' FI_1=',FI_Initial:20:15,' [-], UZ_1=',UZ_Initial:20:15,' mm'); End; Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Flag rulare automatica sau cu reprezentare grafica: "',Flag_Grafica,'"'); WriteLn(FT_Rap,' "A" --> rulare in mod automat (Fisier INP --> Program --> Fisier OUT)'); WriteLn(FT_Rap,' "G" --> rulare in mod grafic;'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Flag mod de prezentare grafica, color sau monocrom: "',Flag_Color,'"'); WriteLn(FT_Rap,' "C" --> sunt folosite culori'); WriteLn(FT_Rap,' "M" --> sunt folosite nuante de gri, alb si negru'); Inc(I_Section); WriteLn(FT_Rap,I_Section:2,'. Numar minim de puncte in folosite pentru trasarea de diagrame: ',Nr_Minim_Puncte:4); WriteLn(FT_Rap,''); WriteLn(FT_Rap,''); Close(FT_Rap);

End; { of Raport_Date_De_Intrare } Procedure Var Var Var Var Var Var . . . End; { of

Separare_in_Plane_de_Lucru ( Numar_Intervale : Integer; Alfa : Matrix_Value; F_Dist_Int_Vect : Matrix_Vector; PZ_Vect : Matrix_Vector; PY_Vect : Matrix_Vector); Separare_in_Plane_de_Lucru }

Procedure Determinare_Fi1_U1 ( Semn_Plan_Forte Eps Var NFT_In Var Nume_Problema Var Numar_Intervale Var Alfa

: : : : : :

Matrix_Value; Matrix_Value; String; String; Integer; Matrix_Value;

APPENDICES

{ OutPut } { Output } { Output }

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

Lung_Int_Vect PZ_Vect PY_Vect Young_Vect IY_Vect IZ_Vect ZMax_Vect YMax_Vect SY_Vect SZ_Vect Bz_Vect By_Vect Sigma_Adm Flag_Conditii X_Fi_Masurat Fi_Masurat X_U_Masurat U_Masurat X_Uz1_Masurat Uz1_Masurat X_Uz2_Masurat Uz2_Masurat FiY_Initial Uz_Initial Flag_Grafica Flag_Color KErr Fi_Stg_Initial U_Stg_Initial

: : : : : : : : : : : : : : : : : : : : : : : : : : : : :

99 Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Str1; Str1; Integer; Matrix_Value; Matrix_Value);

Var . . . End; { of Determinare_Fi1_U1 } Procedure Out_FileReport ( Section : Integer; { 0-All; 1-Input; 2-Output } NFT_Input : String; { Nume fisier date de intrare } MPO_DataFile : String); { Nume fisier de date } Var . . . End; { of Out_FileReport } Procedure Verificare_Echilibru ( Var Numar_Intervale : Integer; Var Lung_Int_Vect : Matrix_Vector; Var PZ_Vect : Matrix_Vector; Var Err : Integer; Var MsgErr : String); Var . . . End; { of Verificare_Echilibru } Procedure Puncte_De_Calcul ( Eps : Matrix_Value; Var Rotire_Initiala : Matrix_Value; Var Deplasare_Initiala : Matrix_Value; Var Numar_Intervale : Integer;

100

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

{ Output } { Output }

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

Alfa Lung_Int_Vect PZ_Vect PY_Vect Young_Vect IY_Vect IZ_Vect ZMax_Vect YMax_Vect SY_Vect SZ_Vect Bz_Vect By_Vect Sigma_Adm Flag_Conditii X_Fi_Masurat Fi_Masurat X_U_Masurat U_Masurat X_Uz1_Masurat Uz1_Masurat X_Uz2_Masurat Uz2_Masurat Fi_Initial Uz_Initial Flag_Grafica Flag_Color Nr_Minim_Puncte Nr_Total_Puncte MPO_FileName

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

Matrix_Value; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Vector; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Str1; Str1; Integer; Integer; String);

Var . . . End; { of Puncte_De_Calcul } Function Sigma_Navier ( Var Moment_Incovoietor : Matrix_Value; Var Moment_de_Inertie : Matrix_Value; Var Coordonata : Matrix_Value) : Matrix_Value; Begin Sigma_Navier:=Moment_Incovoietor/Moment_de_Inertie*Coordonata; End; { of Sigma_Navier } Function Var Var Var Var Begin

Tau_Juravschi ( Forta_Taietoare Moment_de_Inertie Moment_Static Latime_Sectiune

: : : :

Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value) : Matrix_Value;

Tau_Juravschi:=Forta_Taietoare/Moment_de_Inertie*Moment_Static/Latime_Sectiune;

End; { of Tau_Juravschi } Function Var Var Var Var

Sigma_Echivalent ( Teorie_de_rezistenta Sigma Tau Sigma_Echivalent_Var

: : : :

Integer; Matrix_Value; Matrix_Value; Matrix_Value) : Matrix_Value;

APPENDICES

Begin Case Teorie_de_rezistenta Of 1 : Begin Sigma_Echivalent:=0.50*Sigma+0.50*SQRT(Sigma*Sigma+4.0*Tau*Tau);

End; 2 : Begin Sigma_Echivalent:=0.35*Sigma+0.65*SQRT(Sigma*Sigma+4.0*Tau*Tau);

End; 3 : Begin Sigma_Echivalent:=SQRT(Sigma*Sigma+4.0*Tau*Tau); End; 4 : Begin Sigma_Echivalent:=SQRT(Sigma*Sigma+2.6*Tau*Tau); End; 5 : Begin Sigma_Echivalent:=SQRT(Sigma*Sigma+3.0*Tau*Tau); End; End; Sigma_Echivalent_Var:=Sigma_Echivalent; End; { of Sigma_Echivalent } Procedure Calcul (

{ Output } { Output } { Output } Var

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

NFT_In : String; Nume_Problema : String; Numar_Intervale : Integer; Alfa : Matrix_Value; Lung_Int_Vect : Matrix_Vector; F_Dist_Int_Vect : Matrix_Vector; Young_Vect : Matrix_Vector; IY_Vect : Matrix_Vector; IZ_Vect : Matrix_Vector; ZMax_Vect : Matrix_Vector; YMax_Vect : Matrix_Vector; SY_Vect : Matrix_Vector; SZ_Vect : Matrix_Vector; Bz_Vect : Matrix_Vector; By_Vect : Matrix_Vector; Sigma_Adm : Matrix_Value; Flag_Conditii : Integer; X_Fi_Masurat : Matrix_Value; Fi_Masurat : Matrix_Value; X_U_Masurat : Matrix_Value; U_Masurat : Matrix_Value; X_Uz1_Masurat : Matrix_Value; Uz1_Masurat : Matrix_Value; X_Uz2_Masurat : Matrix_Value; Uz2_Masurat : Matrix_Value; FiY_Ini : Matrix_Value; Uz_Ini : Matrix_Value; Flag_Grafica : Str1; Flag_Color : Str1; Nr_Minim_Puncte : Integer; Data_FileName : String; Nr_Total_Puncte : Integer; Rotire_Initiala : Matrix_Value; Deplasare_Initiala : Matrix_Value);

101

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 102 . . . End; { of Calcul }

Procedure Text_Problema ( Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var . . . End; { of Text_Problema } . . . End.

NFT_In Nume_Problema Flag_Conditii X_Fi_Masurat Fi_Masurat X_U_Masurat U_Masurat X_Uz1_Masurat Uz1_Masurat X_Uz2_Masurat Uz2_Masurat FiY_Ini Uz_Ini Rotire_Initiala Deplasare_Initiala

: : : : : : : : : : : : : : :

String; String; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value);

APPENDICES

Appendix 3.

103

MIPVES03 Library – Aspects regarding the code

{$N+$E+$F+$O+$G+$R+$S+$V+$Q+$X+} Unit MIPVes03; { Library of procedures and functions dedicated to the solve the graphical problems related to this problem like: ● user graphics interface, ● presentation of the free body diagrams, ● presentation of the results, ● help, etc. } Interface Uses WinGraph, WinCrt, WinMouse, MIPVES01; Type Colors_Vector = Array [1..Dim] Of LongWord; Procedure Play_Display_Diagrams (Var Var Var Var Var Var Var Var Var

Flag_Color Tip_Diagrame NFT_Input MPO_FileName Initial_Displacement Admissible_Stress Numar_Intervale Lung_Int_Vect F_Dist_Int_Vect

: : : : : : : : :

Str1; Integer; String; String; Matrix_Value; Matrix_Value; Integer; Matrix_Vector; Matrix_Vector);

Procedure InstallSystemFont ( fontName : String; fontSize : Integer); Procedure Initializeaza_Mod_Grafic ( HorizontalPixels : Integer; VerticalPixels : Integer); Function InputTextXY XScreen YScreen InpMsg OutTextLength

( : : : :

Integer; Integer; String; Integer) : String;

Procedure SaveScreen2Bmp (BMP_FileName : String); Procedure Load_BMP_and_Display ( BMP_FileName : String; X_Screen : Integer; Y_Screen : Integer); Function Select_Color ( Flag_Foreground_Color Initial_Color Background_Color X_Stg_Sus Y_Stg_Sus Latura Titlu

: : : : : : :

Boolean; LongWord; LongWord; Integer; Integer; Integer; String;

104

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Mesaj_Culoare_Veche : String; Mesaj_Culoare_Noua : String) : LongWord;

Procedure Caracter_Incercuit ( X_Centru Y_Centru Raza FontName FontDirection FontSize BackGroundColor FontColor Caracter Procedure Draw_Arrow (

X_Peak Y_Peak UpWard Current_Value Overall_Ratio Arrow_Color Var Y_Extremitate

Procedure Draw_Aligned_Buttons Align_Type X_Left Y_Left Button_Height Button_Width X_Offset Y_Offset No_of_Buttons Flag_Text_In_Buttons Culoare Var X_Left_Vector Var Y_Left_Vector Var return_flag_Vector Var Z1_Vector Var Z2_Vector

( : : : : : : : : : : : : : : :

: : : : : : :

: : : : : : : : :

Integer; Integer; Word; Word; Word; Word; LongWord; LongWord; Str1);

Integer; Integer; Boolean; Matrix_Value; Matrix_Value; LongWord; Integer);

Char; Integer; Integer; Integer; Integer; Integer; Integer; Integer; Integer; LongWord; Integer_Vector; Integer_Vector; Word_Vector; Integer_Vector; Integer_Vector);

Implementation Function Semn_Marime ( Marime : Matrix_Value) : Integer; Var . . . End; { of Semn_Marime } Function Load_Initial_Color (Var Interval : Integer; Var Load : Matrix_Value) : LongWord; Var . . . End; { of Load_Initial_Color } Function Stress_Color

(

Tip_Scalare

Var Current_Stress Var Admissible_Stress Var Minimum_Stress

: : : :

Integer; Matrix_Value; Matrix_Value; Matrix_Value;

Var

APPENDICES 105 Maximum_Stress : Matrix_Value; Number_Of_Intervals : Integer) : LongWord;

Type Set_Culori = Array [1..10] Of LongWord; Var Flag_Ciclare_Stress_Color : I_Color_Index : Stress_Increment, Stress_Scale, Low, High, Stress : Culoare :

Char; Integer; Matrix_Value; Set_Culori;

Begin { Verification if Number_Of_Intervals is in a valid range of values } . . . End; { of Stress_Color } Procedure Display_Range_Of_Stresses (

X_Left_StressesRange : Integer; Y_Left_StressesRange : Integer; Color_StressesRange

: LongWord;

BackGround_Color

: LongWord;

Number_Of_Intervals

: Integer;

Tip_Scalare_Tensiuni : Integer; Minimum_Stress

: Matrix_Value;

Maximum_Stress

: Matrix_Value;

Admissible_Stress

: Matrix_Value);

Var . . . End; { of Display_Range_Of_Stresses } Procedure Min_Max_Values ( Var Var Var Var Var Var Var Var Var Var Var Var Var Var . . . End; { of Min_Max_Values }

MPO_FileName Minimun_Load Maximum_Load Minimum_Tz Maximum_Tz Minimum_My Maximum_My Minimum_U Maximum_U Minimum_Ech_Stress Maximum_Ech_Stress X_Max_Ech_Stress Maximum_X

Procedure Initializeaza_Mod_Grafic ( HorizontalPixels : Integer; VerticalPixels : Integer); Var . . . End; { of Initializeaza_Mod_Grafic } Function InputTextXY XScreen YScreen InpMsg OutTextLength {

( : : : :

Integer; Integer; String; Integer) : String;

: : : : : : : : : : : : :

String; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value);

106

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

If

OutTextLength is set to 0, max 255 characters will be read!

} Var . . . End; { of InputTextXY } Procedure Load_BMP_and_Display ( BMP_FileName : String; X_Screen : Integer; Y_Screen : Integer); Var . . . End; { of Load_BMP_and_Display } Procedure Caracter_Incercuit ( X_Centru Y_Centru Raza FontName FontDirection FontSize BackGroundColor FontColor Caracter Var . . . End; { of Caracter_Incercuit }

: : : : : : : : :

Integer; Integer; Word; Word; Word; Word; LongWord; LongWord; Str1);

Function Select_Color ( Flag_Foreground_Color : Boolean; Initial_Color : LongWord; Background_Color : LongWord; X_Stg_Sus : Integer; Y_Stg_Sus : Integer; Latura : Integer; Titlu : String; Mesaj_Culoare_Veche : String; Mesaj_Culoare_Noua : String) : LongWord; { It selects a color to be used for the drawing. } Var . . . End; { of Select_Color } Procedure Draw_Arrow (

X_Peak Y_Peak UpWard Current_Value Overall_Ratio Arrow_Color Var Y_Extremitate

Var . . . End; { of Draw_Arrow } Procedure Draw_Diagram_Symbol ( Litera_Mare : STR1; Indice : STR1;

: : : : : : :

Integer; Integer; Boolean; Matrix_Value; Matrix_Value; LongWord; Integer);

APPENDICES

X Y

107

: Integer; : Integer);

Var . . . End; { of Draw_Diagram_Symbol } Procedure Draw_Diagram_Unit ( Unit_Text : String; X : Integer; Y : Integer); Var . . . End; { of Draw_Diagram_Unit } Procedure Display_Diagrams ( Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

Var

Flag_Color Tip_Diagrame MPO_FileName Initial_Displacement Numar_Intervale Lung_Int_Vect F_Dist_Int_Vect Leftmost_Percentage Rightmost_Percentage Upmost_Pergentage Downmost_Percentage Vertical_Structure_Perentage Vertical_ShearForce_Percentage Vertical_BendingMoment_Percentage Vertical_Displacements_Percentage Maximum_X_Screen Maximum_Y_Screen X_Leftmost X_Rightmost Distances_Scale Y_0_Structure DistrLoads_Scale DistrLoads_ZoomScale ShearForce_Scale ShearForce_ZoomScale Y_0_ShearForce BendingMoment_Scale BendingMoment_ZoomScale Y_0_BendingMoment Displacements_Scale Displacements_ZoomScale Y_0_Displacements BackGround_Color Structure_Color Loads_Color_Vector ShearForce_Color BendingMoment_Color Displacements_Color Tip_Scalare_Tensiuni Intervale_Scalare_Tensiune Admissible_Stress Minimum_Stress Maximum_Stress Flag_Extremum

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

Str1; Integer; String; Matrix_Value; Integer; Matrix_Vector; Matrix_Vector; Matrix_Value; { Matrix_Value; { Matrix_Value; { Matrix_Value; { Matrix_Value; { Matrix_Value; { Matrix_Value; { Matrix_Value; { Integer; Integer; Integer; Integer; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Integer; LongWord; LongWord; Colors_Vector; LongWord; LongWord; LongWord; Integer; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Integer);

10.0% 10.0% 10.0%

}

03.0% 03.0% 03.0%

}

02.0% 02.0% 02.0%

}

02.0% 02.0% 02.0%

}

15.5% 31.5% 47.5%

}

15.5% 31.5% 00.0%

}

15.5% 31.5% 00.0%

}

15.5% 00.0% 47.5%

}

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES 108 . . . End; { of Display_Diagrams }

Procedure Scenario

{ { { { { { { { { { { { { {

Output Output Output Output Output Output Output Output Output Output Output Output Output Output

} } } } } } } } } } } } } }

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

(

MPO_FileName Initial_Displacement Leftmost_Percentage Rightmost_Percentage Upmost_Pergentage Downmost_Percentage Vertical_Structure_Perentage Vertical_ShearForce_Percentage Vertical_BendingMoment_Percentage Vertical_Displacements_Percentage Maximum_X_Screen Maximum_Y_Screen X_Leftmost X_Rightmost Distances_Scale Y_0_Structure DistrLoads_Scale ShearForce_Scale Y_0_ShearForce BendingMoment_Scale Y_0_BendingMoment Displacements_Scale Y_0_Displacements Minimum_Ech_Stress Maximum_Ech_Stress X_Max_Ech_Stress

: : : : : : : : : : : : : : : : : : : : : : : : : :

String; Matrix_Value; Matrix_Value { Matrix_Value { Matrix_Value { Matrix_Value { Matrix_Value { Matrix_Value { Matrix_Value { Matrix_Value { Integer; Integer; Integer; Integer; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Integer; Matrix_Value; Integer; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Matrix_Value);

10.0% 03.0% 02.0% 02.0% 15.5% 15.5% 15.5% 15.5%

10.0% 03.0% 02.0% 02.0% 31.5% 31.5% 31.5% 00.0%

10.0% 03.0% 02.0% 02.0% 47.5% 00.0% 00.0% 47.5%

}; }; }; }; }; }; }; };

{ This procedure is dedicated to the calculus of a series of scales for the diagrams and a series of screen coordinates where some graphical elements will be displayed. 01. X_Leftmost

- The X screen coordinate of the leftmost pixel to be used for the drawing 02. X_Rightmost - The X screen coordinate of the rightmost pixel to be used for the drawing 03. Distances_Scale - Global scale of the geometry of the structure, in this case the hull 04. Y_0_Structure - The Y screen coordinate for the 0-value reference line of the drawing of the structure, in this case the equivalent beam loaded with uniformly distributed forces 05. DistrLoads_Scale - Global scale of the uniformly distributed forces along the equivalent beam 06. ShearForce_Scale - Global scale of the shear forces diagram 07. Y_0_ShearForce - The Y screen coordinate for the 0-value reference line of the drawing of the shear forces diagram 08. BendingMoment_Scale - Global scale of the bending moments diagram 09. Y_0_BendingMoment - The Y screen coordinate for the 0-value reference line of the drawing of the bending moment diagram 10. Displacements_Scale – Global scale of the deflections 11. Y_0_Displacements - The Y screen coordinate for the 0-value reference line of the drawing of the diagram of deflections Remark: The coordinates of the distributed forces, shear forces, bending moments and deflections will be computed using the value resulted from the multiplication of the global scale of the geometry and the so-called ‘Drawing Percentage’ (about 70%) which reserves the rest of the space (1-Drawing_Percentage)% to write the other information like: the values of the

APPENDICES

109

uniformly distributed forces for each interval, or in each important section for the shear force, bending moment and deflection

} Var . . . End; { of Scenario } Procedure Help (Var Flag_Color : Str1; Text_Color : LongWord; Background_Color : LongWord); Var . . . End; { of Help } Procedure Modifica_Linia_De_Zero ( Var Var Var Var

X_Leftmost X_Rightmost Y Y_Calculat_Axa Y_Axis_Color Background_Color X_Left Y_Left Mesaj

Var . . . End; { of Modifica_Linia_De_Zero } Procedure Define_Button_in_View_Values_Mode ( X_Left : Integer; Y_Left : Integer; Button_Height : Integer; Button_Width : Integer; I_Button : Integer; Culoare : LongWord; Var f : Word; Var Z1 : Integer; Var Z2 : Integer); Var . . . End; { of Define_Button_in_View_Values_Mode } Procedure Draw_Aligned_Buttons Align_Type X_Left Y_Left Button_Height Button_Width X_Offset Y_Offset No_of_Buttons Flag_Text_In_Buttons Culoare Var X_Left_Vector Var Y_Left_Vector Var return_flag_Vector Var Z1_Vector

( : : : : : : : : : : : : : :

Char; Integer; Integer; Integer; Integer; Integer; Integer; Integer; Integer; LongWord; Integer_Vector; Integer_Vector; Word_Vector; Integer_Vector;

: : : : : : : : :

Integer; Integer; Integer; Integer; LongWord; LongWord; Integer; Integer; String);

110

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Var Z2_Vector

: Integer_Vector);

{ In In In In In In In In In In OUT OUT

Align_Type X_Left

: 'V' - vertical; 'H' - horizontal; : X coordinate of the left up corner of the button; Y_Left : Y coordinate of the left up corner of the button; Button_Height : height of the button (along the Y axis); Button_Width : width of the button (along the X axis); X_Offset : distance between the buttons along the X axis; Y_Offset : distance between the buttons along the Y axis; No_of_Buttons : number of buttons; Flag_Text_In_Buttons : index of the set of strings to be written inside the buttons; Culoare : color of the button and of the text; X_Left_Vector : vector of the x coordinates of the left-upper corner of the button; Y_Left_Vector : vector of the x coordinates of the left-upper corner of the button;

} Var . . . End; { of Draw_Aligned_Buttons } Procedure Process_Events_in_View_Values_Mode ( X_Left : Integer; Y_Left : Integer; Button_Color : LongWord; Var Flag : Word; Var Z1 : Integer; Var Z2 : Integer); Var . . . End; { of Process_Events_in_View_Values_Mode } Procedure Browse_MPO_File ( Var MPO_FileName Var I_Punct_Start X_Leftmost Y_0_Structure Var Structure_Scale Ruler_Color Var Background_Color Var ShearForce_Color Var BendingMoment_Color Var Displacements_Color Var Loads_Color_Vector Var Tip_Diagrame Var Tip_Scalare_Tensiuni

: : : : : : : : : : : : :

String; Integer; Integer; Integer; Matrix_Value; LongWord; LongWord; LongWord; LongWord; LongWord; Colors_Vector; Integer; Integer;

APPENDICES

Var Var Var Var

Intervale_Scalare_Tensiune Admissible_Stress Minimum_Stress Maximum_Stress X_Left Y_Left

: : : : : :

111 Integer; Matrix_Value; Matrix_Value; Matrix_Value; Integer; Integer);

Var . . . End; { of Browse_MPO_File } Procedure Press_Any_Key_To_Continue (Color : LongWord); Var . . . End; { of Press_Any_Key_To_Continue } Procedure Report ( Flag_Color Text_Color Background_Color Section NFT_Input MPO_DataFile Var . . . End; { of Report }

: : : : : :

Str1; LongWord; LongWord; Integer; { 0-All; 1-Input; 2-Output } String; { Nume fisier date de intrare } String); { Nume fisier de date }

Function Zoom_Scale ( Title X_Left Y_Left Culoare Fond Var Old_Scale Var . . . End; { of Zoom_Scale }

: : : : : :

String; Integer; Integer; LongWord; LongWord; Matrix_Value ) : Matrix_Value;

Procedure Identify_Mouse_Get_Command ( mouseEvent : MouseEventType; X_Left : Word; Y_Left : Word; X_Button_Length : Word; Y_Button_Length : Word; Y_Step : Word; { out } Var idButtonNo : Word; { out } Var idButtonName : String; { out } Var Flag : Word; { out } Var Z1 : Integer; { out } Var Z2 : Integer); Var . . . End; { of Identify_Mouse_Get_Command } Procedure Get_Command ( Var Flag_Color Var Numar_Intervale Var Flag_Ciclare_Grafica

: Str1; : Integer; : Char;

112

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var Var

Tip_Diagrame Tip_Scalare_Tensiuni Tip_Scalare_Tensiuni_Old BackGround_Old_Color Structure_Old_Color ShearForce_Old_Color BendingMoment_Old_Color Displacements_Old_Color Loads_Old_Color_Vector BackGround_Color Structure_Color ShearForce_Color BendingMoment_Color Displacements_Color Loads_Color_Vector DistrLoad_ZoomScale ShearForce_ZoomScale BendingMoment_ZoomScale Deflections_ZoomScale I_Punct_Start X_Leftmost X_Rightmost Y_0_Structure Y_User_Structure Y_0_ShearForce Y_User_ShearForce Y_0_BendingMoment Y_User_BendingMoment Y_0_Displacements Y_User_Displacements Structure_Scale Intervale_Scalare_Tensiune Admissible_Stress Minimum_Stress Maximum_Stress Flag_Extreme NFT_Input MPO_DataFile

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

Integer; Integer; Integer; LongWord; LongWord; LongWord; LongWord; LongWord; Colors_Vector; LongWord; LongWord; LongWord; LongWord; LongWord; Colors_Vector; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Integer; Integer; Integer; Integer; Integer; Integer; Integer; Integer; Integer; Integer; Integer; Matrix_Value; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Integer; String; { Name of String);{ Name of

: : : :

Integer; Integer; Integer; LongWord);

Var . . . End; { of Get_Command } Procedure Afisare_Buton ( X_Left Y_Left I_Button Culoare Var . . . End; { of Afisare_Buton } Procedure About ( X_Left Y_Left Flag_Color Culoare

: : : :

Integer; Integer; Str1; LongWord);

the input data file } the data file

}

APPENDICES

113

Var . . . End; { of About } Procedure Display_License (Culoare : LongWord); Var . . . End; { of Display_License } Procedure Var Var Var Var Var Var Var Var Var

Play_Display_Diagrams ( Flag_Color : Str1; Tip_Diagrame : Integer; NFT_Input : String; MPO_FileName : String; Initial_Displacement : Matrix_Value; Admissible_Stress : Matrix_Value; Numar_Intervale : Integer; Lung_Int_Vect : Matrix_Vector; F_Dist_Int_Vect : Matrix_Vector);

Var Y_0_Structure, Y_0_ShearForce, Y_0_BendingMoment X_Leftmost, X_Rightmost, Y_0_Displacements Y_User_Structure, Y_User_ShearForce, Y_User_BendingMoment Y_User_Displacements Y_Final_Structure, Y_Final_ShearForce Y_Final_BendingMoment, Y_Final_Displacements Maximum_X_Screen, Maximum_Y_Screen Leftmost_Percentage, Rightmost_Percentage Upmost_Pergentage, Downmost_Percentage Vertical_Structure_Perentage Vertical_ShearForce_Percentage Vertical_BendingMoment_Percentage, Drawing_Percentage Vertical_Displacements_Percentage BackGround_Color, Structure_Color, ShearForce_Color BendingMoment_Color, Displacements_Color Loads_Color_Vector BackGround_Old_Color, Structure_Old_Color ShearForce_Old_Color BendingMoment_Old_Color, Displacements_Old_Color Loads_Old_Color_Vector Tip_Scalare_Tensiuni, Tip_Diagrame_Old Tip_Scalare_Tensiuni_Old, Y_Stress Intervale_Scalare_Tensiune Minimum_Stress, Maximum_Stress Flag_Ciclare_Grafica I, I1 P, X_Maximum_Stress Structure_Scale DistrLoads_Scale, DistrLoads_ZoomScale ShearForce_Scale, ShearForce_ZoomScale BendingMoment_Scale, BendingMoment_ZoomScale Displacements_Scale, Displacements_ZoomScale DistrLoads_ZoomScale_0, DistrLoads_ZoomScale_1 ShearForce_ZoomScale_0, ShearForce_ZoomScale_1 BendingMoment_ZoomScale_0, BendingMoment_ZoomScale_1 Displacements_ZoomScale_0, Displacements_ZoomScale_1 DistrLoads_ZoomScale_2, DistrLoads_ZoomScale_3 ShearForce_ZoomScale_2, ShearForce_ZoomScale_3 BendingMoment_ZoomScale_2, BendingMoment_ZoomScale_3 Displacements_ZoomScale_2, Displacements_ZoomScale_3 I_Punct_Start, Flag_Extreme

Begin { SECTIUNEA 00. - Stabilirea culorilor graficelor BackGround_Old_Color :=Blue;

}

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

Integer; Integer; Integer; Integer; Integer; Integer; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; LongWord; LongWord; Colors_Vector; LongWord; LongWord; LongWord; Colors_Vector; Integer; Integer; Integer; Matrix_Value; Char; Integer; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Integer;

114

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

Structure_Old_Color :=Yellow; ShearForce_Old_Color :=LightBlue; BendingMoment_Old_Color:=LightGreen; Displacements_Old_Color:=LightRed; { Este initializat Loads_Color_Vector } For I:=1 To Numar_Intervale Do Begin I1:=I; P:=F_Dist_Int_Vect[I]; Loads_Old_Color_Vector[I]:=Load_Initial_Color(I1,P); End; If (Flag_Color 'C') Then Begin { Se folosesc nuante de gri, alb si negru } BackGround_Color :=White; Structure_Color :=DarkGray; ShearForce_Color :=DarkGray; BendingMoment_Color:=DarkGray; Displacements_Color:=DarkGray; { Se folosesc nuante de gri, alb si negru } For I:=1 To Numar_Intervale Do Begin Loads_Color_Vector[I]:=DarkGray; End; End Else Begin { Se folosesc culori } BackGround_Color :=BackGround_Old_Color; Structure_Color :=Structure_Old_Color; ShearForce_Color :=ShearForce_Old_Color; BendingMoment_Color:=BendingMoment_Old_Color; Displacements_Color:=Displacements_Old_Color; For I:=1 To Numar_Intervale Do Begin Loads_Color_Vector[I]:=Loads_Old_Color_Vector[I]; End; End; SetBkColor(Background_Color); SetColor(Structure_Color); ClearDevice; { SECTIUNEA 00. - Stabilirea tipului de trasare a deformatei } If (Flag_Color='C') Then Begin Tip_Scalare_Tensiuni :=2; Tip_Scalare_Tensiuni_Old:=Tip_Scalare_Tensiuni; End Else Begin Tip_Scalare_Tensiuni :=0; Tip_Scalare_Tensiuni_Old:=2; End; { SECTIUNEA 00. - Flag pentru prezentarea sectiunilor de extremum { 0 - nu se prezinta nimic { 1 - se prezinta numai liniile verticale si { semnificatiile lor { 2 - a fel ca 1, plus vaorile extreme din diagrame Flag_Extreme:=2; { SECTIUNEA 00. - Numar de culori pentru tensiuni } Intervale_Scalare_Tensiune:=10; { 01 .. 10 } { SECTIUNEA 00. - Ajustari ale liniilor de zero } Y_User_Structure :=0; Y_User_ShearForce :=0; Y_User_BendingMoment:=0; Y_User_Displacements:=0; { SECTIUNEA 00. - Stabilirea tipului de diagrame } If (Tip_Diagrame < 0) Or (Tip_Diagrame > 3) Then Tip_Diagrame:=1;

{ Tip_Diagrame:=0; } { SECTIUNEA 00. - Stabilirea procentelor pentru incadrarea } { graficelor din ecran } { Setez scara de zoom pentru fiecare tip de prezentare } DistrLoads_ZoomScale_0 :=0.75; ShearForce_ZoomScale_0 :=0.00; BendingMoment_ZoomScale_0:=0.00; Displacements_ZoomScale_0:=0.00; DistrLoads_ZoomScale_1 :=0.50; ShearForce_ZoomScale_1 :=0.60; BendingMoment_ZoomScale_1:=0.50; Displacements_ZoomScale_1:=0.25; DistrLoads_ZoomScale_2 :=0.50;

} } } } }

APPENDICES ShearForce_ZoomScale_2 :=0.75; BendingMoment_ZoomScale_2:=0.70; Displacements_ZoomScale_2:=0.00; DistrLoads_ZoomScale_3 :=0.60; ShearForce_ZoomScale_3 :=0.00; BendingMoment_ZoomScale_3:=0.00; Displacements_ZoomScale_3:=0.60; { Stabilesc punctul de la care incepe studiul (pozitie ruler vertical) } I_Punct_Start:=1; { Ciclu de prezentare a graficii } Flag_Ciclare_Grafica:=' '; While (Flag_Ciclare_Grafica = ' ') Do Begin Maximum_X_Screen:=GetMaxX; Maximum_Y_Screen:=GetMaxY; { SECTIUNEA 00. - Stabilirea procentelor pentru incadrarea } { graficelor din ecran } Case Tip_Diagrame Of 0 : Begin { Se deseneaza numai structura } Leftmost_Percentage := 0.050; { 20.0% 20.0% 20.0% } Rightmost_Percentage := 0.350; { 20.0% 20.0% 20.0% } Upmost_Pergentage := 0.070; { 02.0% 02.0% 02.0% } Downmost_Percentage := 0.070; { 02.0% 02.0% 02.0% } Vertical_Structure_Perentage := 0.500; { 23.5% 31.5% 47.5% } Vertical_ShearForce_Percentage := 0.000; { 23.5% 31.5% 00.0% } Vertical_BendingMoment_Percentage:= 0.000; { 23.5% 31.5% 00.0% } Vertical_Displacements_Percentage:= 0.000; { 23.5% 00.0% 47.5% } DistrLoads_ZoomScale :=DistrLoads_ZoomScale_0; ShearForce_ZoomScale :=ShearForce_ZoomScale_0; BendingMoment_ZoomScale:=BendingMoment_ZoomScale_0; Displacements_ZoomScale:=Displacements_ZoomScale_0; End; 1 : Begin { Se deseneaza structura, toate diagramele si } { deformata } Leftmost_Percentage := 0.050; { 20.0% 20.0% 20.0% } Rightmost_Percentage := 0.350; { 20.0% 20.0% 20.0% } Upmost_Pergentage := 0.050; { 02.0% 02.0% 02.0% } Downmost_Percentage := 0.120; { 02.0% 02.0% 02.0% } Vertical_Structure_Perentage := 0.200; { 23.5% 31.5% 47.5% } Vertical_ShearForce_Percentage := 0.200; { 23.5% 31.5% 00.0% } Vertical_BendingMoment_Percentage:= 0.200; { 23.5% 31.5% 00.0% } Vertical_Displacements_Percentage:= 0.230; { 23.5% 00.0% 47.5% } DistrLoads_ZoomScale :=DistrLoads_ZoomScale_1; ShearForce_ZoomScale :=ShearForce_ZoomScale_1; BendingMoment_ZoomScale:=BendingMoment_ZoomScale_1; Displacements_ZoomScale:=Displacements_ZoomScale_1; End; 2 : Begin { Se deseneaza structura si toate diagramele } Leftmost_Percentage := 0.050; { 20.0% 20.0% 20.0% } Rightmost_Percentage := 0.350; { 20.0% 20.0% 20.0% } Upmost_Pergentage := 0.050; { 02.0% 02.0% 02.0% } Downmost_Percentage := 0.100; { 02.0% 02.0% 02.0% } Vertical_Structure_Perentage := 0.250; { 23.5% 31.5% 47.5% } Vertical_ShearForce_Percentage := 0.300; { 23.5% 31.5% 00.0% } Vertical_BendingMoment_Percentage:= 0.300; { 23.5% 31.5% 00.0% } Vertical_Displacements_Percentage:= 0.000; { 23.5% 00.0% 47.5% } DistrLoads_ZoomScale :=DistrLoads_ZoomScale_2; ShearForce_ZoomScale :=ShearForce_ZoomScale_2; BendingMoment_ZoomScale:=BendingMoment_ZoomScale_2; Displacements_ZoomScale:=Displacements_ZoomScale_2; End; 3 : Begin { Se deseneaza structura si deformata } Leftmost_Percentage := 0.050; { 20.0% 20.0% 20.0% } Rightmost_Percentage := 0.350; { 20.0% 20.0% 20.0% } Upmost_Pergentage := 0.050; { 02.0% 02.0% 02.0% } Downmost_Percentage := 0.150; { 02.0% 02.0% 02.0% } Vertical_Structure_Perentage := 0.400; { 23.5% 31.5% 47.5% } Vertical_ShearForce_Percentage := 0.000; { 23.5% 31.5% 00.0% } Vertical_BendingMoment_Percentage:= 0.000; { 23.5% 31.5% 00.0% } Vertical_Displacements_Percentage:= 0.400; { 23.5% 00.0% 47.5% } DistrLoads_ZoomScale :=DistrLoads_ZoomScale_3; ShearForce_ZoomScale :=ShearForce_ZoomScale_3; BendingMoment_ZoomScale:=BendingMoment_ZoomScale_3; Displacements_ZoomScale:=Displacements_ZoomScale_3; End; End; If (DistrLoads_ZoomScale < 0.005) Then Vertical_Structure_Perentage :=0.0; If (ShearForce_ZoomScale < 0.005) Then Vertical_ShearForce_Percentage :=0.0; If (BendingMoment_ZoomScale < 0.005) Then Vertical_BendingMoment_Percentage:=0.0; If (Displacements_ZoomScale < 0.005) Then Vertical_Displacements_Percentage:=0.0; { SECTIUNEA 00. - Caculul parametrilor ecran pentru trasarea }

115

116

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES { Scenario

graficelor } ( MPO_FileName, { Denumirea fisierului random care contine rezultatele } Initial_Displacement, Leftmost_Percentage, Rightmost_Percentage, Upmost_Pergentage, Downmost_Percentage, Vertical_Structure_Perentage, Vertical_ShearForce_Percentage, Vertical_BendingMoment_Percentage, Vertical_Displacements_Percentage, Maximum_X_Screen, Maximum_Y_Screen, { Output } X_Leftmost, { Output } X_Rightmost, { Output } Structure_Scale, { Output } Y_0_Structure, { Output } DistrLoads_Scale, { Output } ShearForce_Scale, { Output } Y_0_ShearForce, { Output } BendingMoment_Scale, { Output } Y_0_BendingMoment, { Output } Displacements_Scale, { Output } Y_0_Displacements, { Output } Minimum_Stress, { Output } Maximum_Stress, { Output } X_Maximum_Stress); { SECTIUNEA 00. - Salvez tipul curent de diagrame } Tip_Diagrame_Old:=Tip_Diagrame; ClearDevice; { SECTIUNEA 00. - Afisare denumire program si autor } About ( X_Rightmost+40,10,Flag_Color,Structure_Color); { SECTIUNEA 00. - Afisare licenta } Display_License (Structure_Color); { SECTIUNEA 00. - Ajustare linii de zero } Y_Final_Structure :=Y_0_Structure +Y_User_Structure; Y_Final_ShearForce :=Y_0_ShearForce +Y_User_ShearForce; Y_Final_BendingMoment:=Y_0_BendingMoment+Y_User_BendingMoment; Y_Final_Displacements:=Y_0_Displacements+Y_User_Displacements; { SECTIUNEA 00. - Prezentare diagrama } Display_Diagrams ( Flag_Color, Tip_Diagrame, MPO_FileName, Initial_Displacement, Numar_Intervale, Lung_Int_Vect, F_Dist_Int_Vect, Leftmost_Percentage, Rightmost_Percentage, Upmost_Pergentage, Downmost_Percentage, Vertical_Structure_Perentage, Vertical_ShearForce_Percentage, Vertical_BendingMoment_Percentage, Vertical_Displacements_Percentage, Maximum_X_Screen, Maximum_Y_Screen, X_Leftmost, X_Rightmost, Structure_Scale, Y_Final_Structure, DistrLoads_Scale, DistrLoads_ZoomScale, ShearForce_Scale, ShearForce_ZoomScale, Y_Final_ShearForce, BendingMoment_Scale, BendingMoment_ZoomScale, Y_Final_BendingMoment, Displacements_Scale, Displacements_ZoomScale, Y_Final_Displacements, BackGround_Color, Structure_Color, Loads_Color_Vector, ShearForce_Color, BendingMoment_Color, Displacements_Color, Tip_Scalare_Tensiuni, Intervale_Scalare_Tensiune, Admissible_Stress, Minimum_Stress, Maximum_Stress, Flag_Extreme); { SECTIUNEA 00. - Afisare butoane principale } { Afisare_Butoane_Principale(X_Rightmost+65,80,Structure_Color); } Afisare_Buton ( X_Rightmost+40, 80, 1, Structure_Color); Afisare_Buton ( X_Rightmost+40, 105, 2, Structure_Color); Afisare_Buton ( X_Rightmost+40, 130, 3, Structure_Color); Afisare_Buton ( X_Rightmost+40, 155, 4, Structure_Color); Afisare_Buton ( X_Rightmost+40, 180, 5, Structure_Color); Afisare_Buton ( X_Rightmost+40, 205, 6, Structure_Color); Afisare_Buton ( X_Rightmost+40, 230, 7, Structure_Color); { SECTIUNEA 00. - Afisare gama de tensiuni } If Tip_Diagrame = 3 Then Y_Stress:=Y_0_Structure+150 Else Y_Stress:=Y_0_ShearForce+10; If ((Tip_Diagrame 2) And (Tip_Diagrame 0)) Then Display_Range_Of_Stresses ( X_Rightmost+75, Y_Stress, Structure_Color, BackGround_Color, Intervale_Scalare_Tensiune, Tip_Scalare_Tensiuni, Minimum_Stress, Maximum_Stress,

APPENDICES Admissible_Stress); { SECTIUNEA 00. - Stabilirea tastelor apasate } Get_Command ( Flag_Color, Numar_Intervale, Flag_Ciclare_Grafica, Tip_Diagrame, Tip_Scalare_Tensiuni, Tip_Scalare_Tensiuni_Old, BackGround_Old_Color, Structure_Old_Color, ShearForce_Old_Color, BendingMoment_Old_Color, Displacements_Old_Color, Loads_Old_Color_Vector, BackGround_Color, Structure_Color, ShearForce_Color, BendingMoment_Color, Displacements_Color, Loads_Color_Vector, DistrLoads_ZoomScale, ShearForce_ZoomScale, BendingMoment_ZoomScale, Displacements_ZoomScale, I_Punct_Start, X_Leftmost, X_Rightmost, Y_0_Structure, Y_User_Structure, Y_0_ShearForce, Y_User_ShearForce, Y_0_BendingMoment, Y_User_BendingMoment, Y_0_Displacements, Y_User_Displacements, Structure_Scale, Intervale_Scalare_Tensiune, Admissible_Stress, Minimum_Stress, Maximum_Stress, Flag_Extreme, NFT_Input, { Nume fisier date de intrare } MPO_FileName); { Nume fisier de date } { SECTIUNEA 00. - Actualizez proportiile corespunzatoare } { tipului de diagrame activ } If (Tip_Diagrame = Tip_Diagrame_Old) Then Begin Case Tip_Diagrame Of 0 : Begin DistrLoads_ZoomScale_0 :=DistrLoads_ZoomScale; ShearForce_ZoomScale_0 :=ShearForce_ZoomScale; BendingMoment_ZoomScale_0:=BendingMoment_ZoomScale; Displacements_ZoomScale_0:=Displacements_ZoomScale; End; 1 : Begin DistrLoads_ZoomScale_1 :=DistrLoads_ZoomScale; ShearForce_ZoomScale_1 :=ShearForce_ZoomScale; BendingMoment_ZoomScale_1:=BendingMoment_ZoomScale; Displacements_ZoomScale_1:=Displacements_ZoomScale; End; 2 : Begin DistrLoads_ZoomScale_2 :=DistrLoads_ZoomScale; ShearForce_ZoomScale_2 :=ShearForce_ZoomScale; BendingMoment_ZoomScale_2:=BendingMoment_ZoomScale; Displacements_ZoomScale_2:=Displacements_ZoomScale; End; 3 : Begin DistrLoads_ZoomScale_3 :=DistrLoads_ZoomScale; ShearForce_ZoomScale_3 :=ShearForce_ZoomScale; BendingMoment_ZoomScale_3:=BendingMoment_ZoomScale; Displacements_ZoomScale_3:=Displacements_ZoomScale; End; End; End; End;

End; { of Play_Display_Diagrams } End.

117

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

118

Appendix 4.

MIPVES04 Library – Aspects regarding the code

{$N+$E+$F+$O+$G+$R+$S+$V+$Q+$X+} Unit MIPVes04; Interface Uses WinGraph, WinCrt, WinMouse, MIPVES01, MIPVES02, MIPVES03; Procedure Main; Procedure Generare_Date (

Cod_Problema : Integer; Var NFT_Input : String);

Procedure Procesare_Date ( NFT_Input

: String);

Implementation Procedure Generare_Date_Sectiune ( Var Var Var Var Var Var Var Var Var

Cod_Sectiune Identificator IY IZ ZMax YMax SY SZ BY BZ

: : : : : : : : : :

Integer; String; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value);

{ Returneaza caracteristicile geometrice ale sectiunilor, momentele statice si latimile sectiunilor in punctul in care tensiunea tangentiala este maxima. } Begin { Verificare a codului sectiunii dorite } If ((Cod_Sectiune < 1) Or (Cod_Sectiune > 6)) Then Cod_Sectiune:=3; Case Cod_Sectiune Of 1 : Begin Identificator :='CG0302'; IY :=41175.1126e8; IZ :=96200.0394e8; ZMax :=3277.78; YMax :=5000.00; SY :=7639128.12963; SZ :=123e5; BY :=30.0; BZ :=45.0; End; 2 : Begin . . . End; { of Generare_Date_Sectiune }

APPENDICES

Procedure Generare_Date (

119

Cod_Problema : Integer; Var NFT_Input : String);

{ Genereaza date de intrare pentru problemele de diagrame si de determinare a formei fibrei neutre pentru nave. } Var E, L0, L08, L10, L12 Cod_Sectiune, I Numar_Intervale, Flag_Conditii, Nr_Minim_Puncte, Tip_Diagrame Identificator, S, Nume_Problema IY, IZ, ZMax, YMax, SY, SZ, BY, BZ, Semn, Uz_a, Uz_b

: : : : :

Matrix_Value; Integer; Integer; String; Matrix_Value;

Lung_Int_Vect, F_Dist_Int_Vect, Young_Vect IY_Vect, IZ_Vect, ZMax_Vect, YMax_Vect SY_Vect, SZ_Vect, Bz_Vect, By_Vect

: Matrix_Vector; : Matrix_Vector; : Matrix_Vector;

Alfa, Sigma_Adm X_Fi_Masurat, Fi_Masurat, X_U_Masurat, U_Masurat X_Uz1_Masurat, Uz1_Masurat, X_Uz2_Masurat, Uz2_Masurat Fi_Initial, Uz_Initial Flag_Grafica, Flag_Color

: : : : :

Matrix_Value; Matrix_Value; Matrix_Value; Matrix_Value; Str1;

Begin { Verificare a codului problemei } If ((Cod_Problema < 0) Or (Cod_Problema > 24)) Then Cod_Problema:=0; { Introducem datele care sunt identice pentru toate sectiunile. } { 01. Nume fisier text de intrare; urmeaza a fi adaugat codul { problemei si identificatorul

} }

Nume_Problema:='MIPVES'; S:=Integer2String(Cod_Problema,2,'0'); NFT_Input:=Nume_Problema+S+'.INP'; Nume_Problema:=Nume_Problema+S; { 02. Se considera ca numarul de intervale este 4 in toate cazurile }

Numar_Intervale:=4; { 03. Se considera ca unghiul de inclinare a navei este 0.0

}

Alfa:=0.0; { 04. Definesc o serie de lungimi standard

}

L08:= 8000.0; { mm } L10:=10000.0; { mm } L12:=12000.0; { mm } { 05. Modulul lui Young este 2.1 10^5 MPa pentru toate cazurile }

E:=2.1e5; { MPa } { 06. Tensiunea admisibila este 120 MPa pentru toate cazurile

}

Sigma_Adm:=120.0; { MPa } { 07. Acelasi flag pentru lansarea modulului de grafica

}

Flag_Grafica:='G'; { 08. Acelasi flag pentru modul Coor/Monocrom

}

Flag_Color:='C'; { 09. Numarul minim de puncte pentru toate cazurile este 200

}

Nr_Minim_Puncte:=200; { 10. Tipul diagramelor este 1, adica toate diagramele in acelasi ecran }

Tip_Diagrame:=1; { 11. Initializare valori numerice ale conditiilor la limita

X_Fi_Masurat :=0.0; Fi_Masurat :=0.0; X_U_Masurat :=0.0; U_Masurat :=0.0; X_Uz1_Masurat:=0.0; Uz1_Masurat :=0.0; X_Uz2_Masurat:=0.0; Uz2_Masurat :=0.0; Fi_Initial :=0.0;

}

RONOMAR PROJECT – DEVELOPMENT OF COMPUTER ASSISTED MARINE STRUCTURES

120

Uz_Initial

:=0.0;

{ 12. In continuare sunt introduse datele la nivel de interval

}

Case Cod_Problema Of 01 : Begin { 13. Sectiunea de date particulare

}

L0:=L08; F_Dist_Int_Vect[01]:=+450; F_Dist_Int_Vect[02]:=-600; F_Dist_Int_Vect[03]:=-150; F_Dist_Int_Vect[04]:=+300; End; 02 : Begin { 13. Sectiunea de date particulare

}

. . . End; { of Generare_Date } Procedure Main; Var Tot_Params NFT_Input, NFT_Output, Param_1 Optiunea1, Optiunea2, Optiunea3 Cod_Problema, I, ErrCode Begin

: : : :

Word; String; String; Integer;

{Window(5,5,75,12);} { TextColor(LightGray); ClrScr; WriteLn; WriteLn(' PROGRAM PENTRU CALCULUL STRUCTURILOR DE TIP GRINDA - NAVA'); WriteLn(' ========================================================='); WriteLn; } Tot_Params:=ParamCount; If (Tot_Params < 1) Then Begin WriteLn; WriteLn('Call sequence is:'); WriteLn(' MIPVES.EXE INP_FILE.TXT '); WriteLn; WriteLn(' INP_FILE.TXT is the input data file '); WriteLn; WriteLn('Parametri de apel lipsa...'); Repeat Until KeyPressed; Repeat Until KeyPressed; Halt(1); End; If (Tot_Params = 1) Then Begin Param_1:=ParamStr(1); For I:=1 To Length(Param_1) Do Begin Param_1[I]:=UpCase(Param_1[I]) End; Optiunea1:=Char(65)+Char(76)+Char(76); Optiunea2:=Char(68)+Char(69)+Char(77)+Char(79); If (Param_1 = Optiunea1) Then Begin For I:=1 To 24 Do

APPENDICES Begin Generare_Date (I,NFT_Input); Procesare_Date(NFT_Input); End;

121

End Else Begin If (Param_1 = Optiunea2) Or (Param_1 = Char(48)) Then { DEMO sau '0' } Begin Generare_Date (0,NFT_Input); Procesare_Date(NFT_Input); End Else Begin Val(Param_1,Cod_Problema,ErrCode); If (ErrCode = 0) Then { Daca este un cod de problema } Begin If ((Cod_Problema >= 0) And (Cod_Problema

Suggest Documents