@@ -742,13 +742,8 @@ def log_network(*args, **kwargs):
742742 )
743743 # Construct loss and optimizer
744744 laplacian_method = cfg .optim .get ('laplacian' , 'default' )
745+ pp_symbols = cfg .system .get ('pp' , {'symbols' : None }).get ('symbols' )
745746 if cfg .system .make_local_energy_fn :
746- if laplacian_method != 'default' :
747- raise NotImplementedError (f'Laplacian method { laplacian_method } '
748- 'not yet supported by custom local energy fns.' )
749- if cfg .optim .objective == 'vmc_overlap' :
750- raise NotImplementedError ('Overlap penalty not yet supported for custom'
751- 'local energy fns.' )
752747 local_energy_module , local_energy_fn = (
753748 cfg .system .make_local_energy_fn .rsplit ('.' , maxsplit = 1 ))
754749 local_energy_module = importlib .import_module (local_energy_module )
@@ -758,10 +753,15 @@ def log_network(*args, **kwargs):
758753 charges = charges ,
759754 nspins = nspins ,
760755 use_scan = False ,
756+ complex_output = use_complex ,
757+ laplacian_method = laplacian_method ,
761758 states = cfg .system .get ('states' , 0 ),
762- ** cfg .system .make_local_energy_kwargs )
759+ state_specific = (cfg .optim .objective == 'vmc_overlap' ),
760+ pp_type = cfg .system .get ('pp' , {'type' : 'ccecp' }).get ('type' ),
761+ pp_symbols = pp_symbols if cfg .system .get ('use_pp' ) else None ,
762+ ** cfg .system .make_local_energy_kwargs ,
763+ )
763764 else :
764- pp_symbols = cfg .system .get ('pp' , {'symbols' : None }).get ('symbols' )
765765 local_energy_fn = hamiltonian .local_energy (
766766 f = signed_network ,
767767 charges = charges ,
0 commit comments