def CreateUnAssignmentProcess(self, params):
     params["compound_assignment"].SetString(self.GetInverseAssigment(self.settings["compound_assignment"].GetString()))
     if( self.value_is_numeric ):
         self.UnAssignValueProcess = PfemFluid.AssignScalarToEntitiesProcess(self.model_part, params)
     else:
         if( self.value_is_current_value ):
             self.UnAssignValueProcess = KratosMultiphysics.Process() #void process
         else:
             self.UnAssignValueProcess = PfemFluid.AssignScalarFieldToEntitiesProcess(self.model_part, self.compiled_function, "function",  self.value_is_spatial_function, params)
    def CreateAssignmentProcess(self, params):

        params["variable_name"].SetString(self.settings["variable_name"].GetString())
        if( self.value_is_numeric ):
            params.AddEmptyValue("value").SetDouble(self.value)
            params.AddEmptyValue("entity_type").SetString("NODES")
            self.AssignValueProcess = PfemFluid.AssignScalarToEntitiesProcess(self.model_part, params)
        else:
            if( self.value_is_current_value ):
                self.AssignValueProcess = KratosMultiphysics.Process() #void process
            else:
                params.AddEmptyValue("entity_type").SetString("NODES")
                self.AssignValueProcess = PfemFluid.AssignScalarFieldToEntitiesProcess(self.model_part, self.compiled_function, "function",  self.value_is_spatial_function, params)


        # in case of going to previous time step for time step reduction
        self.CreateUnAssignmentProcess(params)