Fluent reader fail for files larger than 2GB
While trying to read a file larger than 2GB with ANSYS Fluent reader there is an exception:
10:50:04,327 luent reader[1] ERROR main.ModuleElement.killFromModule 476: An error occured in function: onLocalActive java.lang.IllegalArgumentException: Size exceeds Integer.MAX_VALUE at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:836) at pl.edu.icm.visnow.lib.basic.readers.ReadFluent.MemoryFileImageInputStream.<init>(MemoryFileImageInputStream.java:27) at pl.edu.icm.visnow.lib.basic.readers.ReadFluent.FluentReader.openDataFile(FluentReader.java:331) at pl.edu.icm.visnow.lib.basic.readers.ReadFluent.FluentReader.requestInformation(FluentReader.java:119) at pl.edu.icm.visnow.lib.basic.readers.ReadFluent.ReadFluent.onActive(ReadFluent.java:163) at pl.edu.icm.visnow.engine.core.ModuleCore.onLocalActive(ModuleCore.java:586) at pl.edu.icm.visnow.engine.main.ModuleElement.setActive(ModuleElement.java:327) at pl.edu.icm.visnow.engine.main.ModuleElement.onActionMessage(ModuleElement.java:281) at pl.edu.icm.visnow.engine.element.Element.nextMessage(Element.java:213) at pl.edu.icm.visnow.engine.element.Element.run(Element.java:175) at java.lang.Thread.run(Thread.java:745)
The reason is the FileChannel/MappedByteBuffer in MemoryFileImageInputStream do not allow sizes larger than MAX_INT. Need to reposition the mapped region for larger files.
Test on file /workspace0/babor/data/fluent/Savoinus3D/SAa.cas