@@ -110,29 +110,29 @@ set_elem_operation_object(MAST::TransientAssemblyElemOperations &assembly_ops) {
110110
111111 nm = " transient_solution_" ;
112112 nm += iter.str ();
113- sys.add_vector (nm);
113+ sys.add_vector (nm, true , libMesh::GHOSTED );
114114
115115 nm = " transient_solution_sensitivity_" ;
116116 nm += iter.str ();
117- sys.add_vector (nm);
117+ sys.add_vector (nm, true , libMesh::GHOSTED );
118118 }
119119
120120 // add the velocity
121121 nm = " transient_velocity_" ;
122122 nm += iter.str ();
123- sys.add_vector (nm);
123+ sys.add_vector (nm, true , libMesh::GHOSTED );
124124 nm = " transient_velocity_sensitivity_" ;
125125 nm += iter.str ();
126- sys.add_vector (nm);
126+ sys.add_vector (nm, true , libMesh::GHOSTED );
127127
128128 if (_ode_order > 1 ) {
129129 // add the acceleration
130130 nm = " transient_acceleration_" ;
131131 nm += iter.str ();
132- sys.add_vector (nm);
132+ sys.add_vector (nm, true , libMesh::GHOSTED );
133133 nm = " transient_acceleration_sensitivity_" ;
134134 nm += iter.str ();
135- sys.add_vector (nm);
135+ sys.add_vector (nm, true , libMesh::GHOSTED );
136136 }
137137 }
138138
@@ -211,7 +211,7 @@ MAST::TransientSolverBase::solution(unsigned int prev_iter) const {
211211 return _system->system ().get_vector (nm);
212212 }
213213 else
214- return *_system->system ().solution ;
214+ return *_system->system ().current_local_solution ;
215215}
216216
217217
@@ -406,6 +406,8 @@ solve_highest_derivative_and_advance_time_step(MAST::AssemblyBase& assembly) {
406406 sys.get_dof_map ().enforce_constraints_exactly (sys, vec, /* homogeneous = */ true );
407407#endif
408408
409+ sys.update ();
410+
409411 // next, move all the solutions and velocities into older
410412 // time step locations
411413 for (unsigned int i=_n_iters_to_store-1 ; i>0 ; i--) {
@@ -756,10 +758,11 @@ MAST::TransientSolverBase::advance_time_step() {
756758 &sys = _system->system ();
757759
758760 // first ask the solver to update the velocity and acceleration vector
759- update_velocity (this ->velocity (), *sys.solution );
761+ sys.update ();
762+ update_velocity (this ->velocity (), *sys.current_local_solution );
760763
761764 if (_ode_order > 1 )
762- update_acceleration (this ->acceleration (), *sys.solution );
765+ update_acceleration (this ->acceleration (), *sys.current_local_solution );
763766
764767 // next, move all the solutions and velocities into older
765768 // time step locations
0 commit comments