I have been trying to understand how to use the interactive version of
point loads. As I understand it, the load have as many rows as the number
of points you are applying the load to and the columns must be equal to the
spatial dimension.
I modified one of the examples for my own problem but get errors when I try
to run it: (Program & mesh file attached). If I use simple displacements
as a boundary condition, it works just fine. Any help would be appreciated.
Dennis
Traceback (most recent call last):
File "preambleLoadAA.py", line 105, in <module>
main()
File "preambleLoadAA.py", line 91, in main
vec = pb.solve()
File
"C:\Users\l620546\AppData\Local\Enthought\Canopy\User\lib\site-packages\s
fepy\discrete\problem.py", line 984, in solve
vec = solvers.nls(vec0, status=self.nls_status)
File
"C:\Users\l620546\AppData\Local\Enthought\Canopy\User\lib\site-packages\s
fepy\solvers\nls.py", line 303, in __call__
vec_r = fun(vec_x)
File
"C:\Users\l620546\AppData\Local\Enthought\Canopy\User\lib\site-packages\s
fepy\discrete\evaluate.py", line 52, in eval_residual
vec_r = self.problem.equations.eval_residuals(vec)
File
"C:\Users\l620546\AppData\Local\Enthought\Canopy\User\lib\site-packages\s
fepy\discrete\equations.py", line 655, in eval_residuals
self.evaluate(mode='weak', dw_mode='vector', asm_obj=out)
File
"C:\Users\l620546\AppData\Local\Enthought\Canopy\User\lib\site-packages\s
fepy\discrete\equations.py", line 591, in evaluate
term_mode=term_mode, asm_obj=asm_obj)
File
"C:\Users\l620546\AppData\Local\Enthought\Canopy\User\lib\site-packages\s
fepy\discrete\equations.py", line 824, in evaluate
term.assemble_to(asm_obj, val, iels, mode=dw_mode)
File
"C:\Users\l620546\AppData\Local\Enthought\Canopy\User\lib\site-packages\s
fepy\terms\terms.py", line 1483, in assemble_to
dc = vvar.get_dof_conn(dc_type, ig)
File
"C:\Users\l620546\AppData\Local\Enthought\Canopy\User\lib\site-packages\s
fepy\discrete\variables.py", line 1364, in get_dof_conn
dc = self.adof_conns[key]
KeyError: ('u', 'TopLoad', 'point', 20, False)