Development of Flac3d software computing platform based on cloud computing technology

With the continuous improvement of the requirements for numerical simulation in engineering at home and abroad, the numerical simulation of geotechnical engineering has become more and more refined and complicated. Flac3d is one of the widely used numerical simulation software in the field of geotechnical engineering. In order to solve the problem that Flac3d is slow in calculation and occupies too much computing resources, the Flac3d software computing platform is developed based on the bottle framework and D3.js framework. The platform is fully functional and includes auxiliary modules such as billing module, file sharing module and security module. Users only need to input the computing resources and storage resources to automatically create a virtual server, and use the pre-installed Flac3d software in the server. The platform greatly reduces the computational time of the Flac3d, and the calculation rate is particularly improved under multiple operating conditions. Compared with general supercomputing centers, although the cloud computing platform is slightly weaker in hardware, its energy consumption is relatively low, and it is not limited by geographic location, and can form a larger scale.


Introduction
Cloud computing is leading the profound development of the IT industry. It brings a larger scale and more efficient new generation of information systems, driving users from the previous self-built and self-use consumption model to the service model, highlighting user-driven and demand-driven , ondemand service, pay-per-view, with significant advantages such as specialization, scale and low cost [1] . It is a development trend to apply new computer technology to the application of geotechnical engineering and to improve the technical level of geotechnical engineering. With the continuous development of technology, the types of geotechnical engineering software are gradually increasing, and it is urgent to develop an integrated geotechnical engineering cloud computing service platform [2] . At present, there are some systematic cloud computing platforms in the field of civil engineering, but there is much room for improvement in the integration, standardization and productization of these platforms [3][4][5] . With the continuous improvement of the requirements for numerical simulation in engineering at home and abroad, the numerical simulation of geotechnical engineering has become more and more refined and complicated [6] , and Flac3d is one of the widely used numerical simulation software in the field of geotechnical engineering [7] , so that the Flac3d software cloud computing platform has been developed. Compared with the general supercomputing center index, although the cloud computing platform is slightly weaker in hardware, relatively speaking, there is no location limitation and can form a larger scale [8] .

Development environment and system architecture
The development of the Flac3d software computing platform mainly includes user information processing, web page visualization, virtual server management and bill management. The selected development environment mainly includes Python2.7, SQL Server 2008 R2 database and Windows10 64-bit operating system. The platform uses Flask framework to realize website functions, and D3.js framework to realize web page visualization. The system function architecture is shown in the figure. As shown in Figure 1, the entire platform consists of the interactive interface layer, the core functional layer, and multiple auxiliary modules. Users enter the parameters of the required computing resources in the interactive interface to create and manage cloud servers and cloud storage spaces. The created cloud servers will automatically install preset systems and software. Auxiliary modules include billing module, file sharing module and security module.

User login module
In order to improve the security of the platform data, the Bcrypt encryption algorithm in Python is used to encrypt the user's password twice, and at the same time, it restricts the email domain name used by the user to register. The user account adopts level 4 authority management(see Table 1). The initially created account has level 0 authority and cannot log in to the platform at this time. After receiving the verification email for verification, it is upgraded to level 1 authority. At this time, you can log in to the platform but cannot perform operations. After the administrator confirms the account, it can be upgraded to level 2 authority, and users can use all functions of the platform normally, level 3 is administrator authority. The authorization escalation process is shown in Figure 2. Table 1

. User Authority
Level Authority 0 Can not log in 1 Part of the function 2 All functions 3 Administrator rights

Cloud server creation and management module
In order to facilitate users to manage cloud servers, the API is used to develop the cloud server creation and management module. Users enters the name, model, quantity and other information to create a cloud server, and starts, connects, shuts down, and releases the server on the interactive interface (see Figure 3).

Visualization Module
In order to facilitate the query of the bill, the D3.js framework is used to draw a chart based on the bill data to show the usage more intuitively (see Figure 4). At the same time, based on the SES service and Lambda service provided by AWS, the bill is parsed in order to generate the bill document, and the document is sent to the user's mailbox every two days.

Sharing mode
The platform provides file sharing and cloud server sharing functions. Users can share the created cloud server with other users through the platform to achieve collaborative work, or pre-store files in storage server to realize files sharing function.

Security Module
In order to prevent the cloud server created by the user from being stolen, the platform has set up IP address verification for each cloud server, and the IP address of the non-user cannot connect to the cloud server. At the same time, the website strictly restricts the registration of mailbox domain names to prevent the platform server from being attacked and downtime.

Server deployment
The physical servers of the platform are managed uniformly. When the platform receives a request to create a cloud server, the corresponding computing resources are allocated, user name restrictions and IP address access permissions are set, so that no one other than the user can connect to this part of the data, which ensure data security and avoid data loss and leakage. In addition, the storage server is centrally managed, and all user data and files are stored in the same local area network, which reduces the frequent network transmission between data and accelerates the data transmission speed. The platform deployment is mainly divided into four nodes: the front-end node, the computing node, the file storage nodes, and the database nodes.
The following takes the specific calculation process as an example to introduce the deployment of the entire system: First, users logs on to the platform after passing the database node verification, sends an instruction at the front-end node, and transmits the instruction to the computing node. The computing node completes the computing task after allocating computing resources, and the calculation result is stored in the file storage node.

Application case
The platform is based on Flac3d software to test the operating speed of each model of cloud server. The test results are shown in Figure 6.

Fig 6. Comparison of test results
The test result shows that for Flac3d software, when the memory is 64G and the threads are 32, the calculation speed is the highest. For the cloud server model of this configuration, a hydropower project was taken as an example to test its computing speed. The geotechnical model of the project is shown in the figure, and there are about 4.5 million model grids.

Fig 7. Schematic diagram of test model
In actual engineering, the calculation of the numerical model is often multi-conditions, and on the traditional office computer, due to the limitation of the hardware conditions, it is often only possible to calculate in one operating condition and one operating condition. For the cloud computing platform, multiple cloud servers can be created at the same time to realize simultaneous calculation of multiple working conditions. The calculation efficiency of the platform for complex models under multiple working conditions is shown in Table 2.

Conclusions and prospects
This article introduces the Flac3d software computing platform, explains its system architecture and module development, and uses a specific geotechnical engineering model as an example to test the computing efficiency of the platform. The results show that the rate of calculation has increased greatly, especially for multiple working conditions. In addition, the remote online operation of software is realized through the Internet, which frees the hardware configuration from geographical restrictions. The platform is extremely malleable, and the next step is to use graphics processing unit (GPU) acceleration technology to further improve software computing efficiency. Furthermore, it will integrate most of the numerical simulation software in the field of geotechnical engineering, relying on the shared system of the platform, and realize the standardization and componentization of geotechnical engineering numerical models, so as to explore new working modes of geotechnical engineering numerical simulation.