Difference between revisions of "Onelab/Mobile"

From ONELAB
Jump to: navigation, search
 
(58 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  
Please report bugs and suggestions for the mobile version of Onelab to mobile @ onelab . info (without spaces).
+
Onelab/Mobile is available for iOS (iPhone and iPad) and Android:
 
+
* [https://itunes.apple.com/us/app/onelab/id845930897 Download Onelab/Mobile for iPhone and iPad on the App Store]
= Short user guide =
+
* [https://play.google.com/store/apps/details?id=org.geuz.onelab Download Onelab/Mobile for Android devices on Google Play]
 
+
Onelab/Mobile contains [[Gmsh]] and [[GetDP]] and runs all computations locally on your mobile device.
Onelab/Mobile is available for iOS 7 (iPhone and iPad) and Android 4. It currently contains Gmsh and GetDP and runs all computations locally on your mobile device. Future versions will add support for remote calculations in the cloud.
 
  
 
== Running a pre-packaged model ==
 
== Running a pre-packaged model ==
  
== Installing new models ==
+
The list of available models appears when you launch the app. Selecting a model will load it. You can then press '''Run''' to launch a simulation with the default set of parameters. When available, additional information about a model can be obtained by long-pressing on the model description and selecting '''Visit model website'''.
 
 
 
 
= Installing unpublished/beta versions of Onelab/Mobile =
 
  
Follow the instructions below if you want to install a version of Onelab/Mobile that is not published officially on the App Store (for iOS) or the Google Play store (for Android).
+
<gallery widths=133px heights=200px perrow=3>
 +
Image:iPhone_1.png|List of models on iPhone; select a model to open it.
 +
Image:iPhone_2.png|Press '''Run''' to launch a computation with the default set of parameters.
 +
Image:iPhone_3.png|Press '''Parameters''' to see and/or modify the parameters.
 +
</gallery>
  
== iOS ==
+
== Modifying a model ==
  
# Download '''Onelab.ipa'''
+
To run a model with different parameters, press '''Parameters''' and modify any of the presets. Then press '''Run''' again: all the simulation steps will be performed with the new parameter values. To restore the preset parameters values, press '''Reset'''.  
# Send us your [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html##//apple_ref/doc/uid/TP40012582-CH30-SW46 device ID]] by email at mobile @ onelab . info ; we will add your device to the list of the devices allowed for Onelab/Mobile beta development.
 
# Install the Onelab/Mobile application through iTunes by [https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html#//apple_ref/doc/uid/TP40012582-CH8-SW6 double-cliking on '''Onelab.ipa'''].
 
  
== Android ==
+
Advanced users can also directly edit the model input files: long-press on the model description and select '''Edit model files'''. To free up space, temporary model files (meshes, solution files) can be removed by long-pressing on the model description and selecting '''Clear results'''. To completey remove a model, long-press on the model description and select '''Remove'''.
  
# [https://developer.android.com/tools/publishing/publishing_overview.html#unknown-sources Allow the installation of non-Market apps] on your Android device (> Settings > Security > Unknown sources)
+
== Sharing a model ==
# Install the application:
 
## either download '''Onelab.apk''', upload it on your SD card and use a [https://play.google.com/store/search?q=file%20explorer&c=apps file explorer] to open it
 
## or use the Android SDK tool '''adb''' and install the file: <source lang="bash">adb install Onelab.apk</source>
 
## or use your web browser and directly download '''Onelab.apk''' on your device and install it
 
  
 +
To share a model by email, long-press on the model description and select '''Email model files'''.
  
= Compiling Onelab/Mobile =
+
== Installing a new model ==
  
 
+
To install a new model:
== Android ==
+
<ol>
 
+
<li>Put all the model files (.pro, .geo) in a directory, which should also contain a file named '''infos.xml''' with the model information:
 
 
= How to add a model =
 
== Android ==
 
On Android, you can open .geo, .pro files from a [https://play.google.com/store/search?q=file%20explorer&c=apps file explorer].
 
 
 
== iOS ==
 
To add a model on iOS you can use [http://support.apple.com/kb/HT4094 File Sharing]. <br />
 
The model has to be in a directory with extension ".onelab". <br />
 
Example for magnet: <br />
 
<code>
 
 
 
magnet.onelab/
 
    magnet.geo
 
    magnet.pro
 
    magnet_data.pro
 
    Magnetostatics.pro
 
    infos.xml
 
</code>
 
and the file "infos.xml" looks like:
 
 
<source lang="xml">
 
<source lang="xml">
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
 
 
<models>
 
<models>
        <model>
+
  <model>
                <title>Magnet</title>
+
    <title>Your model title</title>
                <summary>Simple magnet example.</summary>
+
    <summary>Your model summary</summary>
                <file type="pro">magnet.pro</file>
+
    <file type="pro">your_main_pro_file.pro</file>
        </model>
+
    <preview type="png">your_128x128_pixel_screenshot.png</preview>
 +
    <url>http://your_model_website.com</url>
 +
  </model>
 
</models>
 
</models>
 
</source>
 
</source>
 +
(See e.g. [http://onelab.info/files/inductor Inductor] or [http://onelab.info/files/waveguides Waveguides].)
 +
<li>[https://en.wikipedia.org/wiki/Zip_%28file_format%29 Zip] the directory.
 +
<li>Open the .zip file on your device (e.g. through iCloud, Dropbox or Google Drive; or by emailing it to yourself and opening the attachment; or by putting it on a web server and downloading the file on the device with Safari or Chrome).
 +
</ol>
 +
The new models will be extracted alongside the app's built-in models.
  
= Mobile - Build for iOS =
+
== Installing beta versions of Onelab/Mobile ==
Requirement:
 
* ''You need to be on a Mac''
 
* ''You need to have xcode >= 4''
 
* ''You need to have the iOS SDK >= 7.0''
 
== Compile the framework for iOS simulator ==
 
To compile for the simulator, the frameworks have to be for i386 architecture.
 
Example for Gmsh:
 
<source lang="bash">
 
mkdir buildIOSSimulator
 
cd buildIOSSimulator
 
cmake -DENABLE_LIB=1 -DDEFAULT=0 -DENABLE_BLAS_LAPACK=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_POST=1 -DCMAKE_CXX_FLAGS='-m32' ../
 
make framework
 
</source>
 
  
== Compile the frameworks for iOS device ==
+
Please send an email to mobile@onelab.info if you want to become a Onelab/Mobile beta-tester.
To compile for an iOS device you need a toolchain (e.g. [https://code.google.com/p/ios-cmake/ ios-cmake]).
 
<source lang="bash">
 
mkdir buildIOS
 
cd buildIOS
 
cmake -DDEFAULT=0 -DENABLE_LIB=1 -DENABLE_BLAS_LAPACK=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_POST=1 -DCMAKE_TOOLCHAIN_FILE=/path/to/iOS.cmake -Gxcode ../
 
xcodebuild -target lib -configuration Release
 
</source>
 
 
 
== Create the project ==
 
To create the project you have to create a new directory and then, create the project with cmake
 
<source lang="bash">
 
mkdir iOSProject
 
cd iOSProject
 
cmake ../contrib/mobile/
 
make xcodeProject
 
</source>
 
Then you can use "open" command to open the project with xcode.
 
<source lang="bash">open Onelab/Onelab.xcodeproj</source>
 
 
 
= Mobile - Build for Android =
 
''This procedure has been tested only on a Linux distribution''
 
<br />
 
Requirement:
 
* ''You need to have Android SDK with a level >= 14''
 
* ''You also need Android NDK to compile libraries''
 
== Compile the libraries ==
 
Most of the Android powered device run on an ARMv7 architecture. <br />
 
Here is the way to compile Gmsh library for this architecture. <br />
 
To do this, you need a toolchain (e.g [http://code.google.com/p/android-cmake/ android-cmake])<br />
 
<source lang="bash">
 
mkdir buildAndroid
 
cd buildAndroid
 
cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/android.toolchain.cmake -DDEFAULT=0 -DENABLE_LIB=1 -DENABLE_BLAS_LAPACK=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_POST=1 ../
 
make androidGmsh
 
</source>
 
 
 
== Create the project ==
 
The project need multiples libraries:
 
* Gmsh
 
* GetDP
 
* ONELAB (see below)
 
* PETSc
 
* BLAS & LAPACK
 
  
The ONELAB library is a small library to interface the application (Java) with Gmsh (Native library).
+
== Compiling Onelab/Mobile ==
You can build it from gmsh-svn (it's in /contrib/mobile/)
 
  
To use the automated cmake procedure you have to create a directory (e.g. Gmsh) with:
+
The Onelab/Mobile source code is available in the [http://gitlab.onelab.info/gmsh/gmsh/tree/master/contrib/mobile/ contrib/mobile directory of the Gmsh source code repository]. Build scripts are provided for [http://gitlab.onelab.info/gmsh/gmsh/tree/master/contrib/mobile/utils/ios_build.sh iOS] (requires a Mac with Xcode >= 6) and [http://gitlab.onelab.info/gmsh/gmsh/tree/master/contrib/mobile/utils/android_build.sh Android] (requires Android SDK >= 14 and the Android NDK).
* The library with directory name and without any extension (e.g. Gmsh)
 
* The headers (they can be obtain with "''make getHeaders''")
 
The final directory for Gmsh looks like<br />
 
<code>
 
 
 
Gmsh/
 
    Gmsh
 
    Headers/
 
        *.h
 
</code>
 
 
 
Then you can create the project:
 
<source lang="bash">
 
make androidProject
 
</source>
 
Then you can open the project with [https://developer.android.com/sdk/installing/bundle.html Eclipse] or with [https://developer.android.com/sdk/installing/studio.html Android Studio]
 
You can also compile using the command line:
 
<source lang="bash">
 
android update project --name Onelab --path . --target targetID
 
ant release
 
</source>
 

Latest revision as of 14:55, 13 April 2017

Onelab/Mobile is available for iOS (iPhone and iPad) and Android:

Onelab/Mobile contains Gmsh and GetDP and runs all computations locally on your mobile device.

Running a pre-packaged model

The list of available models appears when you launch the app. Selecting a model will load it. You can then press Run to launch a simulation with the default set of parameters. When available, additional information about a model can be obtained by long-pressing on the model description and selecting Visit model website.

Modifying a model

To run a model with different parameters, press Parameters and modify any of the presets. Then press Run again: all the simulation steps will be performed with the new parameter values. To restore the preset parameters values, press Reset.

Advanced users can also directly edit the model input files: long-press on the model description and select Edit model files. To free up space, temporary model files (meshes, solution files) can be removed by long-pressing on the model description and selecting Clear results. To completey remove a model, long-press on the model description and select Remove.

Sharing a model

To share a model by email, long-press on the model description and select Email model files.

Installing a new model

To install a new model:

  1. Put all the model files (.pro, .geo) in a directory, which should also contain a file named infos.xml with the model information:
    <?xml version="1.0" encoding="utf-8"?>
    <models>
      <model>
        <title>Your model title</title>
        <summary>Your model summary</summary>
        <file type="pro">your_main_pro_file.pro</file>
        <preview type="png">your_128x128_pixel_screenshot.png</preview>
        <url>http://your_model_website.com</url>
      </model>
    </models>
    

    (See e.g. Inductor or Waveguides.)

  2. Zip the directory.
  3. Open the .zip file on your device (e.g. through iCloud, Dropbox or Google Drive; or by emailing it to yourself and opening the attachment; or by putting it on a web server and downloading the file on the device with Safari or Chrome).

The new models will be extracted alongside the app's built-in models.

Installing beta versions of Onelab/Mobile

Please send an email to mobile@onelab.info if you want to become a Onelab/Mobile beta-tester.

Compiling Onelab/Mobile

The Onelab/Mobile source code is available in the contrib/mobile directory of the Gmsh source code repository. Build scripts are provided for iOS (requires a Mac with Xcode >= 6) and Android (requires Android SDK >= 14 and the Android NDK).