Note: this page was written quite some time ago, but some inspiration from Pyramid #3/83: Alternate GURPS IV and
Pyramid #3/120: Alternate GURPS V made me want to update it.
While there are some distinct advantages to linear damage scales,
they tend to break down outside of a fairly small range of game scales;
GURPS damage is inconvenient when dealing with vehicles or giant
monsters, and completely unusable when dealing with small animals (there
just isn't enough resolution in the game system to distinguish between a
mouse and a grasshopper). One traditional solution to this has been
some sort of logarithmic damage system, converting an extreme range of
damages into a simple linear measure. There are a number of difficulties
with logarithmic systems as well (in particular, barrier penetration
can be an issue, and invariant hit points can be puzzling), but at times
they can be easier to handle than the linear problems. The method below
is slightly complex in setup, but should be fast enough in actual play.
The LogD Table
The first key thing is the LogD table. This is used to convert
GURPS damage (linear in penetration) to logarithmic damage. This uses a
scale of x10 damage = +30 (if combined with KYoS, it works out to damage
being proportional to the 1/3 power of energy), or you can just use a
calculator; LogD = log10(damage) x 30. If using the table, find the
exact value by finding your damage in the bulk of the table, then
summing the top row and the left column corresponding to that value;
thus, 27 damage is LogD 43. This will be used in multiple places below.
LogD 
+0 
+1 
+2 
+3 
+4 
+5 
+6 
+7 
+8 
+9 
+0 
1 








2 
+10 




3 



4 

+20 

5 


6 

7 

8 
9 
+30 
10 
11 
12 
13 
14 
15 
16 
17 
18 
20 
+40 
22 
23 
25 
27 
29 
31 
34 
37 
40 
43 
+50 
46 
50 
54 
58 
63 
68 
74 
80 
86 
93 
+60 
100 
110 
120 
130 
140 
150 
160 
170 
185 
200 
+70 
215 
230 
250 
270 
290 
315 
340 
370 
400 
430 
It's also important to have the Addition table and the Subtraction
table. To use the addition table, look up the difference between two
LogD values; your final value is the larger value plus the resulting
value from the table below. For subtraction, the effect is completely negated if the subtracted value is equal or greater than the initial value, otherwise reduce the initial value based on the difference, like addition.
Diff 
01 
23 
45 
68 
911 
1215 
1620 
2127 
2840 
41+ 
Addition 
+9 
+8 
+7 
+6 
+5 
+4 
+3 
+2 
+1 
+0 
Diff 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
Subtraction 
34 
25 
21 
17 
15 
13 
11 
10 
9 
8 
Diff 
1112 
1314 
1516 
1718 
1922 
2328 
2940 
41+ 


Subtraction 
7 
6 
5 
4 
3

2 
1 
0 


Attack Stats: Penetration and Wound Modifier
All attacks have two stats: Penetration and Wound Modifier. To
determine penetration, look up the average damage of the attack on the
LogD table, then add 3d610  e.g. a 3d6 attack in GURPS (average
damage 10 = LogD 30) becomes 3d6+20. If you like roll low, instead add
11 and your damage is your margin of success (so a 3d6 attack becomes
skill 41). Wound modifiers are as follows:
 Pi: WM 2
 Bu, Cor, Cr, Pi, Tox: WM +0
 Cut, Pi+: WM +1
 Imp, Pi++: WM +2
 AP(0.5): Pen 10, WM +2.
 AP(2): Pen +10, WM 2.
 AP(3): Pen +15, WM 3.
 AP(5): Pen +20, WM 4.
 AP(10): Pen +30, WM 6.
Denote this as 3d±X[±Y].
There is an
important exception to this: STbased attacks. An attack that does
Thrust damage is treated as having average LogD equal to ST (so ST 10 is
average damage 10, meaning 3d6 damage or rolling vs a 21). An attack
that does Swing damage is treated as having average LogD equal to ST+8.
In the case of a flat add, look up the value of the flat add on the LogD
table, then use the Addition table to add it to Thrust or Swing (e.g.
at ST 10, a broadsword doing thrust+2 imp means average LogD 10 for ST,
average LogD 9 for +2, and per the Addition table we start with 10, add
+9 because the difference between the two values is 1, and final average
damage is 19, or 3d+9[+2]). Note that this is trying to match standard GURPS behavior, which isn't really all that realistic and has very low resolution in the human scale, treating all damage bonuses as perdie bonuses instead of flat adds (and thus multiplying by 3) may be more sensible.
There is another useful exception to this: guns. Energy weapons and
cannons generally follow a cubic formula, but small arms tend to follow
a quadratic formula, and thus wounding is a bit high for a given
penetration value. If average penetration is more than 30, add a WM of
1 per additional 15 points (so 1 at average 45, or about a 9d attack,
2 at average 60, or a 29d attack). This does not apply to cannonclass
munitions.
Target Stats: Armor and Toughness
Targets have two corresponding stats: armor and toughness. They are computed very simply:
 Armor: look up your DR on the LogD table. If the target has multiple layers, either add them before looking them up, or use the addition table (above) to add up their log values.
 Toughness: for characters using KYoS, Toughness is equal to ST10. For objects, you can either look up their HP on the LogD table and subtract 30, or you can look up their weight on the BL chart for KYoS (so a 2 lb object is 0) and subtract 9 if the object is unliving or mechanical (these methods have the same results).
Basic Damage Resolution
The fundamental way of resolving damage is as follows:
 Roll penetration.
 If the target has armor, compare resulting penetration to the target's armor and use the subtraction table above. This can be repeated for multiple armor layers.
 Subtract target's Toughness, and divide result by 5. This is basic wound level.
 Add the weapon's wound modifier. Apply additional modifiers as following:
 Impaling or Piercing vs Unliving: 2 (Basic is actually 2 or 3)
 Impaling or Piercing vs Homogeneous: 4 (Basic is actually 4 or 5)
 Diffuse: cap wound level at 1 or 2.
 Impaling or Piercing vs Limbs: 2
 Vitals: +2 (Basic ranges from +1 for Imp to +5 for Pi)
 Skull: +3 (Basic ranges from +2 to +6)
 Injury Tolerance(Damage Reduction): subtract level.
Note that this has some deliberate variances from RAW (mostly, location modifiers stack with weapon size instead of replacing, and modifiers are made constant rather than varying slightly by weapon size).
Computing Raw and Armored Wound Thresholds
Start by computing Raw Wound Thresholds. They have the following values:
Level 
Value 
Effect 
0 
ST10 
1 Shock Penalty

1 
ST5 
1 Shock Penalty; sufficient to disable Eyes. 
2 
ST 
2 Shock Penalty.

3 
ST+5 
3 Shock Penalty; sufficient to disable Extremities.

4

ST+10 
Major Wound; sufficient to disable Limbs.

5 
ST+15 
Reeling (as below 1/3 HP)

6 
ST+20 
Disabled (as at 0 hp or below)

7 
ST+25 
Death Check, 1 to consciousness rolls per death check. 5 death checks is automatic death.

8 
ST+25 
Death Check x2.

9 
ST+30 
Death Check x4.

10 
ST+35 
Dead (unless Unkillable)

11 
ST+40 
Dead (even if Unkillable)

Additional rows may be generated if useful, at +5 per row. Unless
attacks with extreme armor divisors will be common, it is probably not
useful to do so.
To generate armored wound
thresholds, look up your DR on the LogD table, and use the Addition
table to add it to your unarmored wound thresholds. For example,
consider a character with ST 10 wearing DR 4 armor (LogD 18). The table
would look as follows:
Level 
Raw

Armored 
Effect 
0 
10 
19 
No direct effect, but can be affected by wounding modifiers or cascading.

1 
0 
21 
1 Shock Penalty; sufficient to disable Eyes 
2 
10 
24 
2 Shock Penalty

3 
15 
26 
3 Shock Penalty; sufficient to disable Extremities

4

20 
28 
Major Wound; sufficient to disable Limbs.

5 
25 
31 
Reeling (as below 1/3 HP)

6 
30 
34 
Disabled (as at 0 hp or below)

7 
35 
38 
Death Check, 1 to consciousness rolls per death check. 5 death checks is automatic death.

8 
40 
42 
Death Check x2.

9 
45 
47 
Death Check x4.

10 
50 
51 
Dead (unless Unkillable)

11 
55 
56 
Dead (even if Unkillable)

If you want to use a spreadsheet, don't bother with the addition table, just do direct math, in which case, AWT = round(log10(DR + power(10,RWT/30))*30). A sample spreadsheet is here (make a copy if you wish to use it directly).
Damage Resolution
Damage resolution is normally very
simple: roll LogD, as computed above. Look up the result on the Armored
WT table. If level is 1+, apply any WMs. This will be the effect. Note
that the character has a wound of the indicated level. Shock penalties
last for one turn, all other penalties apply based on the worst wound
you have.
Cumulative Damage
If you suffer a
wound of the same level as one you already have, it might cascade. Roll
1d; on a 46 increase the level by 1 and try to apply that level. Repeat
until you either roll 13, fill a wound of a level you don't have, or
hit a death check. Cascading does not affect shock penalties, disabling
limbs, or major wounds. Death checks are cumulative. Attacks that ignore DR use the Raw table.
Barriers
If you have to penetrate a barrier, you need the Subtraction table (using the attack's penetration reduced by the barrier's rating). You can in principle use this for worn armor as well, it produces the same results within its resolution, but it's more math so you generally don't want to. For example, consider a penetration 30 effect against the character above. Normally, you just look up 30 and get a wound level of 4. If you use subtraction, you have a penetration 30 attack against a penetration 18 barrier, so you subtract 7 (reducing penetration to 23) and look that up on the raw table, resulting in, once again, wound level 4.