Trouble getting simple PMOS circuit to converge - help needed

I’m trying to simulate a soft-start circuit and have trouble getting it to converge. The circuit charges a capacitor via a large resistor and after reaching a certain voltage turns on a P-channel MOSFET to bypass the resistor. Did some other simulations with KiCad and ngspice before, but overall I’m mostly at the newbie level regarding ngspice so I’m probably doing something not quite correctly or not taking something into account that I should.

If I use a built-in PMOS model with only threshold voltage customised and an additional resistor to model RDS(on), it converges (but does not model the actual circuit well). As soon as I start adjusting more parameters (e.g. setting W and L) or replacing it with a vendor provided model (tried both Vishay SI2301CDS and A&O AO3401A models) it aborts with Timestep too small (or runs for a long time and crashes after running out of memory). The node it claims to have trouble with is somewhere around the MOSFET but otherwise not really helpful (sometimes it references S1 nodes, sometimes internal nodes on the MOSFET).

Any idea on how to get this circuit (see below) to converge with a more realistic MOSFET model?

I already tried replacing the voltage-controlled switch with a pulsed voltage source but couldn’t get it to work (most of the time the gate voltage was somehow following the C1 voltage rather than getting pulled up to the supply voltage by R7).

Schematic:
sim_ir_inrush

I wanted to attach the full KiCad project as a zip file (it’s just 10KB) but apparently as a new user I’m not allowed to do that.

PS: The MOSFET pin mappings are correct (had some fun with that at first); that’s not the reason it’s not converging.

Read:

Welcome to the community. I have not used NGSpice. But from the standpoint of a hardware tested design, I have used an available pulse waveform (from a downstream switcher) to pump up the gate of an Nch MOSFET. This makes a very nice linear soft start, if you ignore the tiny steps which correspond to each bit of gate charge coming from the charge pump.

R2 is a load. The component values here are only a quick guess (and depend upon pulse amplitude and frequency!) so this will require experimentation.