kwargs flexibility not needed
the number of supported entries is rather limited, so guide the user using explicit arguments
This commit is contained in:
parent
3fd34c6e05
commit
cdaddf8e6f
|
@ -415,23 +415,39 @@ class ConfigMaterial(Config):
|
||||||
return dup
|
return dup
|
||||||
|
|
||||||
|
|
||||||
def material_add(self,
|
def material_add(self,*,
|
||||||
**kwargs: Any) -> 'ConfigMaterial':
|
homogenization: Any = None,
|
||||||
|
phase: Any = None,
|
||||||
|
v: Any = None,
|
||||||
|
O: Any = None,
|
||||||
|
V_e: Any = None) -> 'ConfigMaterial':
|
||||||
"""
|
"""
|
||||||
Add material entries.
|
Add material entries.
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
----------
|
----------
|
||||||
**kwargs
|
homogenization: (array-like) of str, optional
|
||||||
Key-value pairs.
|
Homogenization label.
|
||||||
First index of array-like values runs over materials,
|
phase: (array-like) of str, optional
|
||||||
whereas second index runs over constituents.
|
Phase label (per constituent).
|
||||||
|
v: (array-like) of float, optional
|
||||||
|
Constituent volume fraction (per constituent).
|
||||||
|
O: (array-like) of damask.Rotation or np.array/list of shape(4), optional
|
||||||
|
Orientation as unit quaternion (per constituent).
|
||||||
|
V_e: (array-like) of np.array/list of shape(3,3), optional
|
||||||
|
Left elastic stretch (per constituent).
|
||||||
|
|
||||||
Returns
|
Returns
|
||||||
-------
|
-------
|
||||||
updated : damask.ConfigMaterial
|
updated : damask.ConfigMaterial
|
||||||
Updated material configuration.
|
Updated material configuration.
|
||||||
|
|
||||||
|
Notes
|
||||||
|
-----
|
||||||
|
First index of array-like values that are defined per
|
||||||
|
consituent runs over materials, whereas second index runs
|
||||||
|
over constituents.
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
--------
|
--------
|
||||||
Create two grains of ferrite and one grain of martensite, each with random orientation:
|
Create two grains of ferrite and one grain of martensite, each with random orientation:
|
||||||
|
@ -509,6 +525,10 @@ class ConfigMaterial(Config):
|
||||||
phase: {Austenite: null, Ferrite: null}
|
phase: {Austenite: null, Ferrite: null}
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
kwargs = {}
|
||||||
|
for keyword,value in zip(['homogenization','phase','v','O','V_e'],[homogenization,phase,v,O,V_e]):
|
||||||
|
if value is not None: kwargs[keyword] = value
|
||||||
|
|
||||||
_constituent_properties = ['phase','O','v','V_e']
|
_constituent_properties = ['phase','O','v','V_e']
|
||||||
_dim = {'O':(4,),'V_e':(3,3,)}
|
_dim = {'O':(4,),'V_e':(3,3,)}
|
||||||
_ex = dict((k, -len(v)) for k, v in _dim.items())
|
_ex = dict((k, -len(v)) for k, v in _dim.items())
|
||||||
|
|
Loading…
Reference in New Issue