def create_noiseless_virtual_engine_from_device(
    processor_id: str,
    device: cirq.Device,
    device_specification: v2.device_pb2.DeviceSpecification | None = None,
) -> SimulatedLocalEngine:
    """Creates an Engine object with a single processor backed by a noiseless simulator.

    Creates a noiseless engine object based on the cirq simulator,
    a default validator, and a provided device.

    Args:
        processor_id: name of the virtual processor to simulate.
            Use `list_virtual_processors` to obtain available names.
        device: A `cirq.Device` to validate circuits against.
        device_specification: a` DeviceSpecification` proto that the processor
            should return if `get_device_specification()` is queried.
    """
    return SimulatedLocalEngine(
        [_create_virtual_processor_from_device(processor_id, device, device_specification)]
    )
Creates an Engine object with a single processor backed by a noiseless simulator.

    Creates a noiseless engine object based on the cirq simulator,
    a default validator, and a provided device.

    Args:
        processor_id: name of the virtual processor to simulate.
            Use `list_virtual_processors` to obtain available names.
        device: A `cirq.Device` to validate circuits against.
        device_specification: a` DeviceSpecification` proto that the processor
            should return if `get_device_specification()` is queried.
    
cirq-google/cirq_google/engine/virtual_engine_factory.py