Resolve "Introduce a single System handle class"
Closes #20
Step 1: MATLAB
-
wrap up structs and matrices always passed together (see Motivation) -
add stress_statefield andphase_field.init.StressState(uint8?) enumeration- instances:
PlaneStrain(int value1),PlaneStress(int value2) - if need to specify built-in numeric type to get integer value (e.g.
uint8(system.stress_state)), then instead addintread-only dependent property ofphase_field.init.StressStateenum - possible values are only:
'PLANE_STRAIN'(1) and'PLANE_STRESS'(2), else error
- instances:
- refactor into read-only dependent properties
-
num_materials
-
-
Rename or drop init.allin favour ofSystemconstructor-
opt. init.stiffness_matrixas a cached dependent property etc.
-
-
add diss_fctas a property
Step 2: F90
-
stress_state- no enums in F90 (came only in F2003), but refactor at least a small util to computealphafromSYSTEM%stress_stateandni=> put inscalar_utilsmodule;- utility function name:
freddi_factor
- utility function name:
-
[ ] optionally, passing objects to F90 via mex interface(instead to the task below)- look like this is only avail for C++ MEX Applications, cf. MATLAB Objects in MEX Functions docs => we need to either pass explicitly
SYSTEMstruct fields or, if still many after re-factoring, leaveSYSTEMstruct as a convenient way to pass multiple args
- look like this is only avail for C++ MEX Applications, cf. MATLAB Objects in MEX Functions docs => we need to either pass explicitly
-
[ ] try get rid of(moved to #39 (closed) )SYSTEMstructure and use instead explicitly parameters and structures needed by F90 functions
Edited by Ghost User