If you encounter any bugs, crashes, inaccurate/inconsistent results, or otherwise suspect any faults, please do not hesitate to use the Feedback button in the Main window, or contact us at support@floatsoft.net. Our team is standing by to fix problems and roll out an updated version to you as soon as possible. If you are submitting a bug report manually (not via Feedback), please include all of the following:
The SOLIDWORKS .sldprt file that you were analyzing;
The [model name].cfg and [model name].mem files in the Config and Memory folders next to the FLOATSOFT executable;
A detailed description of the steps you took so we can re-create the issue.
Your help in finding and eliminating bugs is greatly appreciated!
Error “FLOATSOFT failed to perform a required operation with this hull model”
The cause for this error is an imperfect Operations3 API call implementation by SOLIDWORKS that FLOATSOFT uses to cut the model hull at the waterline. This operation sometimes fails at a very specific hull orientation and immersion. If this occurs repeatedly, try to reduce the complexity of the model (roll back the Feature Tree to skip the features that are irrelevant to the hull hydrostatics), or try a slightly different Displacement or Draft value. Sometimes deleting the .mem file in the Memory folder for your model will cause the FLOATSOFT to take a different approach to solving your calculation, and skip the problematic immersion.
Error “Unable to connect to SOLIDWORKS”
Sometimes FLOATSOFT might fail to connect active SOLIDWORKS instance. Fortunately, this is easy to fix:
Check if you don’t have multiple instances of SOLIDWORKS running. Open the Task Manager, and search for SOLIDWORKS instances – there should be only one. If unsure, restart your computer, and try again.
Check if your anti-virus is not blocking the application. If you’re unsure, add FLOATSOFT to the Exceptions list in your anti-virus settings.
Simulate Natural Buoyancy mode fails to find a solution
Due to the complexity of this mode, sometimes the application may struggle to find the right heel, trim and draft values to locate the Center of Buoyancy above or below Center of Gravity. This usually happens with extreme CoG locations or extremely unusual and unpredictable hull shapes. If that is the case, please try the following suggestions:
Try setting the CoG coordinates to a more moderate location (closer to the center of the vessel). If a solution is found, set the CoG to the actual position you need, and run the simulation again. FLOATSOFT features a learning algorithm that performs advanced positioning operations better with time, and setting the CoG in steps before setting it to the final position will help to “train” the algorithm.
Try setting the Z value of the CoG coordinates lower. In many cases, we find that users often neglect setting the correct Z value, leaving it higher than actually necessary, which makes the virtual vessel a lot more unstable, and makes it harder for this mode to find a solution.
If all else fails, open the memory folder next to the application executable, and delete the [SOLIDWORKS model name].mem file. This will reset the learning algorithm memory, and may help find the solution on the next run.
Heel and trim values are reversed
Make sure that the model is oriented correctly, as described in SOLIDWORKS model requirements. In most cases, this unexpected behavior is due to positioning vessel along the X axis rather than Z, or pointing it in the wrong direction along the correct axis. If your model is too complicated to redefine all planes, sketches and features in SOLIDWORKS, you can use Move/Copy feature to rotate the model as the last feature in the SOLIDWORKS Feature Tree. If that feature gets in the way, you can alternatively use the Insert Into Part on the solid body to create a separate part for use with FLOATSOFT, and orient it as needed.
FLOATSOFT is a lightweight software by itself, taking up less than 2 MB of space in your hard drive, requiring very little processing power and featuring minimal memory consumption (30-40 MB). However, as it interfaces with SOLIDWORKS API, and manipulates Virtual Bodies inside the model, computation times will strongly benefit from a powerful CPU; high single-thread performance is preferable. In any case, the minimum system requirements are no higher than that of SOLIDWORKS [1] itself:
Windows® 7 or newer (64-bit)
Dual core CPU; Quad core recommended
8GB RAM; 16GB recommended
2GB free disk space; 5GB recommended
2GB or more GPU RAM; 4GB recommended
NVIDIA® graphics card: NVIDIA Quadro®/NVIDIA GeForce®/Tesla™ with at least NVIDIA Kepler™ chip; Dual-GPU setup with at least NVIDIA Maxwell™ cards for the best experience
NVIDIA driver version 385.41 (or newer) recommended
NVIDIA driver support for CUDA® 9.0 or newer required
HDR Light Studio connection: HDR Light Studio v5.3.3 or newer, except v5.4 [not required for FLOATSOFT]
4GB of video memory or more required for the Denoiser feature
Obviously, FLOATSOFT requires a functioning SOLIDWORKS installation to work. FLOATSOFT was tested from SOLIDWORKS 2016 through 2020 SP4, but should work in earlier and later versions as well. On the off-chance that the SOLIDWORKS API changes, breaking the functionality of FLOATSOFT, please contact us at support@floatsoft.net for a fix.
FLOATSOFT also requires .NET Framework 4.5 to be installed.
Sure thing. Use the Feedback button in the Main window, or send your feature request to our team at support@floatsoft.net, and we’ll look into it. We will do our best to include it in the next FLOATSOFT update.
FLOATSOFT supports pretty much every hull imaginable, ranging from a bathtub rubber duck, through a ballasted keel sailing yacht, to a half a million ton oil supertanker. Model boats, paddleboards, surfboards, hydrofoilers, water birds, floatplanes – you name it, we’ve got it. Throw a flower pot into the FLOATSOFT, and it will show you how that pot floats. Please note that there are some calculation simplifications when dealing with multiple underwater bodies, described in section 4.1.
While the FLOATSOFT wasn’t designed with submarines in mind, you can still use it that way. Set the Displacement or Draft just a tiny fraction below the maximum possible Displacement or Draft, so your submarine is almost completely immersed, and the calculations won’t be affected much by the minuscule surfaced part of the hull.
A FLOATSOFT license is issued as 12-character key that enables the use of the application on a single computer at a time. Upon downloading the program executable, the user must input his License Key to activate the license on that computer. The application connects to the FloatSoft server to validate the License Key, and tie it to the unique Computer ID, returning an Activation Key that unlocks the application for use during the license period on that specific computer. The License Key can be released by deactivating it on the same computer, and activating it on another one, but it cannot be activated on several computers at once. If the license gets stuck on a computer that is lost or unrecoverable, contact us at support@floatsoft.net, and we will release the license.
Please note that computer must have active Internet connection when activating or deactivating the license, but afterwards the connection is not required. Subscribtion and Lifetime license users can perform an offline activation on a computer that must be kept disconnected from the Internet at all times, but this activation can be performed only once per license period for Subscription license users, and unlimited number of times for Lifetime license users. Educational licenses cannot be activated offline.
Your license entitles you to a copy of the current version of FLOATSOFT, as well as any future versions, updates and bug fixes with no additional cost. You may not, however, or distribute/re-sell your license to a third party.
While the calculations performed by FLOATSOFT itself are rather simple, interfacing with SOLIDWORKS API and the necessity to use it’s Virtual Bodies is the limiting factor of FLOATSOFT performance. Some SOLIDWORKS models will work faster than others; FLOATSOFT Settings play a major role as well. The learning algorithm attempts to minimize the necessity to interface with SOLIDWORKS API, and improve the performance. While the initial few calculations might seem sluggish, each subsequent calculation will become faster with that specific model. Here are some guidelines to reduce calculation times even more:
Use a CPU with strong single-thread performance (you can check it here).
Use a SOLIDWORKS model with simpler shapes and less SOLIDWORKS Features. If complexity cannot be avoided, export the hull as a Body to a separate .sldprt file to reduce the active SOLIDWORKS Feature count.
Set the Error margin in the Settings window to a higher value. While this obviously reduces the accuracy of the calculations, you might find it preferable during the initial, ball-park design phase.
When using Iterative modes, increase the Range Step size in the Iteration Range area.
Note: reducing or increasing the number of Decimal Points in the Settings window does not affect the performance.
FLOATSOFT features 7 different modes to orient and submerge the designed hull before performing any hydrostatic / hydrodynamic reports. These modes require some input from the user, and are chosen depending on the design data available and the end goal.
Simple modes
1. Solve with known draft
When selected, this mode finds a solution based on known draft, heel and trim data. Useful when you need to determine the ship displacement at a specific waterline height. This is the fastest mode, and produces almost instantaneous results.
2. Solve with known displacement
When selected, this mode finds a solution based on known displacement, heel and trim data. Useful when you need to determine the draft at a specific ship load. This mode is based on interpolating functions, and requires a little more time to determine the correct draft that gives the targeted displacement value.
Iterative modes
3. Iterate through draft
When selected, this mode iterates through a range of draft values, defined in the Iteration range field. It is essentially an automatized Solve with known draft mode. It allows you to see how certain hydrostatics properties change as the draft changes. Useful for building displacement tables, finding optimal coefficients, etc. Please note that large ranges and small steps result in lengthy calculations. Just as any of the Iterative modes, it allows you to output a selected hydrostatics property to a graph. Iteration range field limitations are as follows:
Range Start: no less than 0, no more than the height of the hull.
Range End: no less than Range Start, no more than the height of the hull.
Range Step: small enough to produce at least 2 results.
4. Iterate through displacement
When selected, this mode iterates through a range of displacement values, defined in the Iteration range field. It is essentially an automatized Solve with known displacement mode. It allows you to see how certain hydrostatics properties change as the displacement changes. Useful for building draft tables, finding optimal coefficients, etc. Please note that large ranges and small steps result in lengthy calculations. Just as any of the Iterative modes, it allows you to output any hydrostatics property to a graph.
Range Start: no less than 0, no more than the volume of the hull.
Range End: no less than Range Start, no more than the volume of the hull.
Range Step: small enough to produce at least 2 results.
5. Iterate through heel
When selected, this mode iterates through a range of heel angle values, defined in the Iteration range field. It requires a consistent displacement, and allows you to see how certain hydrostatics properties change as the heel angle changes. Useful for producing righting moment tables, determining maximum lateral stability, finding flood angles, etc. Please note that large ranges and small steps result in lengthy calculations. Just as any of the Iterative modes, it allows you to output any hydrostatics property to a graph.
Range Start: between -180° and 180°.
Range End: between -180° and 180°, higher than the Range Start.
Range Step: small enough to produce at least 2 results.
If Auto-trim option is checked, FLOATSOFT will attempt to automatically adjust the trim of the hull to keep the CoG and CoB in the same lateral plane. For this to work, you must type the CoG coordinates in CoG coordinates input fields. Please note that enabling this option will take more time to find each solution.
6. Iterate through trim
When selected, this mode iterates through a range of trim angle values, defined in the Iteration range field. It requires a consistent displacement, and allows you to see how certain hydrostatics properties change as the trim angle changes. Useful for producing righting moment tables, determining maximum longitudinal stability, finding bow/stern flood angles, etc. Please note that large ranges and small steps result in lengthy calculations. Just as any of the Iterative modes, it allows you to output any hydrostatics property to a graph.
Range Start: between -180° and 180°.
Range End: between -180° and 180°, higher than the Range Start.
Range Step: small enough to produce at least 2 results.
Advanced modes
7. Simulate natural buoyancy
The most complicated and computationally demanding mode, it attempts to perform a buoyancy physics simulation based on a pre-determined displacement and Center of Gravity coordinates. Model is re-positioned and re-oriented by trial-and-error using interpolating functions, adjusting the draft, heel and trim, until the Center of Buoyancy is above or below the Center of Gravity within an lateral and longitudinal distance error margin specified in the Error margin setting in the Settings window. FLOATSOFT will make a number of attempts to find the solution (configurable in the Settings window), and in case of a failure, terminate the simulation to avoid an infinite loop, displaying a message “No solution found”. If you encounter this error, try to run the simulation again – it is likely that the learning algorithm will have gathered enough data to find a solution before reaching the attempt limit. If it still doesn’t succeed, try to set the Error margin in Settings window to a higher value, or move the Center of Gravity to a less extreme position. If the simulation is successful, it will analyze the final result, and output hydrostatic properties in the Results window.
This article describes the backstage operation principles of FLOATSOFT. It is not required to understand all the technical details to use the application, but it may help you in fixing potential issues and making the most out of this software.
4.1 Basics
FLOATSOFT works as an external executable that interfaces with SOLIDWORKS API, and makes use of Virtual Bodies to manipulate and analyze the currently opened SOLIDWORKS model. It takes a single SOLIDWORKS body, makes a Virtual Body copy of it, rotates and translates it vertically to a desired position, and slices it in two at the waterline (Top Plane of SOLIDWORKS Feature Tree). Then, it measures and analyzes the properties of the underwater body, and repeats the previous steps until a desired solution is found. Finally, it analyzes the underwater body once again, runs the user-defined calculations, and outputs them for a textual or graphical representation. In some cases, there might be multiple underwater bodies (in case of multi-hulls, hulls with concave surfaces, yachts with keel bulbs at high heel angle). FLOATSOFT allows you to either combine their hydrostatics, or display the hydrostatics of the largest body only.
4.2 Configuration file
FLOATSOFT creates a separate .cfg file for every model, which contains some properties of the hull, as well as all the user inputs. This configuration file is referred to when checking the model for user-made changes, and to avoid the necessity of repeating time-consuming calculations every time the program is run. Configuration file is tied to the model name; therefore, opening a new model or renaming an existing one will make FLOATSOFT revert to default settings. Configuration file should not be tampered with at any time, unless you know what you’re doing. Doing so may break the functionality of FLOATSOFT, produce inaccurate results, or cause crashes. If FLOATSOFT detects that the configuration file is corrupt, it will prompt the user to fix it, or delete in the executable directory, and allow the program to re-create it.
4.3 Interpolation, learning algorithm and memory storage
Due to the nature of SOLIDWORKS and the external interfacing that FLOATSOFT does, creating and manipulating Virtual Bodies is the ultimate limiting factor of FLOATSOFT performance. Some operations are simple: for example, if the user knows the draft of the hull, and wants to find out the displacement, FLOATSOFT only has to create one Virtual Body at that draft, and analyze the volume of an underwater body to determine the displacement. However, when the requirement is reversed (e.g. set the waterline height at a correct value to meet a certain displacement) it is nearly impossible to find a parametric solution. Therefore, FLOATSOFT must take at least 2 guesses of the waterline height, observe the change in displacement, and interpolate to make the next guess. Ship hulls are often complicated and unpredictable shapes, requiring many guesses to arrive within desired error margin.
To circumvent this issue, FLOATSOFT features a highly developed learning algorithm, which memorizes the hydrostatic properties every time a SOLIDWORKS Virtual Body is created, and uses that data to make the next interpolation, rather than creating a new Virtual Body. Using FLOATSOFT fills the gaps in the learning algorithm memory bank, until few, if any, Virtual Bodies are needed anymore for interpolation. In case the user makes changes to the hull (size, proportions, etc.), the learning algorithm automatically detects the mismatch, and rewrites it’s memory with the new observations.
Memory storage file is tied to the model name, and stored in a .mem file in the Memory folder next to the FLOATSOFT executable. This file should not be tampered with at any time. If you suspect that the memory is corrupt or causing problems, you can delete this file at any time, and it will be automatically recreated.
4.4 Coordinate System
When FLOATSOFT starts any of the calculations it creates a Virtual Body copy of the model, and positions it so that the aft-most point at the stern touches the Front Plane (0 on Z axis), the bottom-most point of the hull touches the Top Plane (0 on the Y axis), and the Right Plane intersects the hull on the Centerline (mid-point between the extreme port and starboard points of the model). Afterwards, it only moves it up or down for correct immersion, or rotates to simulate various heel and trim angles.
The CoG and CoB coordinates entered and displayed in FLOATSOFT always match those of SOLIDWORKS, regardless of how the visual representation of the hull appears to be.
4.5 Limitations
If you close the SOLIDWORKS model while FLOATSOFT is open, it will lose the connection to the model, and will quit as soon as you try to run any of the calculations, even if you open the model again. This is a protective measure to prevent program crashes. In such a case, restart FLOATSOFT to restore the connection.
FLOATSOFT was tested with over a dozen SOLIDWORKS models, ranging from a bathtub rubber duck, through a ballasted keel sailing yacht, to a half a million ton oil supertanker, producing consistent results and performance. However, since it is difficult to predict every hull shape out there, it is possible that FLOATSOFT might be unable to analyze some exotic hull, display incorrect results, or even crash. Therefore, please always check if the calculation results make sense. If something doesn’t work for you, send a report to us by using the Feedback button in the Main window, or email us at support@floatsoft.net, and we will promptly update FLOATSOFT to make it compatible with the hull you are designing.
To function as intended, FLOATSOFT has a several requirements when preparing the hull model in SOLIDWORKS for analysis.
The hull model must be in an open .sldprt file. If your model is done in SOLIDWORKS Assembly (.sldasm), follow this video tutorial for tips how to set up a simplified hull copy part for analysis.
The model must contain a single, solid Body, that is correctly oriented in respect to the coordinate axes. Bow must point along the Z positive axis, port side must lie on the X positive side, and the hull must be positioned upright (along Y positive axis), as illustrated below:
(Note: it is not necessary to move the hull in respect of the planes as illustrated in the picture above. Only the orientation matters. FLOATSOFT will automatically position a virtual copy of the hull to the illustrated position. The original model will remain untouched.)
Apart from the hull Body, there might be additional Surfaces or unused Sketches in the model. They will not impede the functionality of FLOATSOFT, nor will they be used in any way.
SOLIDWORKS model must be saved anywhere on your computer.
The hull model must be a solid, filled Body. FLOATSOFT does not feature flood mechanics, and will treat any open space as a cavity that is to be flooded as soon as the waterline reaches it. Therefore, hollow-shell hulls are not supported. Illustrated below: