How to implement simulation on two LTSs?
If you have doubts about whether a certain type of relation exists, a good place to search is Rob van Glabbeek's extensive catalogue of such relations. That article is a bit dated by now, but still extremely comprehensive.


Linear Time-Branching Time Spectrum II, Robert J. van Glabbeek, 1993.


There are several papers on the algorithmic aspect. I would suggest the one below.


Generalizing the Paige-Tarjan Algorithm by Abstract Interpretation, by Francesco Ranzato and Francesco Tapparo


This paper provides a design-pattern for implementing partition-refinement style algorithms for checking bisimulation and simulation. The later sections of the paper are quite algorithmic. You could contact the authors and ask about their implementation.


Computing Stuttering Simulations by Francesco Ranzato and Francesco Tapparo


You asked about branching and not stuttering, but I think the contents of the above paper are very related to what you want.

There are some implementations that may help your study.


The Edinburgh Concurrency Workbench
The Concurrency Workbench of the New Century
Concurrency Workbench, Aalborg Edition


All the tools above implement checking equivalences of processes with respect to preorders; the third one is more recent and is also offered online.