bloodvessels

Background
The increasing accuracy requirements in many of today’s simulation tasks in science and engineering more and more often involve the need to take into account more than one physical effect. Among the most important, with respect to both modeling and computational issues, and most challenging of such multiphysics problems are fluid-structure interactions (FSI), i.e. interactions of some movable or deformable elastic structure with an internal or surrounding fluid flow. The variety of FSI occurrences is abundant and ranges from aircraft wing and turbine blade flutter to blood flow in arteries. The consequences of ignoring the effects of these oscillatory interactions can be catastrophic, especially in structures susceptible to fatigue.

Analysis Description
To help demonstrate Rescale’s utility to assist engineers and scientists in modeling these complex multiphysics problems, we performed a numerical simulation of blood flow in flexible arteries using fluid- structure interaction. Modeling blood flow presents some unique challenges in representing the various physical processes accurately. By nature, blood is a Non- Newtonian fluid and its viscosity varies with shear rate. Another challenge involves the artery material itself which is also complex, consisting of several layers with each layer having dissimilar properties. Further complicating matters, the arterial walls deform with variations in pressure of the internal blood flow passing through them. These arterial walls dilate in response to increased blood pressure and contract when this pressure subsides. However, these deformations also influence the pressure of the internal blood flow itself, thereby, defining a coupled transient system that is to be solved.

In order to represent the physical system accurately, the flow of blood through the artery is modeled with unsteady or periodic flow. The analysis models for these types of simulations can also be complex due to arterial bifurcations and re-combinations, which can yield computational meshes with a large number of cells. Due to the complex physics involved and analysis model size, Rescale and its vast library of supported analysis software is particularly well-suited to delivering results more quickly to engineers and scientists performing these types of analysis problems.

Figures 1 and 2 show the simple analysis models for the structural and fluid solvers, respectively. The cylindrical structural model consists of a 22 mm inner diameter, a fixed 2 mm wall thickness, and extends 55 mm. The FEA model consists of 7,776 elements while the fluidic domain is made up of 20,480 hexahedral cells.

finite_element_mesh

Figure 1: FEA analysis model and computational mesh

fluid_mesh

Figure 2: CFD analysis model and computational mesh

The two models are joined along a single FSI boundary. A periodic velocity profile is prescribed on the inlet boundary of the fluid domain where the periodic inlet velocity averages 1.3 m/s and ranges 0.5 m/s around this average. A linear distribution for the static gauge pressure, which varies from 0 Pa to 13,332 Pa between times t = 0 and t = 1 (sec), is stipulated at the outflow boundary of this domain, and a no-slip, adiabatic boundary condition is applied along the outer cylindrical wall. Blood traveling through the artery is modeled as a laminar, incompressible flow.

table-1

Table 1 lists the bulk material properties used to define the artery structural model in ANSYS Mechanical for this example simulation. Blood was modeled using the Carreau model which relates the viscosity to shear rate as shown in Eq. (1).

carreau

The simulation is carried out using ANSYS’ system coupling feature included with its ANSYS Workbench product. FLUENT and ANSYS Mechanical are used as the coupling participants for this simulation. Once the model is set up and saved in Workbench, a system coupling file is exported for the project via the System Coupling component. The ANSYS Mechanical input file is exported, as is the FLUENT case file. A user also needs to supplement these with a simple FLUENT journal file that defines how the FLUENT case is to be executed. On Rescale, a user selects the ANSYS Workbench product from the list of analysis codes, and provisions the hardware on which the analysis is to run. On the next job setup page labeled ”Workflow”, each of the aforementioned input files are uploaded and the filenames passed as arguments in the Analysis field before submitting the job to run on demand.

Simulation Solution
As the simulation progresses, pressure of the blood in the artery rises, causing the elastic artery structure to dilate. This expansion of the fluid boundary results in a decrease in pressure of the blood flowing through the artery, and the artery is seen contracting. The animations in Figures 3 and 4 highlight this system coupling effect and are helpful in visually conveying the multiphysics involved with these types of fluid-structure interaction simulations.

VonMises

Figure 3: Artery deformation over time

Pressure (1)

Figure 4: System coupling between internal blood pressure and artery deformation over time

Additionally, this deformation of the artery wall can be measured more quantitatively. Figure 5 shows the initial total displacement of a plane cutting through the middle of the artery wall structure. This initial displacement was measured to be 0.276 mm.

artery_displacement

Figure 5: Total displacement for the artery wall

Summary
As engineers and scientists pursue even greater accuracy in their work, the need to model problems involving more than one physical effect places a greater demand for computational resources that are often shared amongst several competing groups within an organization. Complex analysis models composed of tens to hundreds of millions of cells further exacerbates this issue, resulting in long queue times in an organization’s HPC scheduler.

As a result, the scope of analysis work is often curtailed due to pending deadlines. Rescale can help alleviate congested situations like these within your organization by providing an easy-to-use, on- demand alternative which enables engineers and scientists to run their intricate multiphysics simulations on the computing resources they require without any delays.

You can view and run this simulation yourself on Rescale by clicking here.

This article was written by Rescale.

guacamole

As part of a recent Rescale hackday, I wanted to incorporate in-browser remote desktop functionality for the nodes that are launched on behalf of the user. Most workflows submitted to Rescale are batch processing jobs that run unattended, but the ability to log in to a machine and run a GUI to monitor the running simulation can be useful for some users.

A quick Google search turned up a library called Guacamole that has been around for a few years now. Guacamole consists of three main components: a daemon application called guacd that translates between various remote desktop protocols (VNC, RDC, SSH) and a custom guacamole protocol, a set of Javascript libraries that render the remote desktop to a HTML5 canvas element and listen for mouse and keyboard events, and finally, a thin web application that receives HTTP requests from the js libraries and communicates with the guacd daemon(*).

Unfortunately, there is a bit of a mismatch between the provided web application, a Java servlet, and our existing Django web stack. It would be much simpler to integrate Guacamole into our existing product if there were a python version of the web app. Thankfully, the docs state that this should be relatively straightforward to do. The source code is well written and it was pretty easy to get a hackday-quality version ported over to python quickly.

The guacamole js libraries start up by making a connection request to the web app. A socket is opened to guacd at this point and assigned a tunnel ID that is then returned to the client. The key point to make here is that this socket needs to be shared across multiple HTTP requests that include the same tunnel ID. In order to do this safely, a pair of locks is used to ensure that only one thread is reading from or writing to the socket at a time. The following code snippet shows how guacd instructions are returned to the client through a Django view helper function:

One interesting wrinkle to point out is that the guacamole js libraries will stream data from the server using an alternating pair of AJAX requests. First, an initial AJAX request is made. At some point after this first connection is open and data is flowing back from the server, a second connection attempt is made. The web app needs to be able to detect this on the server side, end the first connection, and then start sending data back on the second connection. The ReentrantLock being used in the Java code has an easy way to tell if there are other waiting threads, but the python RLock does not expose a similar method. An Event is being used as a quick and dirty signaling mechanism between the two in-flight HTTP requests.

Obviously, this was hacked up as quickly as possible and is not suitable for production use and probably contains more than one bug in it. One of the big limitations at the moment is that the sockets connected to guacd are simply stored in a shared, global dictionary right now. As such, this is only suited for an HTTP server that runs as a single process with multiple threads handling the requests.

Overall, it was a fun little bit of code to port over. Kudos to the Guacamole authors for all of their hard work. A sample Django / Guacamole project is available on github for those curious.

(*) While Guacamole does support websockets, the HTTP tunneling approach that it uses out-of-the-box is actually a benefit when trying to support older browsers. Despite the various shims that are available to emulate modern browser behaviors, the fewer dependencies you have on HTML5 features, the better the compatibility with legacy browsers.

This article was written by Ryan Kaneshiro.

Here at Rescale, we are very excited to introduce into production a new hardware profile – the “HPC+” compute configuration. This compute type has improved compute and interconnect capabilities coupled with SSD storage, yielding significantly improved performance.

During beta testing, numerous Rescale users ran their simulation workflows using this hardware profile and the results were very positive. The average user saw between a 25-40% increase in speedup and performance per job.

Now in production, the new compute configuration, “HPC+”, is priced at a very competitive $0.25/core/hour for the regular On-Demand price. Due to the increased performance, running analyses on this hardware type can often result in lower overall Rescale costs — compared to running the same job on another compute profile.

To compare the performance yourself, you can log in to or create an account by going to platform.rescale.com. For information about how to set up a simulation, please go to rescale.com/resources.

This article was written by Joris Poort.

compliance

The security of customers’ information is of utmost importance to Rescale. While many of the steps we take to protect customers’ information are outlined on our Security page, new customers may have doubts about the effectiveness of the systems and controls we provide to protect their data. That’s where a trusted third-party can provide some reassurance. Our team here at Rescale recently brought in an independent auditor to perform an objective review of the controls Rescale has in place, to ensure that customers’ information is stored in a secure manner and available when needed.

We elected to pursue a Service Organization Control (SOC) 2 report as defined by the American Institute of CPAs® (AICPA®). The SOC 2 report addresses the following key features of a system, which in Rescale’s case is the cloud engineering simulation platform:

Security
The system is protected against unauthorized access (both physical and logical).

Availability
The system is available for operation and use as committed or agreed.

Processing integrity
System processing is complete, accurate, timely and authorized.

Confidentiality
Information designated as confidential is protected as committed or agreed.

Privacy
Personal information is collected, used, retained, disclosed, and disposed of in conformity with the commitments in the entity’s privacy notice, and with criteria set forth in Generally Accepted Privacy Principles (GAPP) issued by the AICPA and Canadian Institute of Chartered Accountants.

There are two types of SOC 2 reports, appropriately named Type 1 and Type 2. A Type 1 report describes the controls that are in place to address the features described above, along with the auditor’s opinion on the adequacy of those controls. A Type 2 report includes all the information in a Type 1 report, as well as a list of tests the auditors performed to verify the controls and the results of those tests. Examples of the tests performed include, reviewing a log file from a randomly selected date to verify that an appropriate audit message was recorded, reviewing third-party uptime evaluations, or verifying that a customer issue was appropriately tracked from the initial report to resolution.

Rescale received its Type 1 report from an independent auditor in June of 2013, and its Type 2 from that same auditor for the period from June 1st to November 30th. Going forward, Rescale will have annual audits to ensure that customers know a third-party organization regularly reviews the controls in place to protect their information.

To learn more about Rescale, please visit, www.rescale.com. To begin using Rescale for engineering and science simulations, please contact info@rescale.com.

This article was written by Adam McKenzie.