4 research outputs found

    A framework for developing finite element codes for multi- disciplinary applications

    Get PDF
    The world of computing simulation has experienced great progresses in recent years and requires more exigent multidisciplinary challenges to satisfy the new upcoming demands. Increasing the importance of solving multi-disciplinary problems makes developers put more attention to these problems and deal with difficulties involved in developing software in this area. Conventional finite element codes have several difficulties in dealing with multi-disciplinary problems. Many of these codes are designed and implemented for solving a certain type of problems, generally involving a single field. Extending these codes to deal with another field of analysis usually consists of several problems and large amounts of modifications and implementations. Some typical difficulties are: predefined set of degrees of freedom per node, data structure with fixed set of defined variables, global list of variables for all entities, domain based interfaces, IO restriction in reading new data and writing new results and algorithm definition inside the code. A common approach is to connect different solvers via a master program which implements the interaction algorithms and also transfers data from one solver to another. This approach has been used successfully in practice but results duplicated implementation and redundant overhead of data storing and transferring which may be significant depending to the solvers data structure. The objective of this work is to design and implement a framework for building multi-disciplinary finite element programs. Generality, reusability, extendibility, good performance and memory efficiency are considered to be the main points in design and implementation of this framework. Preparing the structure for team development is another objective because usually a team of experts in different fields are involved in the development of multi-disciplinary code. Kratos, the framework created in this work, provides several tools for easy implementation of finite element applications and also provides a common platform for natural interaction of its applications in different ways. This is done not only by a number of innovations but also by collecting and reusing several existing works. In this work an innovative variable base interface is designed and implemented which is used at different levels of abstraction and showed to be very clear and extendible. Another innovation is a very efficient and flexible data structure which can be used to store any type of data in a type-safe manner. An extendible IO is also created to overcome another bottleneck in dealing with multi-disciplinary problems. Collecting different concepts of existing works and adapting them to coupled problems is considered to be another innovation in this work. Examples are using an interpreter, different data organizations and variable number of dofs per node. The kernel and application approach is used to reduce the possible conflicts arising between developers of different fields and layers are designed to reflect the working space of different developers also considering their programming knowledge. Finally several technical details are applied in order to increase the performance and efficiency of Kratos which makes it practically usable. This work is completed by demonstrating the framework’s functionality in practice. First some classical single field applications like thermal, fluid and structural applications are implemented and used as benchmark to prove its performance. These applications are used to solve coupled problems in order to demonstrate the natural interaction facility provided by the framework. Finally some less classical coupled finite element algorithms are implemented to show its high flexibility and extendibility

    Uma abordagem para interoperabilidade entre plataformas heterogêneas de serviços web para redes colaborativas de organizações

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Engenharia Elétrica.Cada vez mais as organizações têm enfrentado um ambiente de intensa concorrência e mudanças de mercado. Para se manterem competitivas e melhorar a colaboração entre parceiros e clientes, as organizações vêm participando de redes colaborativas mais complexas e menos rígidas, como, por exemplo, cadeias de suprimento e organizações virtuais. A Tecnologia da Informação e Comunicação (TIC) vem sendo cada vez mais utilizada como forma de suportar essa colaboração. Porém, isso cria um cenário extremamente heterogêneo, onde organizações diferentes e distribuídas utilizam diversos sistemas de TIC, providos por fabricantes variados e desenvolvidos em diversas plataformas e tecnologias. Portanto, é preciso que sejam oferecidos meios de alcançar uma maior interoperabilidade e colaboração entre as organizações, de maneira padronizada, aberta e dinâmica. Para tal, faz-se necessário utilizar uma abordagem que siga um modelo descentralizado e de baixo acoplamento, permitindo que as organizações possam participar de maneira transparente e interoperável nos processos colaborativos. O paradigma de orientação a serviços, que pode ser implementado através da tecnologia e padrões dos serviços Web, vem sendo largamente utilizado para atingir tal interoperabilidade entre organizações e seus sistemas de TIC. Apesar dos serviços Web serem amparados por padrões, quando as organizações desejam fazer seus serviços, que normalmente são desenvolvidos em diferentes plataformas, linguagens e sistemas operacionais, se comunicarem plenamente entre si, diversos problemas de interoperabilidade surgem na prática. Esse trabalho apresenta uma pesquisa acerca da forma como se aumentar a interoperabilidade e a colaboração entre organizações através de serviços Web, propondo uma abordagem para ocultar a complexidade tecnológica e atingir uma maior interoperabilidade, independentemente da plataforma computacional, das tecnologias e linguagens de implementação, e da localização geográfica do serviço

    Using CORBA middleware in finite element software

    No full text
    Distributed middleware technologies, such as CORBA can enable finite element software to be used in a more flexible way. Adding functionality is possible without the need for recompiling client code. Transfer of data can be done directly, without the need for intermediate input and output files. The CORBA software components can be easily configured and distributed tranparently over the network. A sample structural mechanics code, implemented in C++ is used to illustrate these concepts. Some future directions, such as placing CORBA enabled finite element software on HPC centres are also discussed

    Using CORBA middleware in finite element software

    No full text
    Distributed middleware technologies, such as CORBA can enable finite element software to be used in a more flexible way. Adding functionality is possible without the need for recompiling client code. Applications and libraries can expose their functionality to other applications in a language neutral way, enabling a more direct and easy transfer of data, without the need for intermediate input and output files. The CORBA software components can be easily configured and distributed transparently over the network. A sample structural mechanics code, implemented in C++ is used to illustrate these concepts. Some future directions, such as placing CORBA enabled finite element software on HPC centres are also discussed
    corecore