On Thu, 22 Dec 2011, Torsten Bronger wrote:
Hall�chen!
Robert Cimrman writes:
On 12/21/11 19:11, Torsten Bronger wrote:
Torsten Bronger writes:
[...]
I added the second line of
m = Material("m", lam=1.0, mu=1.0) m.D = stiffness_tensor_youngpoisson(2, young, poisson)
This must be:
m = Material("m", lam=1.0, mu=1.0, D=stiffness_tensor_youngpoisson(2, young, poisson))
Even the way above should work, right?
No, it doesn't work here.
Traceback (most recent call last): File "asi_breaker.py", line 141, in <module> main() File "asi_breaker.py", line 134, in main pb.save_state("linear_elasticity.vtk", vec, post_process_hook=stress_strain) File "/home/bronger/sfepy/sfepy/fem/problemDef.py", line 661, in save_state out = post_process_hook( out, self, state, extend = extend ) File "asi_breaker.py", line 74, in stress_strain stress = ev(b"de_cauchy_stress.2.Omega(silicon.D, u)", mode="el_avg") File "/home/bronger/sfepy/sfepy/fem/problemDef.py", line 1160, in evaluate mode=mode, dw_mode=dw_mode, term_mode=term_mode) File "/home/bronger/sfepy/sfepy/fem/evaluate.py", line 280, in eval_equations asm_obj=asm_obj) File "/home/bronger/sfepy/sfepy/fem/equations.py", line 505, in evaluate asm_obj=asm_obj) File "/home/bronger/sfepy/sfepy/fem/equations.py", line 716, in evaluate ret_status=True) File "/home/bronger/sfepy/sfepy/terms/terms.py", line 1418, in evaluate args = self.get_args(**kwargs) File "/home/bronger/sfepy/sfepy/terms/terms.py", line 957, in get_args ig, par_name) File "/home/bronger/sfepy/sfepy/fem/materials.py", line 354, in get_data return self._get_data( key, ig, name ) File "/home/bronger/sfepy/sfepy/fem/materials.py", line 380, in _get_data return datas[ig][name] KeyError: 'D'
Yes, sorry, I was wrong. The data attributes have to be passed all when creating the instance (the second way above).
Cheers, r.