This is one approach. Others may suggest solutions that are more adequate for you. Full disclosure, I co-authored the following solution with Dan Macumber.
If you're willing to use OpenStudio (App or SDK) as an intermediate tool, you can try out the Thermal Bridging and Derating (TBD) measure. It will automate the tasks you're describing, aside from customizing the actual PSI-factors you have on hand. A good idea is to first peruse the online Guide, then maybe go through a handful of UMH posts (here, here and here).
IDF geometry (i.e. surfaces) and constructions, once imported using OpenStudio, remain generally intact (i.e. no information loss). So it's usually safe to:
- import an IDF file
- apply TBD to the (newly created) OSM model
- export an (updated) IDF file
... before adding HVAC, lighting, etc. This works well when importing a bare-bones IDF: geometry + constructions.
If your model is instead in an advanced state (complete with HVAC, lighting, etc.), then the import IDF > apply TBD > export IDF route becomes trickier. In a nutshell, OpenStudio doesn't import HVAC, lighting, SHW, etc. So one would avoid building directly upon an exported IDF in such circumstances. Instead, one would ideally use some script-based macro (e.g. Python, Ruby) to:
- parse the exported IDF to recover the newly created, surface-specific (derated) constructions/materials
- then replace the initial constructions/materials in the original IDF, with these new surface-specific derated materials/constructions.
This is fairly straightforward, as TBD relies on a surface's name (e.g. "North Office Wall") to label its new derated construction ("North Office Wall c tbd") and its derated insulated material ("North Office Wall m tbd").
I've helped out EnergyPlus users with this approach in the past, even IES-VE users (via gbXML). I admit however that this isn't ideal if one is unfamiliar with scripting macros.
I hope this may be of some help.