With this work, we present a new object-oriented framework to study the nonlinear dynamics of slender structures made of composite multilayer and hyperelastic materials, which combines finite element method and multib...
详细信息
With this work, we present a new object-oriented framework to study the nonlinear dynamics of slender structures made of composite multilayer and hyperelastic materials, which combines finite element method and multibody system formalism with a robust integration scheme. Each mechanical system under consideration is represented as a collection of infinitely stiff components, such as rigid bodies, and flexible components like geometrically exact beams and solid-degenerate shells, which are spatially discretized into finite elements. The semi-discrete equations are temporally discretized for a fixed time increment with a momentum-preserving, energy-preserving/dissipative method, which allows the systematic annihilation of unresolved high-frequency content. As usual in multibody system dynamics, kinematic constraints are employed to render supports, joints and structural connections. The presented ideas are implemented following the object-oriented programming philosophy. The approach, which is perfectly suitable for wind energy or aeronautic applications, is finally tested and its potential is illustrated by means of numerical examples.
The study of deformation processes in elastic half-spaces is widely employed for many purposes (e.g. didactic, scientific investigation of real processes, inversion of geodetic data, etc.). We present a coherent progr...
详细信息
The study of deformation processes in elastic half-spaces is widely employed for many purposes (e.g. didactic, scientific investigation of real processes, inversion of geodetic data, etc.). We present a coherent programming interface containing a set of tools designed to make easier and faster the study of processes in an elastic half-space. LibHalfSpace is presented in the form of an object-oriented library. A set of well known and frequently used source models (Mogi source, penny shaped horizontal crack, inflating spheroid, Okada rectangular dislocation, etc.) are implemented to describe the potential usage and the versatility of the library. The common interface given to library tools enables us to switch easily among the effects produced by different deformation sources that can be monitored at the free surface. Furthermore, the library also offers an interface which simplifies the creation of new source models exploiting the features of object-oriented programming (OOP). These source models can be built as distributions of rectangular boundary elements. In order to better explain how new models can be deployed some examples are included in the library. (C) 2016 Elsevier Ltd. All rights reserved.
The Parallel Virtual Machine (PVM) is a software system that enables a collection of heterogeneous computer systems to be used as a coherent and flexible concurrent computation resource. We show that genetic algorithm...
详细信息
The Parallel Virtual Machine (PVM) is a software system that enables a collection of heterogeneous computer systems to be used as a coherent and flexible concurrent computation resource. We show that genetic algorithms can be implemented using a Parallel Virtual Machine and C++. Problems with constraints are also discussed.
A wide range of engineering applications use optimization techniques as part of their solution process. The researcher uses specialized software that implements well-known optimization techniques to solve his problem....
详细信息
A wide range of engineering applications use optimization techniques as part of their solution process. The researcher uses specialized software that implements well-known optimization techniques to solve his problem. However, when it comes to develop original optimization techniques that fit a particular problem the researcher has no option but to implement his own new method from scratch. This leads to large development times and error prone code that, in general, will not be reused for any other application. In this work, we present a novel methodology that simplifies, speeds up and improves the development process of scientific software. This methodology guides us on the identification of design patterns. The application of this methodology generates reusable, flexible and high quality scientific software. Furthermore, the produced software becomes a documented tool to transfer the knowledge on the development process of scientific software. We apply this methodology for the design of an optimization framework implementing Newton's type methods which can be used as a fast prototyping tool of new optimization techniques based on Newton's type methods. The abstraction, re-useability and flexibility of the developed framework is measured by means of Martin's metric. The results indicate that the developed software is highly reusable.
Large number of page-faults can severely degrade the performance of any system. While much attention has been paid on the virtual memory space of an entire process, the paging behavior of one particular memory segment...
详细信息
Large number of page-faults can severely degrade the performance of any system. While much attention has been paid on the virtual memory space of an entire process, the paging behavior of one particular memory segment has not been reported. Unlike the static behavior in most of the memory segments, the heap segment has unique characteristics closely related to its memory management scheme. First, this paper presents a thorough study on the effect of heap page-faults on the performance of Kaffe JVM version 1.0.5 and the Kaffe Java virtual machine (JVM) with the modified buddy system. Second, a modified least recently used (mLRU) is proposed to improve the performance of the LRU page-replacement policy. Four different page-replacement policies, first-in-first-out (FIFO), Random, LRU and mLRU, are used to study the performance of each JVM. Third, the Java applications used in this study are SPECjvm98 benchmark suite. These programs represent real-world workload and are highly dynamic memory intensive. Fourth, an instrumented Kaffe JVM is used to generate memory traces. Then, a simulator is used to analyze and reconstruct the heap as the benchmark programs are executed. Finally, this study has shown that the modified buddy system has less page-fault occurrences in six out of eight applications. The improvement can be up to 74%. Moreover, the proposed mLRU can improve the performance up to 68.2%. (C) 2001 Elsevier Science Inc. All rights reserved.
This paper presents a design of a knowledge-based simulation environment based on techniques from conventional simulation methods, object-oriented programming methods, and knowledge-based programming methods. The envi...
详细信息
This paper presents a design of a knowledge-based simulation environment based on techniques from conventional simulation methods, object-oriented programming methods, and knowledge-based programming methods. The environment has cooperating knowledge-based and simulation parts integrated into one modeling system. An idealized knowledge-based simulation model is presented along with a language for implementing such a model. This language is based on Symbolics Common Lisp with Flavors package. A model of the software development process is presented to illustrate the use of the knowledge-based simulation environment. This software development model is not intended to be a rigorous model of the software development process, but only to illustrate the use of the knowledge-based development environment which is presented in this paper.
object-oriented programming [9], which treats objects as processes in execution, has shown significant effectiveness in distributed systems. This effectiveness is greatly influenced by how objects are assigned to node...
详细信息
object-oriented programming [9], which treats objects as processes in execution, has shown significant effectiveness in distributed systems. This effectiveness is greatly influenced by how objects are assigned to nodes. In this paper, we present a colored generalized stochastic Petri net (CGSPN) model to analyze the behavior of object invocations when an assignment strategy is applied. The effectiveness of an object assignment is also analyzed by our CGSPN model. Moreover, this analysis provides guidelines to develop an efficient object assignment strategy. [4-8].
A unified algorithm is presented for the refinement of finite element meshes consisting of tensor product Lagrange elements in any number of space dimensions. The method leads to repeatedly refined n-irregular grids w...
详细信息
A unified algorithm is presented for the refinement of finite element meshes consisting of tensor product Lagrange elements in any number of space dimensions. The method leads to repeatedly refined n-irregular grids with associated constraint equations. Through an object-oriented implementation existing solvers can be extended to handle mesh refinements without modifying the implementation of the finite element equations. Various versions of the refinement procedure are investigated in a porous media flow problem involving singularities around wells. A domain decomposition-type finite element method is also proposed based on the refinement technique. This method is applied to flow in heterogeneous porous media. (C) 1998 John Wiley & Sons, Ltd.
Zero is an experimental statically typed, fully object-oriented reflective programming language. Reflective features cover introspection as well as structural and behavioural reflection. The reflective facilities incl...
详细信息
Zero is an experimental statically typed, fully object-oriented reflective programming language. Reflective features cover introspection as well as structural and behavioural reflection. The reflective facilities include safe method and class replacements and detailed modification of methods. These enable Zero programs to quickly accommodate to run-time requirements. Behavioural reflection is realised using handlers (hooks), which maybe attached to all language constructs based on closures. Zero provides an efficient static typing system with run-time extensions. Methods are first class values and are represented as objects when such representation is required. By using such representation, Zero provides elegant use of statically typed higher-order methods. (C) 2008 Elsevier Ltd. All rights reserved.
Stability refers to a software system's resistance to the "ripple effect", i.e., propagation of changes. In this paper, we investigate the stability of classes that participate in instances/occurrences o...
详细信息
Stability refers to a software system's resistance to the "ripple effect", i.e., propagation of changes. In this paper, we investigate the stability of classes that participate in instances/occurrences of GoF design patterns. We examine whether the stability of such classes is affected by (a) the pattern type, (b) the role that the class plays in the pattern, (c) the number of pattern occurrences in which the class participates, and (d) the application domain. To this end, we conducted a case study on about 65.000 Java open-source classes, where we performed change impact analysis on classes that participate in zero, one (single pattern), or more than one (coupled) pattern occurrences. The results suggest that, the application of design patterns can provide the expected "shielding" of certain pattern-participating classes against changes, depending on their role in the pattern. Moreover, classes that participate in coupled pattern occurrences appear to be the least stable. The results can be used for assessing the benefits and liabilities of the use of patterns and for testing and refactoring prioritization, because less stable classes are expected to require more effort while testing, and urge for refactoring activities that would make them more resistant to change propagation.
暂无评论