Resolve "Introduce a single System handle class"
Closes #20
Step 1: MATLAB
-
wrap up structs and matrices always passed together (see Motivation) -
add stress_state
field 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 addint
read-only dependent property ofphase_field.init.StressState
enum - 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.all
in favour ofSystem
constructor-
opt. init.stiffness_matrix
as a cached dependent property etc.
-
-
add diss_fct
as a property
Step 2: F90
-
stress_state
- no enums in F90 (came only in F2003), but refactor at least a small util to computealpha
fromSYSTEM%stress_state
andni
=> put inscalar_utils
module;- 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
SYSTEM
struct fields or, if still many after re-factoring, leaveSYSTEM
struct 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) )SYSTEM
structure and use instead explicitly parameters and structures needed by F90 functions
Edited by Ghost User