44 research outputs found

    On Quality of Implementation of Fortran 2008 Complex Intrinsic Functions on Branch Cuts

    Get PDF

    3D CAFE modelling of transitional ductile fracture in steels

    Get PDF
    A coupled Cellular Automata - Finite Element (CAFE) three-dimensional multiscale model was applied in this work to the simulation of transitional ductile brittle fracture in steels. In this model material behaviour is separated from the representation of structural response and material data is stored in an appropriate number of cellular automata (CA). Two CA arrays, the "ductile" and the "brittle", are created, one is to represent material ductile properties, another is to account for the brittle fracture. The cell sizes in both arrays are independent of each ot her and of the finite element (FE) size. The latter is chosen only to represent accurately the macro strain gradients. The cell sizes in each CA array are linked to a microstructural feature relevant to each of the two fracture mechanisms. Such structure of the CAFE model results in a dramatic decrease of the !lumber of finite elements required to simulated the damage zone. Accordingly the running times are cut down significantly compared with the conventional FE modelling of fracture for similar representation of microstructure. The Rousselir continuing damage model was applied to each cell in the ductile CA array. The critical value of the maximum principal stress was used to assess the failure of each cell in the brittle CA array. The model was implemented through auser material subroutine for the Abaqus finite element code. Several examples of model performance are given. Among them are the results of the modelling of the Charpy test at transitional temperatures. For a laboratory rolled TMCR steel the model was able to predict the transitional curve in terms of the Charpy energy and the percentage of brittle phase, including realistic levels of scatter, and the appearance of the Charpy fracture surface. The ways in which material data can be fitted into the model are discussed and particular attention is drawn upon the significance of the fracture stress distribution

    Modelling fracture in heterogeneous materials on HPC systems using a hybrid MPI/Fortran coarray multi-scale CAFE framework

    Get PDF
    A 3D multi-scale cellular automata finite element (CAFE) framework for modelling fracture in heterogeneous materials is described. The framework is implemented in a hybrid MPI/Fortran coarray code for efficient parallel execution on HPC platforms. Two open source BSD licensed libraries developed by the authors in modern Fortran were used: CGPACK, implementing cellular automata (CA) using Fortran coarrays, and ParaFEM, implementing finite elements (FE) using MPI. The framework implements a two-way concurrent hierarchical information exchange between the structural level (FE) and the microstructure (CA). MPI to coarrays interface and data structures are described. The CAFE framework is used to predict transgranular cleavage propagation in a polycrystalline iron round bar under tension. Novel results enabled by this CAFE framework include simulation of progressive cleavage propagation through individual grains and across grain boundaries, and emergence of a macro-crack from merging of cracks on preferentially oriented cleavage planes in individual crystals. Nearly ideal strong scaling up to at least tens of thousands of cores was demonstrated by CGPACK and by ParaFEM in isolation in prior work on Cray XE6. Cray XC30 and XC40 platforms and CrayPAT profiling were used in this work. Initially the strong scaling limit of hybrid CGPACK/ParaFEM CAFE model was 2000 cores. After replacing all-to-all communication patterns with the nearest neighbour algorithms the strong scaling limit on Cray XC30 was increased to 7000 cores. TAU profiling on non-Cray systems identified deficiencies in Intel Fortran 16 optimisation of remote coarray operations. Finally, coarray synchronisation challenges and opportunities for thread parallelisation in CA are discussed

    Fortran 2008 coarrays

    Get PDF
    Coarrays are a Fortran 2008 standard feature intended for SIMD type parallel programming. The runtime environment starts a number of identical executable images of the coarray program, on multiple processors, which could be actual physical processors or threads. Each image has a unique number and its private address space. Ordinary variables are private to an image. Coarray variables are available for read/write access from any other image. Coarray communications are of "single sided" type, i.e. a remote call from imageA to image B does not need to be accompanied by a corresponding call in image B. This feature makes coarray programming a lot simpler than MPI. The standard provides synchronisation intrinsics to help avoid race conditions or deadlocks. Any ordinary variable can be made into a coarray - scalars, arrays, intrinsic or derived data types, pointers, allocatables are all allowed. Coarrays can be declared in, and passed to, procedures. Coarrays are thus very flexible and can be used for a number of purposes. For example a collection of coarrays from all or some images can be thought of as a large single array. This is precisely the inverse of the model partitioning logic, typical in MPI programs. A coarray program can exploit functional parallelism too, by delegating dis- tinct tasks to separate images or teams of images. Coarray collectives are expected to become a part of the next version of the Fortran standard. A major unresolved problem of coarray programming is the lack of standard parallel I/O facility in Fortran. In this paper several simple complete coarray programs are shown and compared to alternative parallel technologies - OpenMP, MPI and Fortran 2008 intrinsic "do concurrent". Inter image communication patterns and data transfer are illustrated. An example of a materials microstructure simulation coarray program scaled up to 32k cores is shown. Problems with coarray I/O at this scale are highlighted and addressed with the use of MPI-I/O. A hybrid MPI/coarray programming is discussed and illustrated with a finite element/cellular automata (CAFÉ) multi-scale model. The paper completes with a description of the new coarray language features, expected in the 2015 Fortran standard, and with a brief list of coarray resources</jats:p

    Fatigue of thin periodic triangular lattice plates

    Get PDF
    A method for predicting the fatigue life of triangular lattices is proposed in this paper by considering fatigue properties of single lattice struts. Fatigue tests of different sizes of lattice plates of aluminium alloy, and tests of single struts with different maximum fluctuating loads, have been conducted to validate this method. It is found that the struts in a triangular lattice break near to strut intersections, where stress and strain concentrations occur. Similar crack propagation paths were observed in different lattice plate specimens: the cracks grew at a 30° angle to the initial edge crack in the upper half of lattice plate. The mixed-mode fatigue crack propagation rate was also studied and expressed using an effective stress intensity factor. A size effect on the crack growth rate of triangular lattice plates was also observed: a fatigue crack will propagate slightly quicker in larger triangular plates than in smaller ones
    corecore