Getting Started¶
The JCMsuite
Matlab interface is placed in the sub-folder ThirdPartySupport/Matlab
relative to the JCMsuite
installation directory (here called JCMROOT). To use the JCMsuite
Matlab interface it is required to add this path to the Matlab search path:
jcm_root = <JCMROOT> % -> set your JCMROOT installation directory
addpath(fullfile(jcm_root, 'ThirdPartySupport', 'Matlab'));
Or, when the environmental variable JCMROOT
is set, e.g., on Windows:
addpath(fullfile(getenv('JCMROOT'), 'ThirdPartySupport', 'Matlab'));
Use the command jcmwave_info
to check that the Matlab interface is now properly available:
jcm_root = <JCMROOT> % -> set your JCMROOT installation directory
addpath(fullfile(jcm_root, 'ThirdPartySupport', 'Matlab'));
%% call jcmwave_info to check the JCMsuite installation
jcmwave_info;
This will give details on the status of your JCMsuite
installation, e.g., the JCMsuite
version in use, license information and system properties such as the number of available CPU cores.
The entire Matlab interface consists of the following routines:
- jcmwave_geo.m: Wraps JCMsuite’s command line tool
JCMgeo
.- jcmwave_info.m: Prints installation and system details.
- jcmwave_jcmt2jcm.m: Tool for Embedded Scripting support.
- jcmwave_load.m: Loads an object in
.jcm
format (either table or cartesian field).- jcmwave_loadtable.m: Loads table in
.jcm
format.- jcmwave_loadcartesianfields.m: Loads cartesian fieldbag in
.jcm
format.- jcmwave_loadtable.m: Loads table in
.jcm
format.- jcmwave_set_memory_limit.m: Sets the maximum amount of RAM used by the
JCMsolve
- jcmwave_set_num_threads.m: Sets number of used CPU cores.
- jcmwave_set_ooc_drive.m: Sets swapping directory for out-of-core computation.
- jcmwave_solve.m: Wraps JCMsuite’s command line tool
JCMsolve
.- jcmwave_startup.m: Initialize the matlab interface.
- jcmwave_view.m: Wraps JCMsuite’s fieldbag viewer.
- Daemon Command Reference: This bunch of matlab routines helps to parallelize jobs on a computer cluster.
- Analysis and Optimization Toolkit: These bunch of matlab routines help to perform, e.g., optimizations of parametrized setups.
All routines provide detailed online help, e.g., use
help jcmwave_solve
to obtain help on jcmwave_solve
.